From: kernel test robot <lkp@intel.com>
To: "Mike Rapoport (IBM)" <rppt@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>,
David Hildenbrand <david@redhat.com>
Subject: [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: Fri, 24 Mar 2023 05:48:59 +0800 [thread overview]
Message-ID: <202303240542.vEBPNs2Q-lkp@intel.com> (raw)
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@intel.com/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@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303240542.vEBPNs2Q-lkp@intel.com/
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@kernel.org>
:::::: CC: Will Deacon <will@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next reply other threads:[~2023-03-23 21:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-23 21:48 kernel test robot [this message]
2023-03-24 1:07 ` Philip Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202303240542.vEBPNs2Q-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=linux-mm@kvack.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rppt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox