On Fri, Nov 03, 2023 at 09:09:32AM -0700, Nathan Chancellor wrote: > On Fri, Nov 03, 2023 at 04:59:59PM +0100, Greg Kroah-Hartman wrote: > > On Fri, Nov 03, 2023 at 04:57:40PM +0100, Greg Kroah-Hartman wrote: > > > On Fri, Nov 03, 2023 at 09:07:32PM +0530, Naresh Kamboju wrote: > > > > Following warnings and errors have been noticed while building i386 build > > > > on stable-rc linux.4.19.y and linux.4.14.y. > > > > > > > > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx> > > > > > > > > Build log: > > > > ========== > > > > kernel/profile.c: In function 'profile_dead_cpu': > > > > kernel/profile.c:346:27: warning: the comparison will always evaluate > > > > as 'true' for the address of 'prof_cpu_mask' will never be NULL > > > > [-Waddress] > > > > 346 | if (prof_cpu_mask != NULL) > > > > | ^~ > > > > kernel/profile.c:49:22: note: 'prof_cpu_mask' declared here > > > > 49 | static cpumask_var_t prof_cpu_mask; > > > > | ^~~~~~~~~~~~~ > > > > kernel/profile.c: In function 'profile_online_cpu': > > > > kernel/profile.c:383:27: warning: the comparison will always evaluate > > > > as 'true' for the address of 'prof_cpu_mask' will never be NULL > > > > [-Waddress] > > > > 383 | if (prof_cpu_mask != NULL) > > > > | ^~ > > > > kernel/profile.c:49:22: note: 'prof_cpu_mask' declared here > > > > 49 | static cpumask_var_t prof_cpu_mask; > > > > | ^~~~~~~~~~~~~ > > > > kernel/profile.c: In function 'profile_tick': > > > > kernel/profile.c:413:47: warning: the comparison will always evaluate > > > > as 'true' for the address of 'prof_cpu_mask' will never be NULL > > > > [-Waddress] > > > > 413 | if (!user_mode(regs) && prof_cpu_mask != NULL && > > > > | ^~ > > > > kernel/profile.c:49:22: note: 'prof_cpu_mask' declared here > > > > 49 | static cpumask_var_t prof_cpu_mask; > > > > | ^~~~~~~~~~~~~ > > > > > > Those are not due to this set of patches, right? > > > > > > > arch/x86/kernel/head_32.S: Assembler messages: > > > > arch/x86/kernel/head_32.S:126: Error: invalid character '(' in mnemonic > > > > arch/x86/kernel/head_32.S:57: Info: macro invoked from here > > > > arch/x86/kernel/head_32.S:128: Error: invalid character '(' in mnemonic > > > > arch/x86/kernel/head_32.S:57: Info: macro invoked from here > > > > > > This is odd, nothing touches this file either. > > > > > > 7e09ac27f43b ("x86: Fix .brk attribute in linker script") is backported > > > here, perhaps that is the issue? If you revert that, does the error go > > > away? > > > > Nope, that's not the issue. > > > > > Let me see if I can build a 32 bit kernel anymore... > > > > I can do this now, let me figure it out... > > Sorry, I think this is my bad. 4.14 and 4.19 do not have > SYM_DATA_START() or SYM_DATA_END() but I did not do a 32-bit x86 build > to see the error. I think this should be the fix, it builds for me at > least. Would you prefer a new set of patches for 4.14 and 4.19 or could > this just be squashed in to my existing backport of a1e2c031ec39 > ("x86/mm: Simplify RESERVE_BRK()")? Sorry for not catching 7e09ac27f43b > as a fix for that either. > > Cheers, > Nathan > > diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h > index e0e6aad9cd51..c5ed79159975 100644 > --- a/arch/x86/include/asm/setup.h > +++ b/arch/x86/include/asm/setup.h > @@ -123,9 +123,9 @@ asmlinkage void __init x86_64_start_reservations(char *real_mode_data); > > .macro __RESERVE_BRK name, size > .pushsection .bss..brk, "aw" > -SYM_DATA_START(__brk_\name) > +GLOBAL(__brk_\name) > .skip \size > -SYM_DATA_END(__brk_\name) > +END(__brk_\name) > .popsection > .endm > Yes, Guenter also just bisected to this one: https://lore.kernel.org/r/7e8bb270-871f-4324-9c73-d4abfd177b35@xxxxxxxxxxxx Let me squash this into the existing commits, thanks. greg k-h