[PATCH v3 1/3] powerpc: make fadump resilient with memory add/remove events

Sourabh Jain sourabhjain at linux.ibm.com
Tue Oct 10 00:42:09 AEDT 2023


Hello,

Thank you for reporting the issue; we will fix this in v4.

- Sourabh

On 09/10/23 11:54, kernel test robot wrote:
> Hi Sourabh,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on powerpc/next]
> [also build test WARNING on powerpc/fixes linus/master v6.6-rc5 next-20231006]
> [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/Sourabh-Jain/powerpc-make-fadump-resilient-with-memory-add-remove-events/20231009-122519
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
> patch link:    https://lore.kernel.org/r/20231009041953.36139-2-sourabhjain%40linux.ibm.com
> patch subject: [PATCH v3 1/3] powerpc: make fadump resilient with memory add/remove events
> config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20231009/202310091444.dryLmXy1-lkp@intel.com/config)
> compiler: powerpc64-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231009/202310091444.dryLmXy1-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 at intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202310091444.dryLmXy1-lkp@intel.com/
>
> All warnings (new ones prefixed by >>):
>
>     In file included from arch/powerpc/include/asm/mmu.h:143,
>                      from arch/powerpc/include/asm/paca.h:18,
>                      from arch/powerpc/include/asm/current.h:13,
>                      from include/linux/thread_info.h:23,
>                      from include/asm-generic/preempt.h:5,
>                      from ./arch/powerpc/include/generated/asm/preempt.h:1,
>                      from include/linux/preempt.h:79,
>                      from include/linux/spinlock.h:56,
>                      from include/linux/mmzone.h:8,
>                      from include/linux/gfp.h:7,
>                      from include/linux/mm.h:7,
>                      from include/linux/memblock.h:12,
>                      from arch/powerpc/kernel/fadump.c:18:
>     arch/powerpc/kernel/fadump.c: In function 'fadump_free_elfcorehdr_buf':
>>> arch/powerpc/include/asm/page.h:210:2: warning: passing argument 1 of 'fadump_free_buffer' makes integer from pointer without a cast [-Wint-conversion]
>       210 | ({                                                                      \
>           | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>           |  |
>           |  void *
>       211 |         VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET);             \
>           |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       212 |         (void *)(unsigned long)((phys_addr_t)(x) | PAGE_OFFSET);        \
>           |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       213 | })
>           | ~~
>     arch/powerpc/kernel/fadump.c:1401:28: note: in expansion of macro '__va'
>      1401 |         fadump_free_buffer(__va(fdh->elfcorehdr_addr), fdh->elfcorehdr_size);
>           |                            ^~~~
>     arch/powerpc/kernel/fadump.c:795:46: note: expected 'long unsigned int' but argument is of type 'void *'
>       795 | static void fadump_free_buffer(unsigned long vaddr, unsigned long size)
>           |                                ~~~~~~~~~~~~~~^~~~~
>
>
> vim +/fadump_free_buffer +210 arch/powerpc/include/asm/page.h
>
> c4bce84d0bd3f3 Michael Ellerman 2022-04-07  203
> bdbc29c19b2633 Paul Mackerras   2013-08-27  204  /*
> bdbc29c19b2633 Paul Mackerras   2013-08-27  205   * gcc miscompiles (unsigned long)(&static_var) - PAGE_OFFSET
> bdbc29c19b2633 Paul Mackerras   2013-08-27  206   * with -mcmodel=medium, so we use & and | instead of - and + on 64-bit.
> 4dd7554a6456d1 Nicholas Piggin  2019-07-24  207   * This also results in better code generation.
> bdbc29c19b2633 Paul Mackerras   2013-08-27  208   */
> 4dd7554a6456d1 Nicholas Piggin  2019-07-24  209  #define __va(x)								\
> 4dd7554a6456d1 Nicholas Piggin  2019-07-24 @210  ({									\
> c4bce84d0bd3f3 Michael Ellerman 2022-04-07  211  	VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET);		\
> 4dd7554a6456d1 Nicholas Piggin  2019-07-24  212  	(void *)(unsigned long)((phys_addr_t)(x) | PAGE_OFFSET);	\
> 4dd7554a6456d1 Nicholas Piggin  2019-07-24  213  })
> 4dd7554a6456d1 Nicholas Piggin  2019-07-24  214
>



More information about the Linuxppc-dev mailing list