Re: [PATCH v2 2/5] powerpc/lib: Initialize a temporary mm for code patching
From: kernel test robot <hidden>
Date: 2020-07-17 08:59:47
Also in:
oe-kbuild-all
Hi "Christopher, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on powerpc/next] [also build test WARNING on char-misc/char-misc-testing v5.8-rc5 next-20200716] [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] url: https://github.com/0day-ci/linux/commits/Christopher-M-Riedl/Use-per-CPU-temporary-mappings-for-patching/20200709-123827 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-randconfig-r013-20200717 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218) 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 # install powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All warnings (new ones prefixed by >>):
quoted
arch/powerpc/lib/code-patching.c:53:13: warning: no previous prototype for function 'poking_init' [-Wmissing-prototypes]
void __init poking_init(void)
^
arch/powerpc/lib/code-patching.c:53:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init poking_init(void)
^
static
1 warning generated.
vim +/poking_init +53 arch/powerpc/lib/code-patching.c
52
> 53 void __init poking_init(void)
54 {
55 spinlock_t *ptl; /* for protecting pte table */
56 pte_t *ptep;
57
58 /*
59 * Some parts of the kernel (static keys for example) depend on
60 * successful code patching. Code patching under STRICT_KERNEL_RWX
61 * requires this setup - otherwise we cannot patch at all. We use
62 * BUG_ON() here and later since an early failure is preferred to
63 * buggy behavior and/or strange crashes later.
64 */
65 patching_mm = copy_init_mm();
66 BUG_ON(!patching_mm);
67
68 /*
69 * In hash we cannot go above DEFAULT_MAP_WINDOW easily.
70 * XXX: Do we want additional bits of entropy for radix?
71 */
72 patching_addr = (get_random_long() & PAGE_MASK) %
73 (DEFAULT_MAP_WINDOW - PAGE_SIZE);
74
75 ptep = get_locked_pte(patching_mm, patching_addr, &ptl);
76 BUG_ON(!ptep);
77 pte_unmap_unlock(ptep, ptl);
78 }
79
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 30733 bytes