Re: [PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Greg KH
On Sat, Dec 08, 2018 at 02:14:47PM +0100, Kirill Marinushkin wrote:
> >> First problem: I cannot compile the kernel with my version of compiler
> 
> >> Second problem: when I disable the feature - it cannot take effect,
> >> because the parse-time error happens before `syncconfig`
> 
> On 12/08/18 13:42, Borislav Petkov wrote:
> > Does this help?
> > 
> > https://git.kernel.org/tip/25896d073d8a0403b07e6dec56f58e6c33678207
> > 
> 
> The patch which you mentioned fixes the second problem: now I can disable
> CONFIG_RETPOLINE.
> But, the first problem is still here: with defconfig and gcc v6.4.0, kernel
> doesn't build, with this message:
> 
> 
> $ make
> scripts/kconfig/conf  --syncconfig Kconfig
> You are building kernel with non-retpoline compiler.
> Please update your compiler.
> make: *** [arch/x86/Makefile:311: checkbin] Error 1
> 
> 
> I don't think that this is a proper behavior. I suggest to allow compilation

No, you asked for retpoline, and your compiler can not provide that, so
erroring out is the correct behavior.  It is worse for you to have an
option enabled and it not being enabled just because your compiler does
not support it.  That way you do not have the false sense of security.

thanks,

greg k-h


Re: [PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Greg KH
On Sat, Dec 08, 2018 at 02:14:47PM +0100, Kirill Marinushkin wrote:
> >> First problem: I cannot compile the kernel with my version of compiler
> 
> >> Second problem: when I disable the feature - it cannot take effect,
> >> because the parse-time error happens before `syncconfig`
> 
> On 12/08/18 13:42, Borislav Petkov wrote:
> > Does this help?
> > 
> > https://git.kernel.org/tip/25896d073d8a0403b07e6dec56f58e6c33678207
> > 
> 
> The patch which you mentioned fixes the second problem: now I can disable
> CONFIG_RETPOLINE.
> But, the first problem is still here: with defconfig and gcc v6.4.0, kernel
> doesn't build, with this message:
> 
> 
> $ make
> scripts/kconfig/conf  --syncconfig Kconfig
> You are building kernel with non-retpoline compiler.
> Please update your compiler.
> make: *** [arch/x86/Makefile:311: checkbin] Error 1
> 
> 
> I don't think that this is a proper behavior. I suggest to allow compilation

No, you asked for retpoline, and your compiler can not provide that, so
erroring out is the correct behavior.  It is worse for you to have an
option enabled and it not being enabled just because your compiler does
not support it.  That way you do not have the false sense of security.

thanks,

greg k-h


Re: [PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Kirill Marinushkin
>> First problem: I cannot compile the kernel with my version of compiler

>> Second problem: when I disable the feature - it cannot take effect,
>> because the parse-time error happens before `syncconfig`

On 12/08/18 13:42, Borislav Petkov wrote:
> Does this help?
> 
> https://git.kernel.org/tip/25896d073d8a0403b07e6dec56f58e6c33678207
> 

The patch which you mentioned fixes the second problem: now I can disable
CONFIG_RETPOLINE.
But, the first problem is still here: with defconfig and gcc v6.4.0, kernel
doesn't build, with this message:


$ make
scripts/kconfig/conf  --syncconfig Kconfig
You are building kernel with non-retpoline compiler.
Please update your compiler.
make: *** [arch/x86/Makefile:311: checkbin] Error 1


I don't think that this is a proper behavior. I suggest to allow compilation

Best Regards,
Kirill


Re: [PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Kirill Marinushkin
>> First problem: I cannot compile the kernel with my version of compiler

>> Second problem: when I disable the feature - it cannot take effect,
>> because the parse-time error happens before `syncconfig`

On 12/08/18 13:42, Borislav Petkov wrote:
> Does this help?
> 
> https://git.kernel.org/tip/25896d073d8a0403b07e6dec56f58e6c33678207
> 

The patch which you mentioned fixes the second problem: now I can disable
CONFIG_RETPOLINE.
But, the first problem is still here: with defconfig and gcc v6.4.0, kernel
doesn't build, with this message:


$ make
scripts/kconfig/conf  --syncconfig Kconfig
You are building kernel with non-retpoline compiler.
Please update your compiler.
make: *** [arch/x86/Makefile:311: checkbin] Error 1


I don't think that this is a proper behavior. I suggest to allow compilation

Best Regards,
Kirill


Re: [PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Borislav Petkov
On Sat, Dec 08, 2018 at 01:38:16PM +0100, Kirill Marinushkin wrote:
> First problem: I cannot compile the kernel with my version of compiler
> 
> 
> $ make defconfig
> *** Default configuration is based on 'i386_defconfig'
> \#
> \# configuration written to .config
> \#
> $ grep CONFIG_RETPOLINE .config
> CONFIG_RETPOLINE=y
> $ make
> arch/x86/Makefile:224: *** You are building kernel with non-retpoline
> compiler, please update your compiler..  Stop.
> 

Does this help?

https://git.kernel.org/tip/25896d073d8a0403b07e6dec56f58e6c33678207

-- 
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.


Re: [PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Borislav Petkov
On Sat, Dec 08, 2018 at 01:38:16PM +0100, Kirill Marinushkin wrote:
> First problem: I cannot compile the kernel with my version of compiler
> 
> 
> $ make defconfig
> *** Default configuration is based on 'i386_defconfig'
> \#
> \# configuration written to .config
> \#
> $ grep CONFIG_RETPOLINE .config
> CONFIG_RETPOLINE=y
> $ make
> arch/x86/Makefile:224: *** You are building kernel with non-retpoline
> compiler, please update your compiler..  Stop.
> 

Does this help?

https://git.kernel.org/tip/25896d073d8a0403b07e6dec56f58e6c33678207

-- 
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.


[PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Kirill Marinushkin
First problem: I cannot compile the kernel with my version of compiler


$ make defconfig
*** Default configuration is based on 'i386_defconfig'
\#
\# configuration written to .config
\#
$ grep CONFIG_RETPOLINE .config
CONFIG_RETPOLINE=y
$ make
arch/x86/Makefile:224: *** You are building kernel with non-retpoline
compiler, please update your compiler..  Stop.


Second problem: when I disable the feature - it cannot take effect,
because the parse-time error happens before `syncconfig`


$ scripts/config -d RETPOLINE
$ grep CONFIG_RETPOLINE .config
\# CONFIG_RETPOLINE is not set
$ make
arch/x86/Makefile:224: *** You are building kernel with non-retpoline
compiler, please update your compiler..  Stop.


Fixes: 4cd24de3a098 ("x86/retpoline: Make CONFIG_RETPOLINE depend on compiler 
support")

Signed-off-by: Kirill Marinushkin 
Cc: Thomas Gleixner 
Cc: Ingo Molnar 
Cc: Borislav Petkov 
Cc: Zhenzhong Duan 
Cc: H. Peter Anvin 
Cc: x...@kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: sta...@vger.kernel.org
---
 arch/x86/Makefile | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index f5d7f4134524..26a2198c59b3 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -220,9 +220,6 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
 
 # Avoid indirect branches in kernel to deal with Spectre
 ifdef CONFIG_RETPOLINE
-ifeq ($(RETPOLINE_CFLAGS),)
-  $(error You are building kernel with non-retpoline compiler, please update 
your compiler.)
-endif
   KBUILD_CFLAGS += $(RETPOLINE_CFLAGS)
 endif
 
-- 
2.13.6



[PATCH] x86/retpoline: Fix forcing me to update my compiler

2018-12-08 Thread Kirill Marinushkin
First problem: I cannot compile the kernel with my version of compiler


$ make defconfig
*** Default configuration is based on 'i386_defconfig'
\#
\# configuration written to .config
\#
$ grep CONFIG_RETPOLINE .config
CONFIG_RETPOLINE=y
$ make
arch/x86/Makefile:224: *** You are building kernel with non-retpoline
compiler, please update your compiler..  Stop.


Second problem: when I disable the feature - it cannot take effect,
because the parse-time error happens before `syncconfig`


$ scripts/config -d RETPOLINE
$ grep CONFIG_RETPOLINE .config
\# CONFIG_RETPOLINE is not set
$ make
arch/x86/Makefile:224: *** You are building kernel with non-retpoline
compiler, please update your compiler..  Stop.


Fixes: 4cd24de3a098 ("x86/retpoline: Make CONFIG_RETPOLINE depend on compiler 
support")

Signed-off-by: Kirill Marinushkin 
Cc: Thomas Gleixner 
Cc: Ingo Molnar 
Cc: Borislav Petkov 
Cc: Zhenzhong Duan 
Cc: H. Peter Anvin 
Cc: x...@kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: sta...@vger.kernel.org
---
 arch/x86/Makefile | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index f5d7f4134524..26a2198c59b3 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -220,9 +220,6 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
 
 # Avoid indirect branches in kernel to deal with Spectre
 ifdef CONFIG_RETPOLINE
-ifeq ($(RETPOLINE_CFLAGS),)
-  $(error You are building kernel with non-retpoline compiler, please update 
your compiler.)
-endif
   KBUILD_CFLAGS += $(RETPOLINE_CFLAGS)
 endif
 
-- 
2.13.6