Hi Nicholas, I love your patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on linus/master v6.1-rc2 next-20221027] [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/Nicholas-Piggin/powerpc-books-Never-call-nmi_enter-for-real-mode-NMIs/20221027-154503 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next patch link: https://lore.kernel.org/r/20221027074314.2084016-1-npiggin%40gmail.com patch subject: [PATCH] powerpc/books: Never call nmi_enter for real-mode NMIs config: powerpc-allnoconfig compiler: powerpc-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/57c237cb1fe034e85db9cd44fb09986fa27b2197 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Nicholas-Piggin/powerpc-books-Never-call-nmi_enter-for-real-mode-NMIs/20221027-154503 git checkout 57c237cb1fe034e85db9cd44fb09986fa27b2197 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/lib/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/powerpc/lib/feature-fixups.c:20: arch/powerpc/include/asm/interrupt.h: In function 'interrupt_nmi_enter_prepare': >> arch/powerpc/include/asm/interrupt.h:349:18: error: 'struct interrupt_nmi_state' has no member named 'mmu_enabled' 349 | if (state->mmu_enabled) | ^~ In file included from arch/powerpc/include/asm/bug.h:158, from include/linux/bug.h:5, from arch/powerpc/include/asm/cmpxchg.h:8, from arch/powerpc/include/asm/atomic.h:11, from include/linux/atomic.h:7, from include/linux/jump_label.h:254, from arch/powerpc/lib/feature-fixups.c:12: arch/powerpc/include/asm/interrupt.h: In function 'interrupt_nmi_exit_prepare': arch/powerpc/include/asm/interrupt.h:355:27: error: 'struct interrupt_nmi_state' has no member named 'mmu_enabled' 355 | WARN_ON_ONCE(state->mmu_enabled != !!(mfmsr() & MSR_DR)); | ^~ include/asm-generic/bug.h:110:32: note: in definition of macro 'WARN_ON_ONCE' 110 | int __ret_warn_on = !!(condition); \ | ^~~~~~~~~ arch/powerpc/include/asm/interrupt.h:357:18: error: 'struct interrupt_nmi_state' has no member named 'mmu_enabled' 357 | if (state->mmu_enabled) | ^~ vim +349 arch/powerpc/include/asm/interrupt.h 337 338 /* 339 * If data relocations are enabled, it's safe to use nmi_enter(). 340 * Otherwise avoid using it because the core kernel may touch 341 * vmalloc (e.g., in per-CPU variables), which is not accessible 342 * with the MMU off. Linear memory beyond the VRMA limit is also 343 * a problem for hash guests. 344 * 345 * The real-mode machine checks should not use RCU, tracing, lockdep 346 * locks, and should not printk, access per-CPU variables, among 347 * many other restrictions. 348 */ > 349 if (state->mmu_enabled) 350 nmi_enter(); 351 } 352 -- 0-DAY CI Kernel Test Service https://01.org/lkp