linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/microcode: make stub function static inline
@ 2019-12-06  3:44 Valdis Klētnieks
  2019-12-11 21:38 ` Borislav Petkov
  2019-12-12 21:33 ` [tip: x86/microcode] x86/microcode/AMD: Make " tip-bot2 for Valdis Klētnieks
  0 siblings, 2 replies; 8+ messages in thread
From: Valdis Klētnieks @ 2019-12-06  3:44 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar; +Cc: x86, linux-kernel

When building with C=1 W=1, both sparse and gcc complain:

  CHECK   arch/x86/kernel/cpu/microcode/core.c
./arch/x86/include/asm/microcode_amd.h:56:6: warning: symbol 'reload_ucode_amd' was not declared. Should it be static?
  CC      arch/x86/kernel/cpu/microcode/core.o
In file included from arch/x86/kernel/cpu/microcode/core.c:36:
./arch/x86/include/asm/microcode_amd.h:56:6: warning: no previous prototype for 'reload_ucode_amd' [-Wmissing-prototypes
]
   56 | void reload_ucode_amd(void) {}
      |      ^~~~~~~~~~~~~~~~

And they're right - that function can be a static inline like its brethren.

Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>

diff --git a/arch/x86/include/asm/microcode_amd.h b/arch/x86/include/asm/microcode_amd.h
index 209492849566..6685e1218959 100644
--- a/arch/x86/include/asm/microcode_amd.h
+++ b/arch/x86/include/asm/microcode_amd.h
@@ -53,6 +53,6 @@ static inline void __init load_ucode_amd_bsp(unsigned int family) {}
 static inline void load_ucode_amd_ap(unsigned int family) {}
 static inline int __init
 save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; }
-void reload_ucode_amd(void) {}
+static inline void reload_ucode_amd(void) {}
 #endif
 #endif /* _ASM_X86_MICROCODE_AMD_H */


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/microcode: make stub function static inline
  2019-12-06  3:44 [PATCH] x86/microcode: make stub function static inline Valdis Klētnieks
@ 2019-12-11 21:38 ` Borislav Petkov
  2019-12-11 23:33   ` Valdis Klētnieks
  2019-12-12 12:22   ` David Laight
  2019-12-12 21:33 ` [tip: x86/microcode] x86/microcode/AMD: Make " tip-bot2 for Valdis Klētnieks
  1 sibling, 2 replies; 8+ messages in thread
From: Borislav Petkov @ 2019-12-11 21:38 UTC (permalink / raw)
  To: Valdis Klētnieks; +Cc: Thomas Gleixner, Ingo Molnar, x86, linux-kernel

On Thu, Dec 05, 2019 at 10:44:33PM -0500, Valdis Klētnieks wrote:
> When building with C=1 W=1, both sparse and gcc complain:
> 
>   CHECK   arch/x86/kernel/cpu/microcode/core.c
> ./arch/x86/include/asm/microcode_amd.h:56:6: warning: symbol 'reload_ucode_amd' was not declared. Should it be static?
>   CC      arch/x86/kernel/cpu/microcode/core.o
> In file included from arch/x86/kernel/cpu/microcode/core.c:36:
> ./arch/x86/include/asm/microcode_amd.h:56:6: warning: no previous prototype for 'reload_ucode_amd' [-Wmissing-prototypes
> ]

Hmm, I don't see this with gcc 9.2 and sparse 0.6.1 here.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/microcode: make stub function static inline
  2019-12-11 21:38 ` Borislav Petkov
@ 2019-12-11 23:33   ` Valdis Klētnieks
  2019-12-12  8:58     ` Borislav Petkov
  2019-12-12 12:22   ` David Laight
  1 sibling, 1 reply; 8+ messages in thread
From: Valdis Klētnieks @ 2019-12-11 23:33 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: Thomas Gleixner, Ingo Molnar, x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 635 bytes --]

On Wed, 11 Dec 2019 22:38:19 +0100, Borislav Petkov said:

> >   CHECK   arch/x86/kernel/cpu/microcode/core.c
> > ./arch/x86/include/asm/microcode_amd.h:56:6: warning: symbol 'reload_ucode_amd' was not declared. Should it be static?
> >   CC      arch/x86/kernel/cpu/microcode/core.o
> > In file included from arch/x86/kernel/cpu/microcode/core.c:36:
> > ./arch/x86/include/asm/microcode_amd.h:56:6: warning: no previous prototype for 'reload_ucode_amd' [-Wmissing-prototypes
> > ]
>
> Hmm, I don't see this with gcc 9.2 and sparse 0.6.1 here.

Were you building with W=1 (so gcc issues extra warnings) and C=1 or 2 so sparse is run?


[-- Attachment #2: Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/microcode: make stub function static inline
  2019-12-11 23:33   ` Valdis Klētnieks
@ 2019-12-12  8:58     ` Borislav Petkov
  2019-12-12 10:06       ` Luc Van Oostenryck
  0 siblings, 1 reply; 8+ messages in thread
From: Borislav Petkov @ 2019-12-12  8:58 UTC (permalink / raw)
  To: Valdis Klētnieks; +Cc: Thomas Gleixner, Ingo Molnar, x86, linux-kernel

On Wed, Dec 11, 2019 at 06:33:53PM -0500, Valdis Klētnieks wrote:
> Were you building with W=1 (so gcc issues extra warnings) and C=1 or 2
> so sparse is run?

[boris@zn: ~/kernel/linux> make W=1 C=1 arch/x86/kernel/cpu/microcode/
...

  LINK     /mnt/kernel/kernel/linux/tools/objtool/objtool
  CHECK   arch/x86/kernel/cpu/microcode/core.c
  CC      arch/x86/kernel/cpu/microcode/core.o
  CHECK   arch/x86/kernel/cpu/microcode/intel.c
  CC      arch/x86/kernel/cpu/microcode/intel.o
  CHECK   arch/x86/kernel/cpu/microcode/amd.c
arch/x86/kernel/cpu/microcode/amd.c:421:35: warning: Using plain integer as NULL pointer
arch/x86/kernel/cpu/microcode/amd.c:546:35: warning: Using plain integer as NULL pointer
  CC      arch/x86/kernel/cpu/microcode/amd.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a

[boris@zn: ~/kernel/linux> git clean -dqfx

...

[boris@zn: ~/kernel/linux> make W=1 C=2 arch/x86/kernel/cpu/microcode/

  LINK     /mnt/kernel/kernel/linux/tools/objtool/objtool
  CHECK   arch/x86/kernel/cpu/microcode/core.c
  CC      arch/x86/kernel/cpu/microcode/core.o
  CHECK   arch/x86/kernel/cpu/microcode/intel.c
  CC      arch/x86/kernel/cpu/microcode/intel.o
  CHECK   arch/x86/kernel/cpu/microcode/amd.c
arch/x86/kernel/cpu/microcode/amd.c:421:35: warning: Using plain integer as NULL pointer
arch/x86/kernel/cpu/microcode/amd.c:546:35: warning: Using plain integer as NULL pointer
  CC      arch/x86/kernel/cpu/microcode/amd.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/microcode: make stub function static inline
  2019-12-12  8:58     ` Borislav Petkov
@ 2019-12-12 10:06       ` Luc Van Oostenryck
  2019-12-12 10:49         ` Borislav Petkov
  0 siblings, 1 reply; 8+ messages in thread
From: Luc Van Oostenryck @ 2019-12-12 10:06 UTC (permalink / raw)
  To: Borislav Petkov
  Cc: Valdis Klētnieks, Thomas Gleixner, Ingo Molnar, x86, linux-kernel

On Thu, Dec 12, 2019 at 09:58:09AM +0100, Borislav Petkov wrote:
> On Wed, Dec 11, 2019 at 06:33:53PM -0500, Valdis Klētnieks wrote:
> > Were you building with W=1 (so gcc issues extra warnings) and C=1 or 2
> > so sparse is run?
> 
> [boris@zn: ~/kernel/linux> make W=1 C=1 arch/x86/kernel/cpu/microcode/
> ...

The Sparse warning about reload_ucode_amd() is only present if your
config has CONFIG_MICROCODE_AMD not set.

Best regards,
-- Luc

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/microcode: make stub function static inline
  2019-12-12 10:06       ` Luc Van Oostenryck
@ 2019-12-12 10:49         ` Borislav Petkov
  0 siblings, 0 replies; 8+ messages in thread
From: Borislav Petkov @ 2019-12-12 10:49 UTC (permalink / raw)
  To: Luc Van Oostenryck
  Cc: Valdis Klētnieks, Thomas Gleixner, Ingo Molnar, x86, linux-kernel

On Thu, Dec 12, 2019 at 11:06:09AM +0100, Luc Van Oostenryck wrote:
> The Sparse warning about reload_ucode_amd() is only present if your
> config has CONFIG_MICROCODE_AMD not set.

Ha, of course. Otherwise it doesn't see the

void reload_ucode_amd(void) {}

declaration.

Thanks for pointing this out.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH] x86/microcode: make stub function static inline
  2019-12-11 21:38 ` Borislav Petkov
  2019-12-11 23:33   ` Valdis Klētnieks
@ 2019-12-12 12:22   ` David Laight
  1 sibling, 0 replies; 8+ messages in thread
From: David Laight @ 2019-12-12 12:22 UTC (permalink / raw)
  To: 'Borislav Petkov', Valdis Klētnieks
  Cc: Thomas Gleixner, Ingo Molnar, x86, linux-kernel

From Borislav Petkov
> Sent: 11 December 2019 21:38
> On Thu, Dec 05, 2019 at 10:44:33PM -0500, Valdis Klētnieks wrote:
> > When building with C=1 W=1, both sparse and gcc complain:
> >
> >   CHECK   arch/x86/kernel/cpu/microcode/core.c
> > ./arch/x86/include/asm/microcode_amd.h:56:6: warning: symbol 'reload_ucode_amd' was not declared. Should it be static?
> >   CC      arch/x86/kernel/cpu/microcode/core.o
> > In file included from arch/x86/kernel/cpu/microcode/core.c:36:
> > ./arch/x86/include/asm/microcode_amd.h:56:6: warning: no previous prototype for 'reload_ucode_amd' [-Wmissing-prototypes
> > ]
> 
> Hmm, I don't see this with gcc 9.2 and sparse 0.6.1 here.

ISTR it is gcc-version dependant.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [tip: x86/microcode] x86/microcode/AMD: Make stub function static inline
  2019-12-06  3:44 [PATCH] x86/microcode: make stub function static inline Valdis Klētnieks
  2019-12-11 21:38 ` Borislav Petkov
@ 2019-12-12 21:33 ` tip-bot2 for Valdis Klētnieks
  1 sibling, 0 replies; 8+ messages in thread
From: tip-bot2 for Valdis Klētnieks @ 2019-12-12 21:33 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: valdis.kletnieks, Borislav Petkov, Luc Van Oostenryck, x86, LKML

The following commit has been merged into the x86/microcode branch of tip:

Commit-ID:     82c881b28aa89215a760e39c5f6bcde2d6ce4918
Gitweb:        https://git.kernel.org/tip/82c881b28aa89215a760e39c5f6bcde2d6ce4918
Author:        Valdis Klētnieks <valdis.kletnieks@vt.edu>
AuthorDate:    Thu, 05 Dec 2019 22:44:33 -05:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Thu, 12 Dec 2019 22:29:00 +01:00

x86/microcode/AMD: Make stub function static inline

When building with C=1 W=1 (and when CONFIG_MICROCODE_AMD=n, as Luc Van
Oostenryck correctly points out) both sparse and gcc complain:

  CHECK   arch/x86/kernel/cpu/microcode/core.c
  ./arch/x86/include/asm/microcode_amd.h:56:6: warning: symbol \
	  'reload_ucode_amd' was not declared. Should it be static?
    CC      arch/x86/kernel/cpu/microcode/core.o
  In file included from arch/x86/kernel/cpu/microcode/core.c:36:
  ./arch/x86/include/asm/microcode_amd.h:56:6: warning: no previous \
	  prototype for 'reload_ucode_amd' [-Wmissing-prototypes]
     56 | void reload_ucode_amd(void) {}
        |      ^~~~~~~~~~~~~~~~

And they're right - that function can be a static inline like its
brethren.

Signed-off-by: Valdis Klētnieks <valdis.kletnieks@vt.edu>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: x86@kernel.org
Link: https://lkml.kernel.org/r/52170.1575603873@turing-police
---
 arch/x86/include/asm/microcode_amd.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/microcode_amd.h b/arch/x86/include/asm/microcode_amd.h
index 2094928..6685e12 100644
--- a/arch/x86/include/asm/microcode_amd.h
+++ b/arch/x86/include/asm/microcode_amd.h
@@ -53,6 +53,6 @@ static inline void __init load_ucode_amd_bsp(unsigned int family) {}
 static inline void load_ucode_amd_ap(unsigned int family) {}
 static inline int __init
 save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; }
-void reload_ucode_amd(void) {}
+static inline void reload_ucode_amd(void) {}
 #endif
 #endif /* _ASM_X86_MICROCODE_AMD_H */

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-12-12 21:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-06  3:44 [PATCH] x86/microcode: make stub function static inline Valdis Klētnieks
2019-12-11 21:38 ` Borislav Petkov
2019-12-11 23:33   ` Valdis Klētnieks
2019-12-12  8:58     ` Borislav Petkov
2019-12-12 10:06       ` Luc Van Oostenryck
2019-12-12 10:49         ` Borislav Petkov
2019-12-12 12:22   ` David Laight
2019-12-12 21:33 ` [tip: x86/microcode] x86/microcode/AMD: Make " tip-bot2 for Valdis Klētnieks

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).