lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201906220240.t2dkh6EG%lkp@intel.com>
Date:   Sat, 22 Jun 2019 02:52:46 +0800
From:   kbuild test robot <lkp@...el.com>
To:     "Chang S. Bae" <chang.seok.bae@...el.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        tipbuild@...or.com, Thomas Gleixner <tglx@...utronix.de>
Subject: [tip:WIP.x86/cpu 8/17] include/linux/irqflags.h:122:3: note: in
 expansion of macro 'if'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/cpu
head:   707e6befd43ba8d754485d8d02ed4f49ec8ec667
commit: 41cf6ccef21080168970226f657daff26ecaf3e1 [8/17] x86/process/64: Use FSGSBASE instructions on thread copy and ptrace
config: x86_64-randconfig-x016-201924 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 41cf6ccef21080168970226f657daff26ecaf3e1
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86//kernel/process_64.c: In function 'save_fsgs':
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/irqflags.h:83:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:115:3: note: in expansion of macro 'raw_local_irq_save'
      raw_local_irq_save(flags);  \
      ^~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:256:3: note: in expansion of macro 'local_irq_save'
      local_irq_save(&flags);
      ^~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/processor.h:33:0,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   include/linux/irqflags.h:84:9: error: lvalue required as left operand of assignment
      flags = arch_local_irq_save();  \
            ^
   include/linux/irqflags.h:115:3: note: in expansion of macro 'raw_local_irq_save'
      raw_local_irq_save(flags);  \
      ^~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:256:3: note: in expansion of macro 'local_irq_save'
      local_irq_save(&flags);
      ^~~~~~~~~~~~~~
   In file included from include/linux/ioport.h:13:0,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:98:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:162:19: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline int arch_irqs_disabled_flags(unsigned long flags)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/ioport.h:13:0,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:98:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:162:19: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline int arch_irqs_disabled_flags(unsigned long flags)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/ioport.h:13:0,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:98:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:162:19: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline int arch_irqs_disabled_flags(unsigned long flags)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/irqflags.h:88:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:123:4: note: in expansion of macro 'raw_local_irq_restore'
       raw_local_irq_restore(flags); \
       ^~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/processor.h:33:0,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86//kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_local_irq_restore' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/irqflags.h:89:26: note: in definition of macro 'raw_local_irq_restore'
      arch_local_irq_restore(flags);  \
                             ^~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:82:28: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline notrace void arch_local_irq_restore(unsigned long flags)
                               ^~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/irqflags.h:88:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:127:4: note: in expansion of macro 'raw_local_irq_restore'
       raw_local_irq_restore(flags); \
       ^~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/processor.h:33:0,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86//kernel/process_64.c:18:
   arch/x86//kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_local_irq_restore' makes integer from pointer without a cast [-Wint-conversion]
--
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/kernel/process_64.c: In function 'save_fsgs':
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/irqflags.h:83:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:115:3: note: in expansion of macro 'raw_local_irq_save'
      raw_local_irq_save(flags);  \
      ^~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:256:3: note: in expansion of macro 'local_irq_save'
      local_irq_save(&flags);
      ^~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/processor.h:33:0,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   include/linux/irqflags.h:84:9: error: lvalue required as left operand of assignment
      flags = arch_local_irq_save();  \
            ^
   include/linux/irqflags.h:115:3: note: in expansion of macro 'raw_local_irq_save'
      raw_local_irq_save(flags);  \
      ^~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:256:3: note: in expansion of macro 'local_irq_save'
      local_irq_save(&flags);
      ^~~~~~~~~~~~~~
   In file included from include/linux/ioport.h:13:0,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:98:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:162:19: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline int arch_irqs_disabled_flags(unsigned long flags)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/ioport.h:13:0,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:98:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:162:19: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline int arch_irqs_disabled_flags(unsigned long flags)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/ioport.h:13:0,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:98:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> include/linux/irqflags.h:122:3: note: in expansion of macro 'if'
      if (raw_irqs_disabled_flags(flags)) { \
      ^~
   include/linux/irqflags.h:122:7: note: in expansion of macro 'raw_irqs_disabled_flags'
      if (raw_irqs_disabled_flags(flags)) { \
          ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:162:19: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline int arch_irqs_disabled_flags(unsigned long flags)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/irqflags.h:88:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:123:4: note: in expansion of macro 'raw_local_irq_restore'
       raw_local_irq_restore(flags); \
       ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/processor.h:33:0,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_local_irq_restore' makes integer from pointer without a cast [-Wint-conversion]
      local_irq_restore(&flags);
                        ^
   include/linux/irqflags.h:89:26: note: in definition of macro 'raw_local_irq_restore'
      arch_local_irq_restore(flags);  \
                             ^~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16:0,
                    from arch/x86/include/asm/processor.h:33,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/include/asm/irqflags.h:82:28: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
    static inline notrace void arch_local_irq_restore(unsigned long flags)
                               ^~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/linux/kobject.h:19,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
     (void)(&__dummy == &__dummy2); \
                     ^
   include/linux/irqflags.h:88:3: note: in expansion of macro 'typecheck'
      typecheck(unsigned long, flags); \
      ^~~~~~~~~
   include/linux/irqflags.h:127:4: note: in expansion of macro 'raw_local_irq_restore'
       raw_local_irq_restore(flags); \
       ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/process_64.c:258:3: note: in expansion of macro 'local_irq_restore'
      local_irq_restore(&flags);
      ^~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/processor.h:33:0,
                    from include/linux/mutex.h:19,
                    from include/linux/kernfs.h:12,
                    from include/linux/sysfs.h:16,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:16,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_64.c:18:
   arch/x86/kernel/process_64.c:258:21: warning: passing argument 1 of 'arch_local_irq_restore' makes integer from pointer without a cast [-Wint-conversion]

vim +/if +122 include/linux/irqflags.h

de30a2b35 Ingo Molnar    2006-07-03  103  
df9ee2927 David Howells  2010-10-07  104  /*
df9ee2927 David Howells  2010-10-07  105   * The local_irq_*() APIs are equal to the raw_local_irq*()
df9ee2927 David Howells  2010-10-07  106   * if !TRACE_IRQFLAGS.
df9ee2927 David Howells  2010-10-07  107   */
db2dcb4f9 Jan Beulich    2015-01-20  108  #ifdef CONFIG_TRACE_IRQFLAGS
de30a2b35 Ingo Molnar    2006-07-03  109  #define local_irq_enable() \
de30a2b35 Ingo Molnar    2006-07-03  110  	do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0)
de30a2b35 Ingo Molnar    2006-07-03  111  #define local_irq_disable() \
de30a2b35 Ingo Molnar    2006-07-03  112  	do { raw_local_irq_disable(); trace_hardirqs_off(); } while (0)
de30a2b35 Ingo Molnar    2006-07-03  113  #define local_irq_save(flags)				\
3f307891c Steven Rostedt 2008-07-25  114  	do {						\
3f307891c Steven Rostedt 2008-07-25  115  		raw_local_irq_save(flags);		\
3f307891c Steven Rostedt 2008-07-25  116  		trace_hardirqs_off();			\
3f307891c Steven Rostedt 2008-07-25  117  	} while (0)
3f307891c Steven Rostedt 2008-07-25  118  
de30a2b35 Ingo Molnar    2006-07-03  119  
de30a2b35 Ingo Molnar    2006-07-03  120  #define local_irq_restore(flags)			\
de30a2b35 Ingo Molnar    2006-07-03  121  	do {						\
de30a2b35 Ingo Molnar    2006-07-03 @122  		if (raw_irqs_disabled_flags(flags)) {	\
de30a2b35 Ingo Molnar    2006-07-03  123  			raw_local_irq_restore(flags);	\
de30a2b35 Ingo Molnar    2006-07-03  124  			trace_hardirqs_off();		\
de30a2b35 Ingo Molnar    2006-07-03  125  		} else {				\
de30a2b35 Ingo Molnar    2006-07-03  126  			trace_hardirqs_on();		\
de30a2b35 Ingo Molnar    2006-07-03  127  			raw_local_irq_restore(flags);	\
de30a2b35 Ingo Molnar    2006-07-03  128  		}					\
de30a2b35 Ingo Molnar    2006-07-03  129  	} while (0)
de30a2b35 Ingo Molnar    2006-07-03  130  

:::::: The code at line 122 was first introduced by commit
:::::: de30a2b355ea85350ca2f58f3b9bf4e5bc007986 [PATCH] lockdep: irqtrace subsystem, core

:::::: TO: Ingo Molnar <mingo@...e.hu>
:::::: CC: Linus Torvalds <torvalds@...osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (28858 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ