* [PATCH] cpu: microcode: replace 0 with NULL @ 2019-11-26 0:27 Jules Irenge 2019-11-26 13:53 ` Borislav Petkov 0 siblings, 1 reply; 4+ messages in thread From: Jules Irenge @ 2019-11-26 0:27 UTC (permalink / raw) To: bp, tglx; +Cc: linux-kernel, x86, hpa, mingo, Jules Irenge Replace 0 with NULL to fix sparse tool warning warning: Using plain integer as NULL pointer Signed-off-by: Jules Irenge <jbi.octave@gmail.com> --- arch/x86/kernel/cpu/microcode/amd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c index a0e52bd00ecc..4934aa7c94e7 100644 --- a/arch/x86/kernel/cpu/microcode/amd.c +++ b/arch/x86/kernel/cpu/microcode/amd.c @@ -418,7 +418,7 @@ static int __apply_microcode_amd(struct microcode_amd *mc) static bool apply_microcode_early_amd(u32 cpuid_1_eax, void *ucode, size_t size, bool save_patch) { - struct cont_desc desc = { 0 }; + struct cont_desc desc = { NULL }; u8 (*patch)[PATCH_MAX_SIZE]; struct microcode_amd *mc; u32 rev, dummy, *new_rev; @@ -543,7 +543,7 @@ load_microcode_amd(bool save, u8 family, const u8 *data, size_t size); int __init save_microcode_in_initrd_amd(unsigned int cpuid_1_eax) { - struct cont_desc desc = { 0 }; + struct cont_desc desc = { NULL }; enum ucode_state ret; struct cpio_data cp; -- 2.23.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] cpu: microcode: replace 0 with NULL 2019-11-26 0:27 [PATCH] cpu: microcode: replace 0 with NULL Jules Irenge @ 2019-11-26 13:53 ` Borislav Petkov 2019-11-26 16:03 ` Jules Irenge 0 siblings, 1 reply; 4+ messages in thread From: Borislav Petkov @ 2019-11-26 13:53 UTC (permalink / raw) To: Jules Irenge; +Cc: tglx, linux-kernel, x86, hpa, mingo On Tue, Nov 26, 2019 at 12:27:34AM +0000, Jules Irenge wrote: > Replace 0 with NULL to fix sparse tool warning > warning: Using plain integer as NULL pointer > > Signed-off-by: Jules Irenge <jbi.octave@gmail.com> > --- > arch/x86/kernel/cpu/microcode/amd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c > index a0e52bd00ecc..4934aa7c94e7 100644 > --- a/arch/x86/kernel/cpu/microcode/amd.c > +++ b/arch/x86/kernel/cpu/microcode/amd.c > @@ -418,7 +418,7 @@ static int __apply_microcode_amd(struct microcode_amd *mc) > static bool > apply_microcode_early_amd(u32 cpuid_1_eax, void *ucode, size_t size, bool save_patch) > { > - struct cont_desc desc = { 0 }; > + struct cont_desc desc = { NULL }; So my gcc guy says that 0 and NULL are equivalent as designated initializers in this case. And if you look at the resulting asm, it doesn't change: # arch/x86/kernel/cpu/microcode/amd.c:421: struct cont_desc desc = { 0 }; movq $0, 8(%rsp) #, desc movq $0, (%rsp) #, desc movq $0, 16(%rsp) #, desc movq $0, 24(%rsp) #, desc But what I'd prefer actually is, if you do them like this: ... = { 0, }; because: 1. It is clear that the memory for the struct is being cleared 2. The following ones - the ones after "," are missing too, on purpose, because they're being cleared too. Also pls add that explanation to the commit message. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] cpu: microcode: replace 0 with NULL 2019-11-26 13:53 ` Borislav Petkov @ 2019-11-26 16:03 ` Jules Irenge 2019-11-27 21:11 ` Joe Perches 0 siblings, 1 reply; 4+ messages in thread From: Jules Irenge @ 2019-11-26 16:03 UTC (permalink / raw) To: Borislav Petkov; +Cc: Jules Irenge, tglx, linux-kernel, x86, hpa, mingo On Tue, 26 Nov 2019, Borislav Petkov wrote: > On Tue, Nov 26, 2019 at 12:27:34AM +0000, Jules Irenge wrote: > > Replace 0 with NULL to fix sparse tool warning > > warning: Using plain integer as NULL pointer > > > > Signed-off-by: Jules Irenge <jbi.octave@gmail.com> > > --- > > arch/x86/kernel/cpu/microcode/amd.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c > > index a0e52bd00ecc..4934aa7c94e7 100644 > > --- a/arch/x86/kernel/cpu/microcode/amd.c > > +++ b/arch/x86/kernel/cpu/microcode/amd.c > > @@ -418,7 +418,7 @@ static int __apply_microcode_amd(struct microcode_amd *mc) > > static bool > > apply_microcode_early_amd(u32 cpuid_1_eax, void *ucode, size_t size, bool save_patch) > > { > > - struct cont_desc desc = { 0 }; > > + struct cont_desc desc = { NULL }; > > So my gcc guy says that 0 and NULL are equivalent as designated > initializers in this case. And if you look at the resulting asm, it > doesn't change: > > # arch/x86/kernel/cpu/microcode/amd.c:421: struct cont_desc desc = { 0 }; > movq $0, 8(%rsp) #, desc > movq $0, (%rsp) #, desc > movq $0, 16(%rsp) #, desc > movq $0, 24(%rsp) #, desc > > But what I'd prefer actually is, if you do them like this: > > ... = { 0, }; > > because: > > 1. It is clear that the memory for the struct is being cleared > 2. The following ones - the ones after "," are missing too, on purpose, > because they're being cleared too. > > Also pls add that explanation to the commit message. > > Thx. > > -- > Regards/Gruss, > Boris. > > https://people.kernel.org/tglx/notes-about-netiquette > Hi Boris, Thanks for your reply and suggestion. I am learning patching with sparse trying to solve some problems that the tool complains about. Sometime the tool is not always right. If I take your suggestion that I am about to do, sparse will however still complain. so I will suggest my change to be discarded. I will take another challenge. Kind regards, Jules ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] cpu: microcode: replace 0 with NULL 2019-11-26 16:03 ` Jules Irenge @ 2019-11-27 21:11 ` Joe Perches 0 siblings, 0 replies; 4+ messages in thread From: Joe Perches @ 2019-11-27 21:11 UTC (permalink / raw) To: Jules Irenge, Borislav Petkov; +Cc: tglx, linux-kernel, x86, hpa, mingo On Tue, 2019-11-26 at 16:03 +0000, Jules Irenge wrote: > > On Tue, 26 Nov 2019, Borislav Petkov wrote: > > > On Tue, Nov 26, 2019 at 12:27:34AM +0000, Jules Irenge wrote: > > > Replace 0 with NULL to fix sparse tool warning > > > warning: Using plain integer as NULL pointer > > > > > > Signed-off-by: Jules Irenge <jbi.octave@gmail.com> > > > --- > > > arch/x86/kernel/cpu/microcode/amd.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c > > > index a0e52bd00ecc..4934aa7c94e7 100644 > > > --- a/arch/x86/kernel/cpu/microcode/amd.c > > > +++ b/arch/x86/kernel/cpu/microcode/amd.c > > > @@ -418,7 +418,7 @@ static int __apply_microcode_amd(struct microcode_amd *mc) > > > static bool > > > apply_microcode_early_amd(u32 cpuid_1_eax, void *ucode, size_t size, bool save_patch) > > > { > > > - struct cont_desc desc = { 0 }; > > > + struct cont_desc desc = { NULL }; > > > > So my gcc guy says that 0 and NULL are equivalent as designated > > initializers in this case. And if you look at the resulting asm, it > > doesn't change: > > > > # arch/x86/kernel/cpu/microcode/amd.c:421: struct cont_desc desc = { 0 }; > > movq $0, 8(%rsp) #, desc > > movq $0, (%rsp) #, desc > > movq $0, 16(%rsp) #, desc > > movq $0, 24(%rsp) #, desc > > > > But what I'd prefer actually is, if you do them like this: > > > > ... = { 0, }; > > > > because: > > > > 1. It is clear that the memory for the struct is being cleared > > 2. The following ones - the ones after "," are missing too, on purpose, > > because they're being cleared too. > > > > Also pls add that explanation to the commit message. > > > > Thx. > > > > -- > > Regards/Gruss, > > Boris. > > > > https://people.kernel.org/tglx/notes-about-netiquette > > > Hi Boris, > > Thanks for your reply and suggestion. > > I am learning patching with sparse trying to solve some problems that the > tool complains about. > > Sometime the tool is not always right. If I take your suggestion that I > am about to do, sparse will however still complain. > > so I will suggest my change to be discarded. > > I will take another challenge. This initializer should ether use named members with the appropriate zeroing type or just use a blank {} so that regardless of type and member order, the entire structure is zeroed. struct cont_desc desc = {}; ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-11-27 21:18 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-11-26 0:27 [PATCH] cpu: microcode: replace 0 with NULL Jules Irenge 2019-11-26 13:53 ` Borislav Petkov 2019-11-26 16:03 ` Jules Irenge 2019-11-27 21:11 ` Joe Perches
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox