Hi all, On Thu, 10 Feb 2022 19:33:02 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > On Thu, 10 Feb 2022 18:43:40 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > My qemu boot of a powerpc pseries_le_defconfig kernel produced these > > kernel messages: > > > > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.17.0-rc3 #2 > > Call Trace: > > [c0000000073e3a80] [c0000000007bfd40] dump_stack_lvl+0x74/0xa8 (unreliable) > > [c0000000073e3ac0] [c00000000057e3dc] __register_sysctl_table+0x60c/0x9f0 > > [c0000000073e3bd0] [c000000002041170] init_fs_stat_sysctls+0x48/0x60 > > [c0000000073e3bf0] [c000000000012110] do_one_initcall+0x60/0x2d0 > > [c0000000073e3cd0] [c0000000020049f0] kernel_init_freeable+0x334/0x3dc > > [c0000000073e3db0] [c000000000012710] kernel_init+0x30/0x1a0 > > [c0000000073e3e10] [c00000000000cd64] ret_from_kernel_thread+0x5c/0x64 > > > > Presumably introduced by commit > > > > b42bc9a3c511 ("Fix regression due to "fs: move binfmt_misc sysctl to its own file"") > > OK, I cannot reproduce this with just Linus' tree. I will try to bisect. It bisected to commit 43a9443d5da2 ("Merge branch 'akpm-current/current'") and both parents of that commit are fine :-( "git diff-tree --cc 43a9443d5da2" looks like this: 43a9443d5da2d53dc06095b90b1aca18b72caef5 diff --cc lib/Kconfig.debug index f15dd96028b5,efc1a1908e04..682c776ae73d --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@@ -317,6 -339,7 +339,7 @@@ config DEBUG_INFO_BT depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST depends on BPF_SYSCALL - depends on !DEBUG_INFO_DWARF5 ++ depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 help Generate deduplicated BTF type information from DWARF debug info. Turning this on expects presence of pahole tool, which will convert diff --cc tools/include/linux/gfp.h index b238dbc9eb85,22030756fbc0..56eec4445bc9 --- a/tools/include/linux/gfp.h +++ b/tools/include/linux/gfp.h @@@ -2,31 -1,4 +2,30 @@@ #ifndef _TOOLS_INCLUDE_LINUX_GFP_H #define _TOOLS_INCLUDE_LINUX_GFP_H +#include <linux/types.h> + +#define __GFP_BITS_SHIFT 26 +#define __GFP_BITS_MASK ((gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) + +#define __GFP_HIGH 0x20u +#define __GFP_IO 0x40u +#define __GFP_FS 0x80u +#define __GFP_NOWARN 0x200u +#define __GFP_ZERO 0x8000u - #define __GFP_ATOMIC 0x80000u +#define __GFP_ACCOUNT 0x100000u +#define __GFP_DIRECT_RECLAIM 0x400000u +#define __GFP_KSWAPD_RECLAIM 0x2000000u + +#define __GFP_RECLAIM (__GFP_DIRECT_RECLAIM | __GFP_KSWAPD_RECLAIM) + +#define GFP_ZONEMASK 0x0fu - #define GFP_ATOMIC (__GFP_HIGH | __GFP_ATOMIC | __GFP_KSWAPD_RECLAIM) ++#define GFP_ATOMIC (__GFP_HIGH | __GFP_KSWAPD_RECLAIM) +#define GFP_KERNEL (__GFP_RECLAIM | __GFP_IO | __GFP_FS) +#define GFP_NOWAIT (__GFP_KSWAPD_RECLAIM) + +static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags) +{ + return !!(gfp_flags & __GFP_DIRECT_RECLAIM); +} + #endif /* _TOOLS_INCLUDE_LINUX_GFP_H */ Which looks pretty innocuous. -- Cheers, Stephen Rothwell
Attachment:
pgpRnQjNnbYvY.pgp
Description: OpenPGP digital signature