Re: [linux-stable-rc:linux-4.19.y 8055/9999] mm/page_owner.c:276:10: note: in expansion of macro 'pfn_to_online_page'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 13.12.19 23:08, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
> head:   312017a460d5ea31d646e7148e400e13db799ddc
> commit: f712e3066f75996f49b60145f0329f9e078eeabd [8055/9999] mm/page_owner: don't access uninitialized memmaps when reading /proc/pagetypeinfo
> config: ia64-randconfig-a001-20191213 (attached as .config)
> compiler: ia64-linux-gcc (GCC) 7.5.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout f712e3066f75996f49b60145f0329f9e078eeabd
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.5.0 make.cross ARCH=ia64 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from arch/ia64/include/asm/ptrace.h:46:0,
>                     from arch/ia64/include/asm/processor.h:20,
>                     from arch/ia64/include/asm/thread_info.h:12,
>                     from include/linux/thread_info.h:38,
>                     from include/asm-generic/preempt.h:5,
>                     from ./arch/ia64/include/generated/asm/preempt.h:1,
>                     from include/linux/preempt.h:81,
>                     from include/linux/spinlock.h:51,
>                     from include/linux/wait.h:9,
>                     from include/linux/wait_bit.h:8,
>                     from include/linux/fs.h:6,
>                     from include/linux/debugfs.h:15,
>                     from mm/page_owner.c:2:
>    mm/internal.h: In function 'mem_map_next':
>    arch/ia64/include/asm/page.h:118:36: error: 'max_mapnr' undeclared (first use in this function); did you mean 'dax_mapping'?
>     # define pfn_valid(pfn)  (((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
>                                        ^
>    mm/internal.h:385:8: note: in expansion of macro 'pfn_valid'
>       if (!pfn_valid(pfn))
>            ^~~~~~~~~
>    arch/ia64/include/asm/page.h:118:36: note: each undeclared identifier is reported only once for each function it appears in
>     # define pfn_valid(pfn)  (((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
>                                        ^
>    mm/internal.h:385:8: note: in expansion of macro 'pfn_valid'
>       if (!pfn_valid(pfn))
>            ^~~~~~~~~
>    mm/page_owner.c: In function 'pagetypeinfo_showmixedcount_print':
>    arch/ia64/include/asm/page.h:118:36: error: 'max_mapnr' undeclared (first use in this function); did you mean 'dax_mapping'?
>     # define pfn_valid(pfn)  (((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
>                                        ^
>    include/linux/memory_hotplug.h:225:6: note: in expansion of macro 'pfn_valid'
>      if (pfn_valid(pfn))   \
>          ^~~~~~~~~
>>> mm/page_owner.c:276:10: note: in expansion of macro 'pfn_to_online_page'
>       page = pfn_to_online_page(pfn);
>              ^~~~~~~~~~~~~~~~~~
>    mm/page_owner.c: In function 'read_page_owner':
>    arch/ia64/include/asm/page.h:118:36: error: 'max_mapnr' undeclared (first use in this function); did you mean 'dax_mapping'?
>     # define pfn_valid(pfn)  (((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
>                                        ^
>    mm/page_owner.c:470:10: note: in expansion of macro 'pfn_valid'
>      while (!pfn_valid(pfn) && (pfn & (MAX_ORDER_NR_PAGES - 1)) != 0)
>              ^~~~~~~~~
>    mm/page_owner.c: In function 'init_pages_in_zone':
>    arch/ia64/include/asm/page.h:118:36: error: 'max_mapnr' undeclared (first use in this function); did you mean 'dax_mapping'?
>     # define pfn_valid(pfn)  (((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
>                                        ^
>    mm/page_owner.c:544:8: note: in expansion of macro 'pfn_valid'
>       if (!pfn_valid(pfn)) {
>            ^~~~~~~~~
> 

My patch replaced pfn_valid() by pfn_to_online_page() - which indirectly
expands to pfn_valid(pfn) again. This seems to be a pre-existing issue
(I mean pfn_valid(pfn) seems to be completely broken here).

-- 
Thanks,

David / dhildenb





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux