[PATCH 1/3] riscv: mm: Use hint address in mmap if available

kernel test robot lkp at intel.com
Tue Jan 30 13:05:35 PST 2024


Hi Charlie,

kernel test robot noticed the following build errors:

[auto build test ERROR on 556e2d17cae620d549c5474b1ece053430cd50bc]

url:    https://github.com/intel-lab-lkp/linux/commits/Charlie-Jenkins/riscv-mm-Use-hint-address-in-mmap-if-available/20240130-084208
base:   556e2d17cae620d549c5474b1ece053430cd50bc
patch link:    https://lore.kernel.org/r/20240129-use_mmap_hint_address-v1-1-4c74da813ba1%40rivosinc.com
patch subject: [PATCH 1/3] riscv: mm: Use hint address in mmap if available
config: riscv-defconfig (https://download.01.org/0day-ci/archive/20240131/202401310404.eNJvHoC9-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240131/202401310404.eNJvHoC9-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/202401310404.eNJvHoC9-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/riscv/include/asm/irqflags.h:10,
                    from include/linux/irqflags.h:18,
                    from arch/riscv/include/asm/bitops.h:14,
                    from include/linux/bitops.h:68,
                    from include/linux/kernel.h:23,
                    from mm/mmap.c:12:
   mm/mmap.c: In function 'generic_get_unmapped_area':
>> arch/riscv/include/asm/processor.h:28:9: error: expected expression before 'else'
      28 |         else                                                    \
         |         ^~~~
   mm/mmap.c:1703:40: note: in expansion of macro 'arch_get_mmap_end'
    1703 |         const unsigned long mmap_end = arch_get_mmap_end(addr, len, flags);
         |                                        ^~~~~~~~~~~~~~~~~
   mm/mmap.c: In function 'generic_get_unmapped_area_topdown':
>> arch/riscv/include/asm/processor.h:28:9: error: expected expression before 'else'
      28 |         else                                                    \
         |         ^~~~
   mm/mmap.c:1751:40: note: in expansion of macro 'arch_get_mmap_end'
    1751 |         const unsigned long mmap_end = arch_get_mmap_end(addr, len, flags);
         |                                        ^~~~~~~~~~~~~~~~~
--
   In file included from arch/riscv/include/asm/irqflags.h:10,
                    from include/linux/irqflags.h:18,
                    from arch/riscv/include/asm/bitops.h:14,
                    from include/linux/bitops.h:68,
                    from include/linux/thread_info.h:27,
                    from fs/hugetlbfs/inode.c:12:
   fs/hugetlbfs/inode.c: In function 'hugetlb_get_unmapped_area_bottomup':
>> arch/riscv/include/asm/processor.h:28:9: error: expected expression before 'else'
      28 |         else                                                    \
         |         ^~~~
   fs/hugetlbfs/inode.c:173:27: note: in expansion of macro 'arch_get_mmap_end'
     173 |         info.high_limit = arch_get_mmap_end(addr, len, flags);
         |                           ^~~~~~~~~~~~~~~~~
   fs/hugetlbfs/inode.c: In function 'hugetlb_get_unmapped_area_topdown':
>> arch/riscv/include/asm/processor.h:28:9: error: expected expression before 'else'
      28 |         else                                                    \
         |         ^~~~
   fs/hugetlbfs/inode.c:204:35: note: in expansion of macro 'arch_get_mmap_end'
     204 |                 info.high_limit = arch_get_mmap_end(addr, len, flags);
         |                                   ^~~~~~~~~~~~~~~~~
   fs/hugetlbfs/inode.c: In function 'generic_hugetlb_get_unmapped_area':
>> arch/riscv/include/asm/processor.h:28:9: error: expected expression before 'else'
      28 |         else                                                    \
         |         ^~~~
   fs/hugetlbfs/inode.c:219:40: note: in expansion of macro 'arch_get_mmap_end'
     219 |         const unsigned long mmap_end = arch_get_mmap_end(addr, len, flags);
         |                                        ^~~~~~~~~~~~~~~~~


vim +/else +28 arch/riscv/include/asm/processor.h

add2cc6b6515f7 Charlie Jenkins 2023-08-09  20  
add2cc6b6515f7 Charlie Jenkins 2023-08-09  21  #define arch_get_mmap_end(addr, len, flags)			\
add2cc6b6515f7 Charlie Jenkins 2023-08-09  22  ({								\
add2cc6b6515f7 Charlie Jenkins 2023-08-09  23  	unsigned long mmap_end;					\
add2cc6b6515f7 Charlie Jenkins 2023-08-09  24  	typeof(addr) _addr = (addr);				\
c5712238cfe3f5 Charlie Jenkins 2024-01-29  25  	if ((_addr) == 0 ||					\
c5712238cfe3f5 Charlie Jenkins 2024-01-29  26  		(IS_ENABLED(CONFIG_COMPAT) && is_compat_task()) ||	\
c5712238cfe3f5 Charlie Jenkins 2024-01-29  27  		((_addr + len) > BIT(VA_BITS - 1)))		\
add2cc6b6515f7 Charlie Jenkins 2023-08-09 @28  	else							\
c5712238cfe3f5 Charlie Jenkins 2024-01-29  29  		mmap_end = (_addr + len);			\
add2cc6b6515f7 Charlie Jenkins 2023-08-09  30  	mmap_end;						\
add2cc6b6515f7 Charlie Jenkins 2023-08-09  31  })
add2cc6b6515f7 Charlie Jenkins 2023-08-09  32  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the linux-riscv mailing list