[akpm-mm:mm-unstable 225/293] include/linux/compiler_types.h:397:45: error: call to '__compiletime_assert_311' declared with attribute error: BUILD_BUG_ON failed: ((16 + (16 - 3))-16) > -1

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

 



Hi Mike,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head:   51551d71edbc998fd8c8afa7312db3d270f5998e
commit: 03d7e648fa25961bb92e920e7962710aa72fb409 [225/293] loongarch: drop ranges for definition of ARCH_FORCE_MAX_ORDER
config: loongarch-buildonly-randconfig-r002-20230322 (https://download.01.org/0day-ci/archive/20230324/202303240542.vEBPNs2Q-lkp@xxxxxxxxx/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
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/akpm/mm.git/commit/?id=03d7e648fa25961bb92e920e7962710aa72fb409
        git remote add akpm-mm https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git
        git fetch --no-tags akpm-mm mm-unstable
        git checkout 03d7e648fa25961bb92e920e7962710aa72fb409
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303240542.vEBPNs2Q-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

     886 |                 if (!valid_page && pageblock_aligned(low_pfn)) {
         |                                    ^~~~~~~~~~~~~~~~~
   mm/compaction.c: In function 'isolate_migratepages_range':
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                            ^
   include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
       9 | #define ALIGN_DOWN(x, a)        __ALIGN_KERNEL((x) - ((a) - 1), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:58:41: note: in expansion of macro 'ALIGN_DOWN'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                         ^~~~~~~~~~
   include/linux/pageblock-flags.h:58:59: note: in expansion of macro 'pageblock_nr_pages'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                                           ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1218:27: note: in expansion of macro 'pageblock_start_pfn'
    1218 |         block_start_pfn = pageblock_start_pfn(pfn);
         |                           ^~~~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/uapi/linux/const.h:32:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                                  ^~~~
   include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
       9 | #define ALIGN_DOWN(x, a)        __ALIGN_KERNEL((x) - ((a) - 1), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:58:41: note: in expansion of macro 'ALIGN_DOWN'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                         ^~~~~~~~~~
   include/linux/pageblock-flags.h:58:59: note: in expansion of macro 'pageblock_nr_pages'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                                           ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1218:27: note: in expansion of macro 'pageblock_start_pfn'
    1218 |         block_start_pfn = pageblock_start_pfn(pfn);
         |                           ^~~~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/uapi/linux/const.h:32:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                                             ^~~~
   include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
       9 | #define ALIGN_DOWN(x, a)        __ALIGN_KERNEL((x) - ((a) - 1), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:58:41: note: in expansion of macro 'ALIGN_DOWN'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                         ^~~~~~~~~~
   include/linux/pageblock-flags.h:58:59: note: in expansion of macro 'pageblock_nr_pages'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                                           ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1218:27: note: in expansion of macro 'pageblock_start_pfn'
    1218 |         block_start_pfn = pageblock_start_pfn(pfn);
         |                           ^~~~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/uapi/linux/const.h:32:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                                  ^~~~
   include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
       8 | #define ALIGN(x, a)             __ALIGN_KERNEL((x), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:59:41: note: in expansion of macro 'ALIGN'
      59 | #define pageblock_end_pfn(pfn)          ALIGN((pfn) + 1, pageblock_nr_pages)
         |                                         ^~~~~
   include/linux/pageblock-flags.h:59:58: note: in expansion of macro 'pageblock_nr_pages'
      59 | #define pageblock_end_pfn(pfn)          ALIGN((pfn) + 1, pageblock_nr_pages)
         |                                                          ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1221:25: note: in expansion of macro 'pageblock_end_pfn'
    1221 |         block_end_pfn = pageblock_end_pfn(pfn);
         |                         ^~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/uapi/linux/const.h:32:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                                             ^~~~
   include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
       8 | #define ALIGN(x, a)             __ALIGN_KERNEL((x), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:59:41: note: in expansion of macro 'ALIGN'
      59 | #define pageblock_end_pfn(pfn)          ALIGN((pfn) + 1, pageblock_nr_pages)
         |                                         ^~~~~
   include/linux/pageblock-flags.h:59:58: note: in expansion of macro 'pageblock_nr_pages'
      59 | #define pageblock_end_pfn(pfn)          ALIGN((pfn) + 1, pageblock_nr_pages)
         |                                                          ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1221:25: note: in expansion of macro 'pageblock_end_pfn'
    1221 |         block_end_pfn = pageblock_end_pfn(pfn);
         |                         ^~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   mm/compaction.c:1225:50: note: in expansion of macro 'pageblock_nr_pages'
    1225 |                                 block_end_pfn += pageblock_nr_pages) {
         |                                                  ^~~~~~~~~~~~~~~~~~
   mm/compaction.c: In function 'compact_scanners_met':
>> mm/compaction.c:1308:30: warning: right shift count is negative [-Wshift-count-negative]
    1308 |         return (cc->free_pfn >> pageblock_order)
         |                              ^~
   mm/compaction.c:1309:37: warning: right shift count is negative [-Wshift-count-negative]
    1309 |                 <= (cc->migrate_pfn >> pageblock_order);
         |                                     ^~
   In file included from include/linux/kernel.h:26:
   mm/compaction.c: In function 'fast_isolate_around':
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/linux/minmax.h:28:27: note: in definition of macro '__cmp'
      28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
         |                           ^
   include/linux/minmax.h:74:25: note: in expansion of macro '__careful_cmp'
      74 | #define max(x, y)       __careful_cmp(x, y, >)
         |                         ^~~~~~~~~~~~~
   mm/compaction.c:1360:21: note: in expansion of macro 'max'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                     ^~~
   include/uapi/linux/const.h:31:41: note: in expansion of macro '__ALIGN_KERNEL_MASK'
      31 | #define __ALIGN_KERNEL(x, a)            __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
         |                                         ^~~~~~~~~~~~~~~~~~~
   include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
       9 | #define ALIGN_DOWN(x, a)        __ALIGN_KERNEL((x) - ((a) - 1), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:58:41: note: in expansion of macro 'ALIGN_DOWN'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                         ^~~~~~~~~~
   include/linux/pageblock-flags.h:58:59: note: in expansion of macro 'pageblock_nr_pages'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                                           ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1360:25: note: in expansion of macro 'pageblock_start_pfn'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                         ^~~~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/linux/minmax.h:28:27: note: in definition of macro '__cmp'
      28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
         |                           ^
   include/linux/minmax.h:74:25: note: in expansion of macro '__careful_cmp'
      74 | #define max(x, y)       __careful_cmp(x, y, >)
         |                         ^~~~~~~~~~~~~
   mm/compaction.c:1360:21: note: in expansion of macro 'max'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                     ^~~
   include/uapi/linux/const.h:31:41: note: in expansion of macro '__ALIGN_KERNEL_MASK'
      31 | #define __ALIGN_KERNEL(x, a)            __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
         |                                         ^~~~~~~~~~~~~~~~~~~
   include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
       9 | #define ALIGN_DOWN(x, a)        __ALIGN_KERNEL((x) - ((a) - 1), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:58:41: note: in expansion of macro 'ALIGN_DOWN'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                         ^~~~~~~~~~
   include/linux/pageblock-flags.h:58:59: note: in expansion of macro 'pageblock_nr_pages'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                                           ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1360:25: note: in expansion of macro 'pageblock_start_pfn'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                         ^~~~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/linux/minmax.h:28:27: note: in definition of macro '__cmp'
      28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
         |                           ^
   include/linux/minmax.h:74:25: note: in expansion of macro '__careful_cmp'
      74 | #define max(x, y)       __careful_cmp(x, y, >)
         |                         ^~~~~~~~~~~~~
   mm/compaction.c:1360:21: note: in expansion of macro 'max'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                     ^~~
   include/uapi/linux/const.h:31:41: note: in expansion of macro '__ALIGN_KERNEL_MASK'
      31 | #define __ALIGN_KERNEL(x, a)            __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
         |                                         ^~~~~~~~~~~~~~~~~~~
   include/linux/align.h:9:33: note: in expansion of macro '__ALIGN_KERNEL'
       9 | #define ALIGN_DOWN(x, a)        __ALIGN_KERNEL((x) - ((a) - 1), (a))
         |                                 ^~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:58:41: note: in expansion of macro 'ALIGN_DOWN'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                         ^~~~~~~~~~
   include/linux/pageblock-flags.h:58:59: note: in expansion of macro 'pageblock_nr_pages'
      58 | #define pageblock_start_pfn(pfn)        ALIGN_DOWN((pfn), pageblock_nr_pages)
         |                                                           ^~~~~~~~~~~~~~~~~~
   mm/compaction.c:1360:25: note: in expansion of macro 'pageblock_start_pfn'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                         ^~~~~~~~~~~~~~~~~~~
   include/linux/pageblock-flags.h:55:38: warning: left shift count is negative [-Wshift-count-negative]
      55 | #define pageblock_nr_pages      (1UL << pageblock_order)
         |                                      ^~
   include/linux/minmax.h:28:40: note: in definition of macro '__cmp'
      28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
         |                                        ^
   include/linux/minmax.h:74:25: note: in expansion of macro '__careful_cmp'
      74 | #define max(x, y)       __careful_cmp(x, y, >)
         |                         ^~~~~~~~~~~~~
   mm/compaction.c:1360:21: note: in expansion of macro 'max'
    1360 |         start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn);
         |                     ^~~
--
   In file included from include/linux/pgtable.h:6,
                    from include/linux/mm.h:29,
                    from mm/huge_memory.c:8:
   include/linux/swapops.h: In function 'swp_entry_to_pmd':
   arch/loongarch/include/asm/pgtable.h:277:34: warning: missing braces around initializer [-Wmissing-braces]
     277 | #define __swp_entry_to_pmd(x)   ((pmd_t) { (x).val | _PAGE_HUGE })
         |                                  ^
   include/linux/swapops.h:519:16: note: in expansion of macro '__swp_entry_to_pmd'
     519 |         return __swp_entry_to_pmd(arch_entry);
         |                ^~~~~~~~~~~~~~~~~~
   In file included from <command-line>:
   mm/huge_memory.c: In function 'hugepage_init':
>> include/linux/compiler_types.h:397:45: error: call to '__compiletime_assert_311' declared with attribute error: BUILD_BUG_ON failed: ((16 + (16 - 3))-16) > -1
     397 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |                                             ^
   include/linux/compiler_types.h:378:25: note: in definition of macro '__compiletime_assert'
     378 |                         prefix ## suffix();                             \
         |                         ^~~~~~
   include/linux/compiler_types.h:397:9: note: in expansion of macro '_compiletime_assert'
     397 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
      39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
         |                                     ^~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
      50 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
         |         ^~~~~~~~~~~~~~~~
   include/linux/bug.h:24:25: note: in expansion of macro 'BUILD_BUG_ON'
      24 |                         BUILD_BUG_ON(cond);             \
         |                         ^~~~~~~~~~~~
   mm/huge_memory.c:470:9: note: in expansion of macro 'MAYBE_BUILD_BUG_ON'
     470 |         MAYBE_BUILD_BUG_ON(HPAGE_PMD_ORDER > MAX_ORDER);
         |         ^~~~~~~~~~~~~~~~~~


vim +/__compiletime_assert_311 +397 include/linux/compiler_types.h

eb5c2d4b45e3d2 Will Deacon 2020-07-21  383  
eb5c2d4b45e3d2 Will Deacon 2020-07-21  384  #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21  385  	__compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21  386  
eb5c2d4b45e3d2 Will Deacon 2020-07-21  387  /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21  388   * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21  389   * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21  390   * @msg:       a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21  391   *
eb5c2d4b45e3d2 Will Deacon 2020-07-21  392   * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21  393   * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21  394   * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21  395   */
eb5c2d4b45e3d2 Will Deacon 2020-07-21  396  #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @397  	_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21  398  

:::::: The code at line 397 was first introduced by commit
:::::: eb5c2d4b45e3d2d5d052ea6b8f1463976b1020d5 compiler.h: Move compiletime_assert() macros into compiler_types.h

:::::: TO: Will Deacon <will@xxxxxxxxxx>
:::::: CC: Will Deacon <will@xxxxxxxxxx>

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




[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