Hi, On Sun, May 19, 2024 at 07:16:12PM -0700, Kees Cook wrote: > Make sure nothing goes wrong with the string counters or the bprm's > belief about the stack pointer. Add checks and matching self-tests. > > For 32-bit validation, this was run under 32-bit UML: > $ tools/testing/kunit/kunit.py run --make_options SUBARCH=i386 exec > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> With this patch in linux-next, the qemu m68k:mcf5208evb emulation fails to boot. The error is: Run /init as init process Failed to execute /init (error -7) Run /sbin/init as init process Starting init: /sbin/init exists but couldn't execute it (error -7) Run /etc/init as init process Run /bin/init as init process Run /bin/sh as init process Starting init: /bin/sh exists but couldn't execute it (error -7) Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.10.0-rc4-next-20240620 #1 Stack from 4081ff74: 4081ff74 40387a22 40387a22 00000000 0000000a 4039db60 4031b2fe 40387a22 40314742 00000000 00000000 4039db60 00000000 40314186 4031b494 00000000 00000000 4031b57e 4037f784 403a3440 40020474 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00002000 00000000 Call Trace: [<4031b2fe>] dump_stack+0xc/0x10 [<40314742>] panic+0xce/0x262 [<40314186>] try_to_run_init_process+0x0/0x38 [<4031b494>] kernel_init+0x0/0xf0 [<4031b57e>] kernel_init+0xea/0xf0 [<40020474>] ret_from_kernel_thread+0xc/0x14 bisect essentially points to the merge of the for-next/execve branch; see below. Subsequent failures are false positives. Branch analysis then pointed to this patch. The image boots after reverting this patch (or after reverting the entire merge). Guenter --- # bad: [b992b79ca8bc336fa8e2c80990b5af80ed8f36fd] Add linux-next specific files for 20240620 # good: [6ba59ff4227927d3a8530fc2973b80e94b54d58f] Linux 6.10-rc4 git bisect start 'HEAD' 'v6.10-rc4' # good: [c02e717c5a89654b244fec58bb5cda32770966b5] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git git bisect good c02e717c5a89654b244fec58bb5cda32770966b5 # good: [29e7d78253b7ebf4b76fcf6d95e227d0b0c57dc0] Merge branch 'msm-next' of https://gitlab.freedesktop.org/drm/msm.git git bisect good 29e7d78253b7ebf4b76fcf6d95e227d0b0c57dc0 # good: [bf8fd0d956bfcbf4fd6ff063366374c4bf87d806] Merge branch 'non-rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git git bisect good bf8fd0d956bfcbf4fd6ff063366374c4bf87d806 # good: [1110f16317b1e0742521eaef5613eb1eb17f55ca] Merge branch 'icc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc.git git bisect good 1110f16317b1e0742521eaef5613eb1eb17f55ca # good: [63f3716198e5644713748d83e6a6df3b4a6a3b10] Merge branch 'gpio/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git git bisect good 63f3716198e5644713748d83e6a6df3b4a6a3b10 # good: [91b48d9adafddb242264ba19c0bae6e23f71b18a] Merge branch 'kunit' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git git bisect good 91b48d9adafddb242264ba19c0bae6e23f71b18a # good: [c54c059b3c3c980c66e2a34b08724d9e529f590d] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/srini/nvmem.git git bisect good c54c059b3c3c980c66e2a34b08724d9e529f590d # good: [de95d30c03c42225c4fad714bf657c9ebb345fe9] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux.git git bisect good de95d30c03c42225c4fad714bf657c9ebb345fe9 # bad: [cb328321926903f7f54866029590abb8faf48ef6] Merge branch 'for-next/execve' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git git bisect bad cb328321926903f7f54866029590abb8faf48ef6 # bad: [aef9d25e7f5631543a0276d0532151f2c61174d6] sysctl: Remove superfluous empty allocations from sysctl internals git bisect bad aef9d25e7f5631543a0276d0532151f2c61174d6 # bad: [c819e252c2874479b27f6a356b44f8aa73cf5a81] sysctl: Add module description to sysctl-testing git bisect bad c819e252c2874479b27f6a356b44f8aa73cf5a81 # bad: [b5ffbd1396885f76bf87e67d590a3ef063e6d831] sysctl: move the extra1/2 boundary check of u8 to sysctl_check_table_array git bisect bad b5ffbd1396885f76bf87e67d590a3ef063e6d831 # bad: [98ca62ba9e2be5863c7d069f84f7166b45a5b2f4] sysctl: always initialize i_uid/i_gid git bisect bad 98ca62ba9e2be5863c7d069f84f7166b45a5b2f4 # first bad commit: [98ca62ba9e2be5863c7d069f84f7166b45a5b2f4] sysctl: always initialize i_uid/i_gid