* Re: [PATCH v4 3/3] randomize_kstack: Unify random source across arches [not found] <20260119130122.1283821-4-ryan.roberts@arm.com> @ 2026-01-20 23:50 ` kernel test robot 2026-01-21 10:20 ` David Laight 2026-01-21 10:52 ` Ryan Roberts 0 siblings, 2 replies; 6+ messages in thread From: kernel test robot @ 2026-01-20 23:50 UTC (permalink / raw) To: Ryan Roberts, Catalin Marinas, Will Deacon, Huacai Chen, Madhavan Srinivasan, Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Kees Cook, Gustavo A. R. Silva, Arnd Bergmann, Mark Rutland, Jason A. Donenfeld, Ard Biesheuvel, Jeremy Linton, David Laight Cc: llvm, oe-kbuild-all, Ryan Roberts, linux-kernel, linux-arm-kernel, loongarch, linuxppc-dev, linux-riscv, linux-s390 Hi Ryan, kernel test robot noticed the following build warnings: [auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on linus/master v6.19-rc6 next-20260119] [cannot apply to tip/sched/core kees/for-next/hardening kees/for-next/execve] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Roberts/randomize_kstack-Maintain-kstack_offset-per-task/20260119-210329 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20260119130122.1283821-4-ryan.roberts%40arm.com patch subject: [PATCH v4 3/3] randomize_kstack: Unify random source across arches config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202601210752.6Nsv9et9-lkp@intel.com/ All warnings (new ones prefixed by >>): >> vmlinux.o: warning: objtool: do_syscall_64+0x2c: call to preempt_count_add() leaves .noinstr.text section >> vmlinux.o: warning: objtool: __do_fast_syscall_32+0x3d: call to preempt_count_add() leaves .noinstr.text section -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] randomize_kstack: Unify random source across arches 2026-01-20 23:50 ` [PATCH v4 3/3] randomize_kstack: Unify random source across arches kernel test robot @ 2026-01-21 10:20 ` David Laight 2026-01-21 14:48 ` David Laight 2026-01-21 10:52 ` Ryan Roberts 1 sibling, 1 reply; 6+ messages in thread From: David Laight @ 2026-01-21 10:20 UTC (permalink / raw) To: kernel test robot Cc: Ryan Roberts, Catalin Marinas, Will Deacon, Huacai Chen, Madhavan Srinivasan, Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Kees Cook, Gustavo A. R. Silva, Arnd Bergmann, Mark Rutland, Jason A. Donenfeld, Ard Biesheuvel, Jeremy Linton, llvm, oe-kbuild-all, linux-kernel, linux-arm-kernel, loongarch, linuxppc-dev, linux-riscv, linux-s390 On Wed, 21 Jan 2026 07:50:16 +0800 kernel test robot <lkp@intel.com> wrote: > Hi Ryan, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on akpm-mm/mm-everything] > [also build test WARNING on linus/master v6.19-rc6 next-20260119] > [cannot apply to tip/sched/core kees/for-next/hardening kees/for-next/execve] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Roberts/randomize_kstack-Maintain-kstack_offset-per-task/20260119-210329 > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > patch link: https://lore.kernel.org/r/20260119130122.1283821-4-ryan.roberts%40arm.com > patch subject: [PATCH v4 3/3] randomize_kstack: Unify random source across arches > config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/config) > compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202601210752.6Nsv9et9-lkp@intel.com/ > > All warnings (new ones prefixed by >>): > > >> vmlinux.o: warning: objtool: do_syscall_64+0x2c: call to preempt_count_add() leaves .noinstr.text section > >> vmlinux.o: warning: objtool: __do_fast_syscall_32+0x3d: call to preempt_count_add() leaves .noinstr.text section > When CONFIG_DEBUG_PREEMPT or CONFIG_TRACE_PREEMP_TOGGLE is set the preempt_count_[en|dis]able() calls inside [put|get]_cpu_var() become real functions. Maybe __preempt_count_[inc|dec]() can be called (with this_cpu_ptr()). David ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] randomize_kstack: Unify random source across arches 2026-01-21 10:20 ` David Laight @ 2026-01-21 14:48 ` David Laight 0 siblings, 0 replies; 6+ messages in thread From: David Laight @ 2026-01-21 14:48 UTC (permalink / raw) To: kernel test robot Cc: Ryan Roberts, Catalin Marinas, Will Deacon, Huacai Chen, Madhavan Srinivasan, Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Kees Cook, Gustavo A. R. Silva, Arnd Bergmann, Mark Rutland, Jason A. Donenfeld, Ard Biesheuvel, Jeremy Linton, llvm, oe-kbuild-all, linux-kernel, linux-arm-kernel, loongarch, linuxppc-dev, linux-riscv, linux-s390 On Wed, 21 Jan 2026 10:20:17 +0000 David Laight <david.laight.linux@gmail.com> wrote: > On Wed, 21 Jan 2026 07:50:16 +0800 > kernel test robot <lkp@intel.com> wrote: > > > Hi Ryan, > > > > kernel test robot noticed the following build warnings: > > > > [auto build test WARNING on akpm-mm/mm-everything] > > [also build test WARNING on linus/master v6.19-rc6 next-20260119] > > [cannot apply to tip/sched/core kees/for-next/hardening kees/for-next/execve] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Roberts/randomize_kstack-Maintain-kstack_offset-per-task/20260119-210329 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > > patch link: https://lore.kernel.org/r/20260119130122.1283821-4-ryan.roberts%40arm.com > > patch subject: [PATCH v4 3/3] randomize_kstack: Unify random source across arches > > config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/config) > > compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot <lkp@intel.com> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202601210752.6Nsv9et9-lkp@intel.com/ > > > > All warnings (new ones prefixed by >>): > > > > >> vmlinux.o: warning: objtool: do_syscall_64+0x2c: call to preempt_count_add() leaves .noinstr.text section > > >> vmlinux.o: warning: objtool: __do_fast_syscall_32+0x3d: call to preempt_count_add() leaves .noinstr.text section > > > > When CONFIG_DEBUG_PREEMPT or CONFIG_TRACE_PREEMP_TOGGLE is set > the preempt_count_[en|dis]able() calls inside [put|get]_cpu_var() > become real functions. > > Maybe __preempt_count_[inc|dec]() can be called (with this_cpu_ptr()). Or the code could just use the per-cpu data without disabling preemption. Usually that isn't a good idea at all, but it can't matter in this case. Might give a noticeable performance gain, disabling preemption is non-trivial and/or an atomic operation on some architectures. If anyone is worried about preemption causing the output be repeated, that would be (mostly) mitigated by checking that s[1234] haven't changed prior to writing the new values. I think a 'not locked at all' compare of two of the four values will stop everything except two threads doing system calls at the same time getting the same output from the prng. The whole thing is very unlikely and there will be much easier ways to break the prng. Provided s[1234] are only written with valid values (ie ones which aren't effectively zero) it will continue generating numbers. David > > David > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] randomize_kstack: Unify random source across arches 2026-01-20 23:50 ` [PATCH v4 3/3] randomize_kstack: Unify random source across arches kernel test robot 2026-01-21 10:20 ` David Laight @ 2026-01-21 10:52 ` Ryan Roberts 2026-01-21 12:32 ` Mark Rutland 1 sibling, 1 reply; 6+ messages in thread From: Ryan Roberts @ 2026-01-21 10:52 UTC (permalink / raw) To: kernel test robot, Catalin Marinas, Will Deacon, Huacai Chen, Madhavan Srinivasan, Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Kees Cook, Gustavo A. R. Silva, Arnd Bergmann, Mark Rutland, Jason A. Donenfeld, Ard Biesheuvel, Jeremy Linton, David Laight Cc: llvm, oe-kbuild-all, linux-kernel, linux-arm-kernel, loongarch, linuxppc-dev, linux-riscv, linux-s390 On 20/01/2026 23:50, kernel test robot wrote: > Hi Ryan, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on akpm-mm/mm-everything] > [also build test WARNING on linus/master v6.19-rc6 next-20260119] > [cannot apply to tip/sched/core kees/for-next/hardening kees/for-next/execve] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Roberts/randomize_kstack-Maintain-kstack_offset-per-task/20260119-210329 > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > patch link: https://lore.kernel.org/r/20260119130122.1283821-4-ryan.roberts%40arm.com > patch subject: [PATCH v4 3/3] randomize_kstack: Unify random source across arches > config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/config) > compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202601210752.6Nsv9et9-lkp@intel.com/ > > All warnings (new ones prefixed by >>): > >>> vmlinux.o: warning: objtool: do_syscall_64+0x2c: call to preempt_count_add() leaves .noinstr.text section >>> vmlinux.o: warning: objtool: __do_fast_syscall_32+0x3d: call to preempt_count_add() leaves .noinstr.text section Hmm, clearly Dave was correct not to rush this through... yuck. I'll take a look, but I guess there is no rush if this won't go into -next until shortly after -rc1. Thanks, Ryan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] randomize_kstack: Unify random source across arches 2026-01-21 10:52 ` Ryan Roberts @ 2026-01-21 12:32 ` Mark Rutland 2026-02-18 15:20 ` Ryan Roberts 0 siblings, 1 reply; 6+ messages in thread From: Mark Rutland @ 2026-01-21 12:32 UTC (permalink / raw) To: Ryan Roberts Cc: kernel test robot, Catalin Marinas, Will Deacon, Huacai Chen, Madhavan Srinivasan, Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Kees Cook, Gustavo A. R. Silva, Arnd Bergmann, Jason A. Donenfeld, Ard Biesheuvel, Jeremy Linton, David Laight, llvm, oe-kbuild-all, linux-kernel, linux-arm-kernel, loongarch, linuxppc-dev, linux-riscv, linux-s390 On Wed, Jan 21, 2026 at 10:52:21AM +0000, Ryan Roberts wrote: > On 20/01/2026 23:50, kernel test robot wrote: > > Hi Ryan, > > > > kernel test robot noticed the following build warnings: > > > > [auto build test WARNING on akpm-mm/mm-everything] > > [also build test WARNING on linus/master v6.19-rc6 next-20260119] > > [cannot apply to tip/sched/core kees/for-next/hardening kees/for-next/execve] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Roberts/randomize_kstack-Maintain-kstack_offset-per-task/20260119-210329 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything > > patch link: https://lore.kernel.org/r/20260119130122.1283821-4-ryan.roberts%40arm.com > > patch subject: [PATCH v4 3/3] randomize_kstack: Unify random source across arches > > config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/config) > > compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot <lkp@intel.com> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202601210752.6Nsv9et9-lkp@intel.com/ > > > > All warnings (new ones prefixed by >>): > > > >>> vmlinux.o: warning: objtool: do_syscall_64+0x2c: call to preempt_count_add() leaves .noinstr.text section > >>> vmlinux.o: warning: objtool: __do_fast_syscall_32+0x3d: call to preempt_count_add() leaves .noinstr.text section > > Hmm, clearly Dave was correct not to rush this through... yuck. I'll take a > look, but I guess there is no rush if this won't go into -next until shortly > after -rc1. Sorry, I should have checked the entry sequencing more thoroughly when I reviewed this,. From a quick look, I suspect the right thing to do is to pull the call to add_random_kstack_offset() a bit later in a few cases; after the entry logic has run, and after instrumentation_begin() (if the arch code uses that), such that it doesn't matter if this gets instrumented. Considering the callers of add_random_kstack_offset(), if we did that: * arm64 is fine as-is. * loongarch is fine as-is. * powerpc's system_call_exception() would need this moved after the user_exit_irqoff(). Given that function is notrace rather than noinstr, it looks like there are bigger extant issues here. * riscv is fine as-is. * s390's __do_syscall() would need this moved after enter_from_user_mode(). * On x86: - do_int80_emulation() is fine as-is. - int80_emulation() is fine as-is. - do_int80_syscall_32() would need this moved after instrumentation_begin(). - __do_fast_syscall_32() would need this moved after instrumentation_begin(). - do_syscall_64() would need this moved after instrumentation_begin(). Mark. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 3/3] randomize_kstack: Unify random source across arches 2026-01-21 12:32 ` Mark Rutland @ 2026-02-18 15:20 ` Ryan Roberts 0 siblings, 0 replies; 6+ messages in thread From: Ryan Roberts @ 2026-02-18 15:20 UTC (permalink / raw) To: Mark Rutland Cc: kernel test robot, Catalin Marinas, Will Deacon, Huacai Chen, Madhavan Srinivasan, Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Kees Cook, Gustavo A. R. Silva, Arnd Bergmann, Jason A. Donenfeld, Ard Biesheuvel, Jeremy Linton, David Laight, llvm, oe-kbuild-all, linux-kernel, linux-arm-kernel, loongarch, linuxppc-dev, linux-riscv, linux-s390 On 21/01/2026 12:32, Mark Rutland wrote: > On Wed, Jan 21, 2026 at 10:52:21AM +0000, Ryan Roberts wrote: >> On 20/01/2026 23:50, kernel test robot wrote: >>> Hi Ryan, >>> >>> kernel test robot noticed the following build warnings: >>> >>> [auto build test WARNING on akpm-mm/mm-everything] >>> [also build test WARNING on linus/master v6.19-rc6 next-20260119] >>> [cannot apply to tip/sched/core kees/for-next/hardening kees/for-next/execve] >>> [If your patch is applied to the wrong git tree, kindly drop us a note. >>> And when submitting patch, we suggest to use '--base' as documented in >>> https://git-scm.com/docs/git-format-patch#_base_tree_information] >>> >>> url: https://github.com/intel-lab-lkp/linux/commits/Ryan-Roberts/randomize_kstack-Maintain-kstack_offset-per-task/20260119-210329 >>> base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything >>> patch link: https://lore.kernel.org/r/20260119130122.1283821-4-ryan.roberts%40arm.com >>> patch subject: [PATCH v4 3/3] randomize_kstack: Unify random source across arches >>> config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/config) >>> compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) >>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260121/202601210752.6Nsv9et9-lkp@intel.com/reproduce) >>> >>> If you fix the issue in a separate patch/commit (i.e. not just a new version of >>> the same patch/commit), kindly add following tags >>> | Reported-by: kernel test robot <lkp@intel.com> >>> | Closes: https://lore.kernel.org/oe-kbuild-all/202601210752.6Nsv9et9-lkp@intel.com/ >>> >>> All warnings (new ones prefixed by >>): >>> >>>>> vmlinux.o: warning: objtool: do_syscall_64+0x2c: call to preempt_count_add() leaves .noinstr.text section >>>>> vmlinux.o: warning: objtool: __do_fast_syscall_32+0x3d: call to preempt_count_add() leaves .noinstr.text section >> >> Hmm, clearly Dave was correct not to rush this through... yuck. I'll take a >> look, but I guess there is no rush if this won't go into -next until shortly >> after -rc1. > > Sorry, I should have checked the entry sequencing more thoroughly when I > reviewed this,. > > From a quick look, I suspect the right thing to do is to pull the call > to add_random_kstack_offset() a bit later in a few cases; after the > entry logic has run, and after instrumentation_begin() (if the arch code > uses that), such that it doesn't matter if this gets instrumented. > > Considering the callers of add_random_kstack_offset(), if we did that: > > * arm64 is fine as-is. > > * loongarch is fine as-is. > > * powerpc's system_call_exception() would need this moved after the > user_exit_irqoff(). Given that function is notrace rather than > noinstr, it looks like there are bigger extant issues here. > > * riscv is fine as-is. > > * s390's __do_syscall() would need this moved after > enter_from_user_mode(). > > * On x86: > - do_int80_emulation() is fine as-is. > - int80_emulation() is fine as-is. > - do_int80_syscall_32() would need this moved after > instrumentation_begin(). > - __do_fast_syscall_32() would need this moved after > instrumentation_begin(). > - do_syscall_64() would need this moved after instrumentation_begin(). Thanks for the detailed suggestions, Mark. I've taken this approach, and assuming perf testing doesn't throw up any issue, I'm going to revert back to using the out-of-line version of prandom_u32_state() and will drop patch 2. Thanks, Ryan > > Mark. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-02-18 15:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260119130122.1283821-4-ryan.roberts@arm.com>
2026-01-20 23:50 ` [PATCH v4 3/3] randomize_kstack: Unify random source across arches kernel test robot
2026-01-21 10:20 ` David Laight
2026-01-21 14:48 ` David Laight
2026-01-21 10:52 ` Ryan Roberts
2026-01-21 12:32 ` Mark Rutland
2026-02-18 15:20 ` Ryan Roberts
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox