[dm-devel] [dm:for-next 6/11] drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'

kbuild test robot lkp at intel.com
Thu Dec 6 00:31:01 UTC 2018


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
head:   bb4e8f8316b49ff3a716d1d3cacdc3fd8ca8ef19
commit: 729d2b8facea98d83e7df7ff850d79795ed23d3d [6/11] dm: remove the pending IO accounting
config: x86_64-randconfig-r0-12060719 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        git checkout 729d2b8facea98d83e7df7ff850d79795ed23d3d
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/linux/err.h:5:0,
                    from include/linux/kthread.h:5,
                    from drivers//md/dm-core.h:12,
                    from drivers//md/dm.c:8:
   drivers//md/dm.c: In function 'md_in_flight':
   include/linux/percpu-defs.h:219:52: error: invalid operands to binary + (have 'struct disk_stats' and 'int')
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                 ~~~~~ ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
>> drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
          ^~~~~~~~~~
   include/linux/percpu-defs.h:259:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(__p);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:655:19: note: in expansion of macro 'per_cpu_ptr'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:260:10: error: invalid type argument of unary '*' (have 'struct disk_stats')
     (typeof(*(__p)) __kernel __force *)(__p);   \
             ^~~~~~
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
>> drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
          ^~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:655:19: note: in expansion of macro 'per_cpu_ptr'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:219:52: error: invalid operands to binary + (have 'struct disk_stats' and 'int')
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                 ~~~~~ ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
   drivers//md/dm.c:656:7: note: in expansion of macro 'local_read'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
          ^~~~~~~~~~
   include/linux/percpu-defs.h:259:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(__p);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:656:19: note: in expansion of macro 'per_cpu_ptr'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:260:10: error: invalid type argument of unary '*' (have 'struct disk_stats')
     (typeof(*(__p)) __kernel __force *)(__p);   \
             ^~~~~~
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
   drivers//md/dm.c:656:7: note: in expansion of macro 'local_read'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
          ^~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:656:19: note: in expansion of macro 'per_cpu_ptr'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:219:52: error: invalid operands to binary + (have 'struct disk_stats' and 'int')
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                 ~~~~~ ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
>> drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
          ^~~~~~~~~~
   include/linux/percpu-defs.h:259:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(__p);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:655:19: note: in expansion of macro 'per_cpu_ptr'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:260:10: error: invalid type argument of unary '*' (have 'struct disk_stats')
     (typeof(*(__p)) __kernel __force *)(__p);   \
             ^~~~~~
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
>> drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
          ^~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:655:19: note: in expansion of macro 'per_cpu_ptr'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:219:52: error: invalid operands to binary + (have 'struct disk_stats' and 'int')
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                 ~~~~~ ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
   drivers//md/dm.c:656:7: note: in expansion of macro 'local_read'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
          ^~~~~~~~~~
   include/linux/percpu-defs.h:259:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(__p);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:656:19: note: in expansion of macro 'per_cpu_ptr'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:260:10: error: invalid type argument of unary '*' (have 'struct disk_stats')
     (typeof(*(__p)) __kernel __force *)(__p);   \
             ^~~~~~
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
   drivers//md/dm.c:656:7: note: in expansion of macro 'local_read'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
          ^~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:656:19: note: in expansion of macro 'per_cpu_ptr'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:219:52: error: invalid operands to binary + (have 'struct disk_stats' and 'int')
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                 ~~~~~ ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
>> drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
          ^~~~~~~~~~
   include/linux/percpu-defs.h:259:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(__p);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:655:19: note: in expansion of macro 'per_cpu_ptr'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:260:10: error: invalid type argument of unary '*' (have 'struct disk_stats')
     (typeof(*(__p)) __kernel __force *)(__p);   \
             ^~~~~~
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
>> drivers//md/dm.c:655:7: note: in expansion of macro 'local_read'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
          ^~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:655:19: note: in expansion of macro 'per_cpu_ptr'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:219:52: error: invalid operands to binary + (have 'struct disk_stats' and 'int')
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                 ~~~~~ ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
   drivers//md/dm.c:656:7: note: in expansion of macro 'local_read'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
          ^~~~~~~~~~
   include/linux/percpu-defs.h:259:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(__p);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:656:19: note: in expansion of macro 'per_cpu_ptr'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
                      ^~~~~~~~~~~
   include/linux/percpu-defs.h:260:10: error: invalid type argument of unary '*' (have 'struct disk_stats')
     (typeof(*(__p)) __kernel __force *)(__p);   \
             ^~~~~~
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers//md/dm.c:655:3: note: in expansion of macro 'if'
      if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
      ^~
   drivers//md/dm.c:656:7: note: in expansion of macro 'local_read'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
          ^~~~~~~~~~
   include/linux/percpu-defs.h:263:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
   drivers//md/dm.c:656:19: note: in expansion of macro 'per_cpu_ptr'
          local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
                      ^~~~~~~~~~~

vim +/local_read +655 drivers//md/dm.c

   648	
   649	static bool md_in_flight(struct mapped_device *md)
   650	{
   651		int cpu;
   652		struct hd_struct *part = &dm_disk(md)->part0;
   653	
   654		for_each_possible_cpu(cpu) {
 > 655			if (local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[0]) ||
   656			    local_read(&per_cpu_ptr(part->dkstats, cpu)->in_flight[1]))
   657				return true;
   658		}
   659	
   660		return false;
   661	}
   662	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 26061 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20181206/2a4cac1a/attachment.gz>


More information about the dm-devel mailing list