Re: [vbabka-slab:for-6.1/fit_rcu_head 2/2] mm/slab.h:94:1: error: static_assert failed due to requirement '((__builtin_offsetof(struct slab, counters)) & ((unsigned int)(16) - 1)) == 0' "IS_ALIGNED(offsetof(struct slab, counters), 16)"

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

 



On 9/10/22 10:33, Hyeonggon Yoo wrote:
> On Sat, Sep 10, 2022 at 04:05:44PM +0800, kernel test robot wrote:
>> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/fit_rcu_head
>> head:   2af0ec317dc8f99f0620af23ff6c288bb6f49be5
>> commit: 2af0ec317dc8f99f0620af23ff6c288bb6f49be5 [2/2] mm/sl[au]b: rearrange struct slab fields to allow larger rcu_head
>> config: i386-randconfig-a002 (https://download.01.org/0day-ci/archive/20220910/202209101614.lMCcS0Zj-lkp@xxxxxxxxx/config)
>> compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
>> 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://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=2af0ec317dc8f99f0620af23ff6c288bb6f49be5
>>         git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
>>         git fetch --no-tags vbabka-slab for-6.1/fit_rcu_head
>>         git checkout 2af0ec317dc8f99f0620af23ff6c288bb6f49be5
>>         # save the config file
>>         mkdir build_dir && cp config build_dir/.config
>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>> 
>> If you fix the issue, kindly add following tag where applicable
>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> 
>> All errors (new ones prefixed by >>):
>> 
>>    In file included from mm/mempool.c:21:
>> >> mm/slab.h:94:1: error: static_assert failed due to requirement '((__builtin_offsetof(struct slab, counters)) & ((unsigned int)(16) - 1)) == 0' "IS_ALIGNED(offsetof(struct slab, counters), 16)"
>>    static_assert(IS_ALIGNED(offsetof(struct slab, counters), 16));
>>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    include/linux/build_bug.h:77:34: note: expanded from macro 'static_assert'
>>    #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
>>                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    include/linux/build_bug.h:78:41: note: expanded from macro '__static_assert'
>>    #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>>                                            ^              ~~~~
>>    1 error generated.
>> 
>> 
>> vim +94 mm/slab.h
>> 
>>     90	
>>     91	#undef SLAB_MATCH
>>     92	static_assert(sizeof(struct slab) <= sizeof(struct page));
>>     93	#if defined(CONFIG_HAVE_CMPXCHG_DOUBLE) && defined(CONFIG_SLUB)
>>   > 94	static_assert(IS_ALIGNED(offsetof(struct slab, counters), 16));
>>     95	#endif
>>     96	
> 
> Ah, it should be sizeof(void *) * 2, instead of 16.

Oops, I kinda assumed CMPXCHG_DOUBLE is 64bit only thing.
Wonder why bots didn't catch this in the previous push...

>> -- 
>> 0-DAY CI Kernel Test Service
>> https://01.org/lkp
>> 
> 





[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