Re: [PATCH] headers: untangle kmemleak.h from mm.h
On 02/11/2018 11:27 PM, Ingo Molnar wrote: > > * Randy Dunlap wrote: > >> From: Randy Dunlap >> >> Currently #includes for no obvious >> reason. It looks like it's only a convenience, so remove kmemleak.h >> from slab.h and add to any users of kmemleak_* >> that don't already #include it. >> Also remove from source files that do not use it. >> >> This is tested on i386 allmodconfig and x86_64 allmodconfig. It >> would be good to run it through the 0day bot for other $ARCHes. >> I have neither the horsepower nor the storage space for the other >> $ARCHes. >> >> [slab.h is the second most used header file after module.h; kernel.h >> is right there with slab.h. There could be some minor error in the >> counting due to some #includes having comments after them and I >> didn't combine all of those.] >> >> This is Lingchi patch #1 (death by a thousand cuts, applied to kernel >> header files). >> >> Signed-off-by: Randy Dunlap > > Nice find: > > Reviewed-by: Ingo Molnar > > I agree that it needs to go through 0-day to find any hidden dependencies we > might > have grown due to this. Andrew, This patch has mostly survived both 0day and ozlabs multi-arch testing with 2 build errors being reported by both of them. I have posted patches for those separately. (and are attached here) other-patch-1: lkml.kernel.org/r/5664ced1-a0cd-7e4e-71b6-9c3a97d68...@infradead.org "lib/test_firmware: add header file to prevent build errors" other-patch-2: lkml.kernel.org/r/b3b7eebb-0e9f-f175-94a8-379c5ddca...@infradead.org "integrity/security: fix digsig.c build error" Will you see that these are merged or do you want me to repost them? thanks, -- ~Randy From: Randy Dunlap security/integrity/digsig.c has build errors on some $ARCH due to a missing header file, so add it. security/integrity/digsig.c:146:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] Reported-by: Michael Ellerman Signed-off-by: Randy Dunlap Cc: Mimi Zohar Cc: linux-integr...@vger.kernel.org Link: http://kisskb.ellerman.id.au/kisskb/head/13396/ --- security/integrity/digsig.c |1 + 1 file changed, 1 insertion(+) --- lnx-416-rc1.orig/security/integrity/digsig.c +++ lnx-416-rc1/security/integrity/digsig.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include From: Randy Dunlap lib/test_firmware.c has build errors on some $ARCH due to a missing header file, so add it. lib/test_firmware.c:134:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] lib/test_firmware.c:620:25: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] Reported-by: Michael Ellerman Signed-off-by: Randy Dunlap Cc: Wei Yongjun Cc: Luis R. Rodriguez Cc: Greg Kroah-Hartman Link: http://kisskb.ellerman.id.au/kisskb/head/13396/ --- lib/test_firmware.c |1 + 1 file changed, 1 insertion(+) --- lnx-416-rc1.orig/lib/test_firmware.c +++ lnx-416-rc1/lib/test_firmware.c @@ -21,6 +21,7 @@ #include #include #include +#include #define TEST_FIRMWARE_NAME "test-firmware.bin" #define TEST_FIRMWARE_NUM_REQS 4
Re: [PATCH] headers: untangle kmemleak.h from mm.h
On 02/13/2018 02:09 AM, Michael Ellerman wrote: > Randy Dunlap writes: > >> On 02/12/2018 04:28 AM, Michael Ellerman wrote: >>> Randy Dunlap writes: >>> From: Randy Dunlap Currently #includes for no obvious reason. It looks like it's only a convenience, so remove kmemleak.h from slab.h and add to any users of kmemleak_* that don't already #include it. Also remove from source files that do not use it. This is tested on i386 allmodconfig and x86_64 allmodconfig. It would be good to run it through the 0day bot for other $ARCHes. I have neither the horsepower nor the storage space for the other $ARCHes. [slab.h is the second most used header file after module.h; kernel.h is right there with slab.h. There could be some minor error in the counting due to some #includes having comments after them and I didn't combine all of those.] This is Lingchi patch #1 (death by a thousand cuts, applied to kernel header files). Signed-off-by: Randy Dunlap >>> >>> I threw it at a random selection of configs and so far the only failures >>> I'm seeing are: >>> >>> lib/test_firmware.c:134:2: error: implicit declaration of function >>> 'vfree' [-Werror=implicit-function-declaration] >>> >>> >>> lib/test_firmware.c:620:25: error: implicit declaration of function >>> 'vzalloc' [-Werror=implicit-function-declaration] >>> lib/test_firmware.c:620:2: error: implicit declaration of function >>> 'vzalloc' [-Werror=implicit-function-declaration] >>> security/integrity/digsig.c:146:2: error: implicit declaration of >>> function 'vfree' [-Werror=implicit-function-declaration] >> >> Both of those source files need to #include . > > Yep, I added those and rebuilt. I don't see any more failures that look > related to your patch. Great, thanks. I also sent patches for both of those. > http://kisskb.ellerman.id.au/kisskb/head/13399/ > > > I haven't gone through the defconfigs I have enabled for a while, so > it's possible I have some missing but it's still a reasonable cross > section. -- ~Randy
Re: [PATCH] headers: untangle kmemleak.h from mm.h
Randy Dunlap writes: > On 02/12/2018 04:28 AM, Michael Ellerman wrote: >> Randy Dunlap writes: >> >>> From: Randy Dunlap >>> >>> Currently #includes for no obvious >>> reason. It looks like it's only a convenience, so remove kmemleak.h >>> from slab.h and add to any users of kmemleak_* >>> that don't already #include it. >>> Also remove from source files that do not use it. >>> >>> This is tested on i386 allmodconfig and x86_64 allmodconfig. It >>> would be good to run it through the 0day bot for other $ARCHes. >>> I have neither the horsepower nor the storage space for the other >>> $ARCHes. >>> >>> [slab.h is the second most used header file after module.h; kernel.h >>> is right there with slab.h. There could be some minor error in the >>> counting due to some #includes having comments after them and I >>> didn't combine all of those.] >>> >>> This is Lingchi patch #1 (death by a thousand cuts, applied to kernel >>> header files). >>> >>> Signed-off-by: Randy Dunlap >> >> I threw it at a random selection of configs and so far the only failures >> I'm seeing are: >> >> lib/test_firmware.c:134:2: error: implicit declaration of function 'vfree' >> [-Werror=implicit-function-declaration] >> >> lib/test_firmware.c:620:25: error: implicit declaration of function >> 'vzalloc' [-Werror=implicit-function-declaration] >> lib/test_firmware.c:620:2: error: implicit declaration of function >> 'vzalloc' [-Werror=implicit-function-declaration] >> security/integrity/digsig.c:146:2: error: implicit declaration of function >> 'vfree' [-Werror=implicit-function-declaration] > > Both of those source files need to #include . Yep, I added those and rebuilt. I don't see any more failures that look related to your patch. http://kisskb.ellerman.id.au/kisskb/head/13399/ I haven't gone through the defconfigs I have enabled for a while, so it's possible I have some missing but it's still a reasonable cross section. cheers
Re: [PATCH] headers: untangle kmemleak.h from mm.h
On 02/12/2018 04:28 AM, Michael Ellerman wrote: > Randy Dunlap writes: > >> From: Randy Dunlap >> >> Currently #includes for no obvious >> reason. It looks like it's only a convenience, so remove kmemleak.h >> from slab.h and add to any users of kmemleak_* >> that don't already #include it. >> Also remove from source files that do not use it. >> >> This is tested on i386 allmodconfig and x86_64 allmodconfig. It >> would be good to run it through the 0day bot for other $ARCHes. >> I have neither the horsepower nor the storage space for the other >> $ARCHes. >> >> [slab.h is the second most used header file after module.h; kernel.h >> is right there with slab.h. There could be some minor error in the >> counting due to some #includes having comments after them and I >> didn't combine all of those.] >> >> This is Lingchi patch #1 (death by a thousand cuts, applied to kernel >> header files). >> >> Signed-off-by: Randy Dunlap > > I threw it at a random selection of configs and so far the only failures > I'm seeing are: > > lib/test_firmware.c:134:2: error: implicit declaration of function 'vfree' > [-Werror=implicit-function-declaration] > > lib/test_firmware.c:620:25: error: implicit declaration of function > 'vzalloc' [-Werror=implicit-function-declaration] > lib/test_firmware.c:620:2: error: implicit declaration of function > 'vzalloc' [-Werror=implicit-function-declaration] > security/integrity/digsig.c:146:2: error: implicit declaration of function > 'vfree' [-Werror=implicit-function-declaration] > > Full results trickling in here, not all the failures there are caused by > this patch, ie. some configs are broken in mainline: > > http://kisskb.ellerman.id.au/kisskb/head/13396/ That's very useful, thanks. I'll send a few patches for those. -- ~Randy
Re: [PATCH] headers: untangle kmemleak.h from mm.h
On 02/12/2018 04:28 AM, Michael Ellerman wrote: > Randy Dunlap writes: > >> From: Randy Dunlap >> >> Currently #includes for no obvious >> reason. It looks like it's only a convenience, so remove kmemleak.h >> from slab.h and add to any users of kmemleak_* >> that don't already #include it. >> Also remove from source files that do not use it. >> >> This is tested on i386 allmodconfig and x86_64 allmodconfig. It >> would be good to run it through the 0day bot for other $ARCHes. >> I have neither the horsepower nor the storage space for the other >> $ARCHes. >> >> [slab.h is the second most used header file after module.h; kernel.h >> is right there with slab.h. There could be some minor error in the >> counting due to some #includes having comments after them and I >> didn't combine all of those.] >> >> This is Lingchi patch #1 (death by a thousand cuts, applied to kernel >> header files). >> >> Signed-off-by: Randy Dunlap > > I threw it at a random selection of configs and so far the only failures > I'm seeing are: > > lib/test_firmware.c:134:2: error: implicit declaration of function 'vfree' > [-Werror=implicit-function-declaration] > > lib/test_firmware.c:620:25: error: implicit declaration of function > 'vzalloc' [-Werror=implicit-function-declaration] > lib/test_firmware.c:620:2: error: implicit declaration of function > 'vzalloc' [-Werror=implicit-function-declaration] > security/integrity/digsig.c:146:2: error: implicit declaration of function > 'vfree' [-Werror=implicit-function-declaration] > Both of those source files need to #include . > Full results trickling in here, not all the failures there are caused by > this patch, ie. some configs are broken in mainline: > > http://kisskb.ellerman.id.au/kisskb/head/13396/ > > cheers :) -- ~Randy
Re: [PATCH] headers: untangle kmemleak.h from mm.h
Randy Dunlap writes: > From: Randy Dunlap > > Currently #includes for no obvious > reason. It looks like it's only a convenience, so remove kmemleak.h > from slab.h and add to any users of kmemleak_* > that don't already #include it. > Also remove from source files that do not use it. > > This is tested on i386 allmodconfig and x86_64 allmodconfig. It > would be good to run it through the 0day bot for other $ARCHes. > I have neither the horsepower nor the storage space for the other > $ARCHes. > > [slab.h is the second most used header file after module.h; kernel.h > is right there with slab.h. There could be some minor error in the > counting due to some #includes having comments after them and I > didn't combine all of those.] > > This is Lingchi patch #1 (death by a thousand cuts, applied to kernel > header files). > > Signed-off-by: Randy Dunlap I threw it at a random selection of configs and so far the only failures I'm seeing are: lib/test_firmware.c:134:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] lib/test_firmware.c:620:25: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] lib/test_firmware.c:620:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] security/integrity/digsig.c:146:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] Full results trickling in here, not all the failures there are caused by this patch, ie. some configs are broken in mainline: http://kisskb.ellerman.id.au/kisskb/head/13396/ cheers
Re: [PATCH] headers: untangle kmemleak.h from mm.h
* Randy Dunlap wrote: > From: Randy Dunlap > > Currently #includes for no obvious > reason. It looks like it's only a convenience, so remove kmemleak.h > from slab.h and add to any users of kmemleak_* > that don't already #include it. > Also remove from source files that do not use it. > > This is tested on i386 allmodconfig and x86_64 allmodconfig. It > would be good to run it through the 0day bot for other $ARCHes. > I have neither the horsepower nor the storage space for the other > $ARCHes. > > [slab.h is the second most used header file after module.h; kernel.h > is right there with slab.h. There could be some minor error in the > counting due to some #includes having comments after them and I > didn't combine all of those.] > > This is Lingchi patch #1 (death by a thousand cuts, applied to kernel > header files). > > Signed-off-by: Randy Dunlap Nice find: Reviewed-by: Ingo Molnar I agree that it needs to go through 0-day to find any hidden dependencies we might have grown due to this. Thanks, Ingo