Re: [PATCH v6 00/12] mm/debug_vm_pgtable: Enhancements

2021-08-13 Thread Gavin Shan

Hi Vineet,

On 8/14/21 5:43 AM, Vineet Gupta wrote:

On 8/13/21 2:25 AM, Gavin Shan wrote:

On 8/12/21 9:11 PM, Anshuman Khandual wrote:

On 8/9/21 2:56 PM, Gavin Shan wrote:

There are couple of issues with current implementations and this series
tries to resolve the issues:

   (a) All needed information are scattered in variables, passed to various
   test functions. The code is organized in pretty much relaxed fashion.

   (b) The page isn't allocated from buddy during page table entry modifying
   tests. The page can be invalid, conflicting to the implementations
   of set_xxx_at() on ARM64. The target page is accessed so that the
   iCache can be flushed when execution permission is given on ARM64.
   Besides, the target page can be unmapped and accessing to it causes
   kernel crash.

"struct pgtable_debug_args" is introduced to address issue (a). For issue
(b), the used page is allocated from buddy in page table entry modifying
tests. The corresponding tets will be skipped if we fail to allocate the
(huge) page. For other test cases, the original page around to kernel
symbol (@start_kernel) is still used.

The patches are organized as below. PATCH[2-10] could be combined to one
patch, but it will make the review harder:

   PATCH[1] introduces "struct pgtable_debug_args" as place holder of all
    needed information. With it, the old and new implementation
    can coexist.
   PATCH[2-10] uses "struct pgtable_debug_args" in various test functions.
   PATCH[11] removes the unused code for old implementation.
   PATCH[12] fixes the issue of corrupted page flag for ARM64

Changelog
=
v6:
    * Populate saved page table entry pointers after
  they're allocated in init_args() (Anshuman)
    * Fix imbalanced preemption count issue by replacing
  pte_alloc_mmap() with pte_alloc() in init_args() (syzbot)


+ vgu...@kernel.org


Please also keep linux-snps-arc CC'ed for ARC changes.



Sure.



Hello Gavin/Vineet,

This series still need to be tested on ARC ?



Yes, I'm unable to test ARC as it's not supported by QEMU yet.
It would great if Vineet can give it a try on ARC :)


We do have a working QEMU (in the process of being upstreamed) you could try
https://github.com/foss-for-synopsys-dwc-arc-processors/qemu #master

Is this code in some shared git repo we can pull - instead of apply 8 files.



Here is repo with v6 series included. Please help to have
a try.

   https://github.com/gwshan/linux  # kvm/arm64_debug

I tried to build the cross-compiler with buildroot with following
2 repos. Unfortunately, none of them worked for me. The QEMU
binary can be built successfully with the provided repo though.


[1] git://github.com/foss-for-synopsys-dwc-arc-processors/buildroot.git
(branch: master)

There are build errors after choosing little-endian ARM from
"make menuconfig"

[2] https://github.com/buildroot/buildroot
(branch: master)

The build is successful, but the kernel can't be built because
of the following errors:
   
# make ARCH=arc CROSS_COMPILE=arc-linux- axs103_smp_defconfig

# make -j 40
   :
LD  vmlinux.o
arc-linux-ld: error: attempting to link 
/home/gavin/sandbox/buildroot/buildroot.arc/output/host/lib
/gcc/arc-buildroot-linux-uclibc/10.2.0/libgcc.a(_muldi3.o) with a binary 
vmlinux.o of different
architecture

Thanks,
Gavin


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v6 00/12] mm/debug_vm_pgtable: Enhancements

2021-08-13 Thread Vineet Gupta

On 8/13/21 2:25 AM, Gavin Shan wrote:

Hi Anshuman and Vineet,

On 8/12/21 9:11 PM, Anshuman Khandual wrote:

On 8/9/21 2:56 PM, Gavin Shan wrote:

There are couple of issues with current implementations and this series
tries to resolve the issues:

   (a) All needed information are scattered in variables, passed to 
various
   test functions. The code is organized in pretty much relaxed 
fashion.


   (b) The page isn't allocated from buddy during page table entry 
modifying
   tests. The page can be invalid, conflicting to the 
implementations
   of set_xxx_at() on ARM64. The target page is accessed so that 
the
   iCache can be flushed when execution permission is given on 
ARM64.
   Besides, the target page can be unmapped and accessing to it 
causes

   kernel crash.

"struct pgtable_debug_args" is introduced to address issue (a). For 
issue
(b), the used page is allocated from buddy in page table entry 
modifying
tests. The corresponding tets will be skipped if we fail to allocate 
the

(huge) page. For other test cases, the original page around to kernel
symbol (@start_kernel) is still used.

The patches are organized as below. PATCH[2-10] could be combined to 
one

patch, but it will make the review harder:

   PATCH[1] introduces "struct pgtable_debug_args" as place holder 
of all

    needed information. With it, the old and new implementation
    can coexist.
   PATCH[2-10] uses "struct pgtable_debug_args" in various test 
functions.

   PATCH[11] removes the unused code for old implementation.
   PATCH[12] fixes the issue of corrupted page flag for ARM64

Changelog
=
v6:
    * Populate saved page table entry pointers after
  they're allocated in init_args() (Anshuman)
    * Fix imbalanced preemption count issue by replacing
  pte_alloc_mmap() with pte_alloc() in init_args() (syzbot)


+ vgu...@kernel.org


Please also keep linux-snps-arc CC'ed for ARC changes.



Hello Gavin/Vineet,

This series still need to be tested on ARC ?



Yes, I'm unable to test ARC as it's not supported by QEMU yet.
It would great if Vineet can give it a try on ARC :)


We do have a working QEMU (in the process of being upstreamed) you could try
https://github.com/foss-for-synopsys-dwc-arc-processors/qemu #master

Is this code in some shared git repo we can pull - instead of apply 8 files.

Thx,
-Vineet

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH linux-nest] arch/arc/kernel/: fix misspellings using codespell tool

2021-08-13 Thread Yi Wang
From: Changcheng Deng 

Some typos are found out by codespell tool:

./intc-compact.c:145: prioity ==> priority
./smp.c:286: recevier ==> receiver
./stacktrace.c:152 prelogue ==> prologue

Fix typos found by codespell.

Reported-by: Zeal Robot 
Signed-off-by: Changcheng Deng 
Signed-off-by: Yi Wang 
---
 arch/arc/kernel/intc-compact.c | 2 +-
 arch/arc/kernel/smp.c  | 2 +-
 arch/arc/kernel/stacktrace.c   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arc/kernel/intc-compact.c b/arch/arc/kernel/intc-compact.c
index a86641b..6885e42 100644
--- a/arch/arc/kernel/intc-compact.c
+++ b/arch/arc/kernel/intc-compact.c
@@ -142,7 +142,7 @@ static int arc_intc_domain_map(struct irq_domain *d, 
unsigned int irq,
  *Time hard-ISR, timer_interrupt( ) calls spin_unlock_irq several times.
  *Here local_irq_enable( ) shd not re-enable lower priority interrupts
  * -If called from soft-ISR, it must re-enable all interrupts
- *soft ISR are low prioity jobs which can be very slow, thus all IRQs
+ *soft ISR are low priority jobs which can be very slow, thus all IRQs
  *must be enabled while they run.
  *Now hardware context wise we may still be in L2 ISR (not done rtie)
  *still we must re-enable both L1 and L2 IRQs
diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c
index db0e104..b5b5fe2 100644
--- a/arch/arc/kernel/smp.c
+++ b/arch/arc/kernel/smp.c
@@ -283,7 +283,7 @@ static void ipi_send_msg_one(int cpu, enum ipi_msg_type msg)
/*
 * Call the platform specific IPI kick function, but avoid if possible:
 * Only do so if there's no pending msg from other concurrent sender(s).
-* Otherwise, recevier will see this msg as well when it takes the
+* Otherwise, receiver will see this msg as well when it takes the
 * IPI corresponding to that msg. This is true, even if it is already in
 * IPI handler, because !@old means it has not yet dequeued the msg(s)
 * so @new msg can be a free-loader
diff --git a/arch/arc/kernel/stacktrace.c b/arch/arc/kernel/stacktrace.c
index 1b9576d..c376ff3 100644
--- a/arch/arc/kernel/stacktrace.c
+++ b/arch/arc/kernel/stacktrace.c
@@ -149,7 +149,7 @@
 #else
/* On ARC, only Dward based unwinder works. fp based backtracing is
 * not possible (-fno-omit-frame-pointer) because of the way function
-* prelogue is setup (callee regs saved and then fp set and not other
+* prologue is setup (callee regs saved and then fp set and not other
 * way around
 */
pr_warn_once("CONFIG_ARC_DW2_UNWIND needs to be enabled\n");
-- 
1.8.3.1___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v2 13/19] ARC: mm: disintegrate mmu.h (arcv2 bits out)

2021-08-13 Thread Vineet Gupta

On 8/12/21 9:01 PM, kernel test robot wrote:

Hi Vineet,

I love your patch! Yet something to improve:

[auto build test ERROR on arc/for-next]
[also build test ERROR on next-20210812]
[cannot apply to linux/master linus/master v5.14-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:https://github.com/0day-ci/linux/commits/Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023
base:https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git  for-next
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
 
wgethttps://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross  
-O ~/bin/make.cross
 chmod +x ~/bin/make.cross
 
#https://github.com/0day-ci/linux/commit/0411d3a95cb73722d026f7b3d9c9d8abab8c0d79
 git remote add linux-reviewhttps://github.com/0day-ci/linux
 git fetch --no-tags linux-review 
Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023
 git checkout 0411d3a95cb73722d026f7b3d9c9d8abab8c0d79
 # save the attached .config to linux build tree
 COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross 
ARCH=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot

All errors (new ones prefixed by >>):

In file included from arch/arc/include/asm/mmu.h:19,
 from include/linux/mm_types.h:19,
 from include/linux/buildid.h:5,
 from include/linux/module.h:14,
 from lib/test_bitops.c:9:

arch/arc/include/asm/mmu-arcv2.h:80:1: error: 'inline' is not at beginning of 
declaration [-Werror=old-style-declaration]

   80 | static void inline mmu_setup_asid(struct mm_struct *mm, unsigned 
long asid)
  | ^~
arch/arc/include/asm/mmu-arcv2.h:85:1: error: 'inline' is not at beginning 
of declaration [-Werror=old-style-declaration]
   85 | static void inline mmu_setup_pgd(struct mm_struct *mm, void *pgd)
  | ^~
cc1: all warnings being treated as errors


Strange my gcc11 is not tripping on this snafu. Fixed now.
Thx for the report as always.

-Vineet

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v2 08/19] ARC: mm: switch pgtable_t back to struct page *

2021-08-13 Thread Vineet Gupta

On 8/13/21 3:45 AM, kernel test robot wrote:

Hi Vineet,

I love your patch! Yet something to improve:

[auto build test ERROR on arc/for-next]
[also build test ERROR on linux/master linus/master v5.14-rc5 next-20210812]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:
https://github.com/0day-ci/linux/commits/Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023
base:   https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next
config: arc-randconfig-s032-20210812 (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
reproduce:
 wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
 chmod +x ~/bin/make.cross
 # apt-get install sparse
 # sparse version: v0.6.3-348-gf0e6938b-dirty
 # 
https://github.com/0day-ci/linux/commit/36e618e081c5a49b2aff51823c5f012045e902ef
 git remote add linux-review https://github.com/0day-ci/linux
 git fetch --no-tags linux-review 
Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023
 git checkout 36e618e081c5a49b2aff51823c5f012045e902ef
 # save the attached .config to linux build tree
 COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

arch/arc/mm/init.c:35:13: warning: no previous prototype for 
'arc_get_mem_sz' [-Wmissing-prototypes]
   35 | long __init arc_get_mem_sz(void)
  | ^~
arch/arc/mm/init.c:88:13: warning: no previous prototype for 
'setup_arch_memory' [-Wmissing-prototypes]
   88 | void __init setup_arch_memory(void)
  | ^
In file included from :
arch/arc/mm/init.c: In function 'mem_init':

include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_328' 
declared with attribute error: BUILD_BUG_ON failed: (PTRS_PER_PGD * sizeof(pgd_t)) 
> PAGE_SIZE

  328 |  _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
  |  ^
include/linux/compiler_types.h:309:4: note: in definition of macro 
'__compiletime_assert'
  309 |prefix ## suffix();\
  |^~
include/linux/compiler_types.h:328:2: note: in expansion of macro 
'_compiletime_assert'
  328 |  _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:2: note: in expansion of macro 
'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
  |  ^~~~
arch/arc/mm/init.c:193:2: note: in expansion of macro 'BUILD_BUG_ON'
  193 |  BUILD_BUG_ON((PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE);
  |  ^~~~



Thx for the report. This is 4K page config, where PGDIR_SHIFT 21 causes 
32-21 = 11 bits or 2k entries which won't fit in 4k page.

I've added the fix and added Tested-by.

-Vineet

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[linux-next:master 5325/7963] fs/file.c:401:54: sparse: sparse: incorrect type in initializer (different address spaces)

2021-08-13 Thread kernel test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   4b358aabb93a2c654cd1dcab1a25a589f6e2b153
commit: 9cf1d7d830f4a586dfa4ddcaf9eae3959e0708ef [5325/7963] ARC: cmpxchg/xchg: 
rewrite as macros to make type safe
config: arc-randconfig-s031-20210813 (attached as .config)
compiler: arc-elf-gcc (GCC) 10.3.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-348-gf0e6938b-dirty
# 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9cf1d7d830f4a586dfa4ddcaf9eae3959e0708ef
git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 9cf1d7d830f4a586dfa4ddcaf9eae3959e0708ef
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 


sparse warnings: (new ones prefixed by >>)
   fs/file.c:350:17: sparse: sparse: incorrect type in assignment (different 
address spaces) @@ expected struct file **old_fds @@ got struct file 
[noderef] __rcu **fd @@
   fs/file.c:350:17: sparse: expected struct file **old_fds
   fs/file.c:350:17: sparse: got struct file [noderef] __rcu **fd
   fs/file.c:351:17: sparse: sparse: incorrect type in assignment (different 
address spaces) @@ expected struct file **new_fds @@ got struct file 
[noderef] __rcu **fd @@
   fs/file.c:351:17: sparse: expected struct file **new_fds
   fs/file.c:351:17: sparse: got struct file [noderef] __rcu **fd
   fs/file.c:366:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/file.c:366:17: sparse:struct file [noderef] __rcu *
   fs/file.c:366:17: sparse:struct file *
>> fs/file.c:401:54: sparse: sparse: incorrect type in initializer (different 
>> address spaces) @@ expected struct file *file @@ got struct file 
>> [noderef] __rcu *[assigned] _val_ @@
   fs/file.c:441:28: sparse: sparse: incorrect type in initializer (different 
address spaces) @@ expected struct fdtable [noderef] __rcu *fdt @@ got 
struct fdtable * @@
   fs/file.c:608:14: sparse: sparse: incorrect type in assignment (different 
address spaces) @@ expected struct file *file @@ got struct file 
[noderef] __rcu * @@
   fs/file.c:762:14: sparse: sparse: incorrect type in assignment (different 
address spaces) @@ expected struct file *file @@ got struct file 
[noderef] __rcu * @@
   fs/file.c:813:30: sparse: sparse: incorrect type in assignment (different 
address spaces) @@ expected struct file *file @@ got struct file 
[noderef] __rcu * @@
   fs/file.c:1038:16: sparse: sparse: incorrect type in assignment (different 
address spaces) @@ expected struct file *tofree @@ got struct file 
[noderef] __rcu * @@

vim +401 fs/file.c

02afc6267f6d55 Al Viro  2008-05-08  382  
ce08b62d18b3f9 Oleg Nesterov2014-01-11  383  static struct fdtable 
*close_files(struct files_struct * files)
7cf4dc3c8dbfdf Al Viro  2012-08-15  384  {
7cf4dc3c8dbfdf Al Viro  2012-08-15  385 /*
7cf4dc3c8dbfdf Al Viro  2012-08-15  386  * It is safe to 
dereference the fd table without RCU or
7cf4dc3c8dbfdf Al Viro  2012-08-15  387  * ->file_lock because 
this is the last reference to the
ce08b62d18b3f9 Oleg Nesterov2014-01-11  388  * files structure.
7cf4dc3c8dbfdf Al Viro  2012-08-15  389  */
ce08b62d18b3f9 Oleg Nesterov2014-01-11  390 struct fdtable *fdt = 
rcu_dereference_raw(files->fdt);
9b80a184eaadc1 Alexey Dobriyan  2016-09-02  391 unsigned int i, j = 0;
ce08b62d18b3f9 Oleg Nesterov2014-01-11  392  
7cf4dc3c8dbfdf Al Viro  2012-08-15  393 for (;;) {
7cf4dc3c8dbfdf Al Viro  2012-08-15  394 unsigned long 
set;
7cf4dc3c8dbfdf Al Viro  2012-08-15  395 i = j * 
BITS_PER_LONG;
7cf4dc3c8dbfdf Al Viro  2012-08-15  396 if (i >= 
fdt->max_fds)
7cf4dc3c8dbfdf Al Viro  2012-08-15  397 break;
7cf4dc3c8dbfdf Al Viro  2012-08-15  398 set = 
fdt->open_fds[j++];
7cf4dc3c8dbfdf Al Viro  2012-08-15  399 while (set) {
7cf4dc3c8dbfdf Al Viro  2012-08-15  400 if (set 
& 1) {
7cf4dc3c8dbfdf Al Viro  2012-08-15 @401 
struct file * file = xchg(&fdt->fd[i], NULL);
7cf4dc3c8dbfdf Al Viro  2012-08-15  402 

Re: [PATCH v2 08/19] ARC: mm: switch pgtable_t back to struct page *

2021-08-13 Thread kernel test robot
Hi Vineet,

I love your patch! Yet something to improve:

[auto build test ERROR on arc/for-next]
[also build test ERROR on linux/master linus/master v5.14-rc5 next-20210812]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:
https://github.com/0day-ci/linux/commits/Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023
base:   https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next
config: arc-randconfig-s032-20210812 (attached as .config)
compiler: arceb-elf-gcc (GCC) 10.3.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-348-gf0e6938b-dirty
# 
https://github.com/0day-ci/linux/commit/36e618e081c5a49b2aff51823c5f012045e902ef
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Vineet-Gupta/ARC-mm-updates-support-3-4-levels-and-asm-generic-pgalloc/20210813-074023
git checkout 36e618e081c5a49b2aff51823c5f012045e902ef
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

   arch/arc/mm/init.c:35:13: warning: no previous prototype for 
'arc_get_mem_sz' [-Wmissing-prototypes]
  35 | long __init arc_get_mem_sz(void)
 | ^~
   arch/arc/mm/init.c:88:13: warning: no previous prototype for 
'setup_arch_memory' [-Wmissing-prototypes]
  88 | void __init setup_arch_memory(void)
 | ^
   In file included from :
   arch/arc/mm/init.c: In function 'mem_init':
>> include/linux/compiler_types.h:328:38: error: call to 
>> '__compiletime_assert_328' declared with attribute error: BUILD_BUG_ON 
>> failed: (PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE
 328 |  _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
 |  ^
   include/linux/compiler_types.h:309:4: note: in definition of macro 
'__compiletime_assert'
 309 |prefix ## suffix();\
 |^~
   include/linux/compiler_types.h:328:2: note: in expansion of macro 
'_compiletime_assert'
 328 |  _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:2: note: in expansion of macro 
'BUILD_BUG_ON_MSG'
  50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
 |  ^~~~
   arch/arc/mm/init.c:193:2: note: in expansion of macro 'BUILD_BUG_ON'
 193 |  BUILD_BUG_ON((PTRS_PER_PGD * sizeof(pgd_t)) > PAGE_SIZE);
 |  ^~~~


vim +/__compiletime_assert_328 +328 include/linux/compiler_types.h

eb5c2d4b45e3d2 Will Deacon 2020-07-21  314  
eb5c2d4b45e3d2 Will Deacon 2020-07-21  315  #define 
_compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21  316  __compiletime_assert(condition, 
msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21  317  
eb5c2d4b45e3d2 Will Deacon 2020-07-21  318  /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21  319   * compiletime_assert - break build 
and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21  320   * @condition: a compile-time 
constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21  321   * @msg:   a message to emit if 
condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21  322   *
eb5c2d4b45e3d2 Will Deacon 2020-07-21  323   * In tradition of POSIX assert, 
this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21  324   * supplied condition is *false*, 
emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21  325   * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21  326   */
eb5c2d4b45e3d2 Will Deacon 2020-07-21  327  #define 
compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @328  _compiletime_assert(condition, 
msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21  329  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org


.confi