All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-review:UPDATE-20200221-182711/Peter-Zijlstra/tracing-vs-world/20200221-114341 22/22] arch/x86/kernel/alternative.c:977:30: error: inlining failed in call to always_inline 'text_poke_addr': function attribute mismatch
@ 2020-03-01  4:13 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-03-01  4:13 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 12823 bytes --]

tree:   https://github.com/0day-ci/linux/commits/UPDATE-20200221-182711/Peter-Zijlstra/tracing-vs-world/20200221-114341
head:   f4dfc8a95f29bf28eda9253734e8f6ffdc0c3d97
commit: f4dfc8a95f29bf28eda9253734e8f6ffdc0c3d97 [22/22] x86/int3: Ensure that poke_int3_handler() is not sanitized
config: x86_64-randconfig-e002-20200301 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
        git checkout f4dfc8a95f29bf28eda9253734e8f6ffdc0c3d97
        # 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@intel.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/traps.c:15:
   arch/x86/kernel/traps.c: In function 'do_int3':
   arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
    static __always_inline int preempt_count(void)
                               ^~~~~~~~~~~~~
   In file included from arch/x86/include/asm/current.h:5:0,
                    from include/linux/sched.h:12,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/traps.c:15:
   include/linux/preempt.h:102:20: note: called from here
    #define in_nmi()  (preempt_count() & NMI_MASK)
                       ^~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   include/linux/hardirq.h:83:3: note: in expansion of macro 'BUG_ON'
      BUG_ON(in_nmi() == NMI_MASK);   \
      ^~~~~~
   include/linux/hardirq.h:83:10: note: in expansion of macro 'in_nmi'
      BUG_ON(in_nmi() == NMI_MASK);   \
             ^~~~~~
   arch/x86/kernel/traps.c:504:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/traps.c:15:
>> arch/x86/include/asm/preempt.h:77:29: error: inlining failed in call to always_inline '__preempt_count_add': function attribute mismatch
    static __always_inline void __preempt_count_add(int val)
                                ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/interrupt.h:11:0,
                    from arch/x86/kernel/traps.c:16:
   include/linux/hardirq.h:84:3: note: called from here
      __preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/traps.c:504:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/traps.c:15:
   arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
    static __always_inline int preempt_count(void)
                               ^~~~~~~~~~~~~
   In file included from arch/x86/include/asm/current.h:5:0,
                    from include/linux/sched.h:12,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/traps.c:15:
   include/linux/preempt.h:102:20: note: called from here
    #define in_nmi()  (preempt_count() & NMI_MASK)
                       ^~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   include/linux/hardirq.h:93:3: note: in expansion of macro 'BUG_ON'
      BUG_ON(!in_nmi());    \
      ^~~~~~
   include/linux/hardirq.h:93:11: note: in expansion of macro 'in_nmi'
      BUG_ON(!in_nmi());    \
              ^~~~~~
   arch/x86/kernel/traps.c:526:2: note: in expansion of macro 'nmi_exit'
     nmi_exit();
     ^~~~~~~~
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/traps.c:15:
>> arch/x86/include/asm/preempt.h:82:29: error: inlining failed in call to always_inline '__preempt_count_sub': function attribute mismatch
    static __always_inline void __preempt_count_sub(int val)
                                ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/interrupt.h:11:0,
                    from arch/x86/kernel/traps.c:16:
   include/linux/hardirq.h:94:3: note: called from here
      __preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/traps.c:526:2: note: in expansion of macro 'nmi_exit'
     nmi_exit();
     ^~~~~~~~
--
   arch/x86/kernel/alternative.c: In function 'patch_cmp':
>> arch/x86/kernel/alternative.c:977:30: error: inlining failed in call to always_inline 'text_poke_addr': function attribute mismatch
    static __always_inline void *text_poke_addr(struct text_poke_loc *tp)
                                 ^~~~~~~~~~~~~~
   arch/x86/kernel/alternative.c:986:12: note: called from here
     if (key < text_poke_addr(tp))
               ^~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/alternative.c:977:30: error: inlining failed in call to always_inline 'text_poke_addr': function attribute mismatch
    static __always_inline void *text_poke_addr(struct text_poke_loc *tp)
                                 ^~~~~~~~~~~~~~
   arch/x86/kernel/alternative.c:988:12: note: called from here
     if (key > text_poke_addr(tp))
               ^~~~~~~~~~~~~~~~~~
--
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86//kernel/traps.c:15:
   arch/x86//kernel/traps.c: In function 'do_int3':
   arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
    static __always_inline int preempt_count(void)
                               ^~~~~~~~~~~~~
   In file included from arch/x86/include/asm/current.h:5:0,
                    from include/linux/sched.h:12,
                    from include/linux/context_tracking.h:5,
                    from arch/x86//kernel/traps.c:15:
   include/linux/preempt.h:102:20: note: called from here
    #define in_nmi()  (preempt_count() & NMI_MASK)
                       ^~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   include/linux/hardirq.h:83:3: note: in expansion of macro 'BUG_ON'
      BUG_ON(in_nmi() == NMI_MASK);   \
      ^~~~~~
   include/linux/hardirq.h:83:10: note: in expansion of macro 'in_nmi'
      BUG_ON(in_nmi() == NMI_MASK);   \
             ^~~~~~
   arch/x86//kernel/traps.c:504:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86//kernel/traps.c:15:
>> arch/x86/include/asm/preempt.h:77:29: error: inlining failed in call to always_inline '__preempt_count_add': function attribute mismatch
    static __always_inline void __preempt_count_add(int val)
                                ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/interrupt.h:11:0,
                    from arch/x86//kernel/traps.c:16:
   include/linux/hardirq.h:84:3: note: called from here
      __preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/traps.c:504:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86//kernel/traps.c:15:
   arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
    static __always_inline int preempt_count(void)
                               ^~~~~~~~~~~~~
   In file included from arch/x86/include/asm/current.h:5:0,
                    from include/linux/sched.h:12,
                    from include/linux/context_tracking.h:5,
                    from arch/x86//kernel/traps.c:15:
   include/linux/preempt.h:102:20: note: called from here
    #define in_nmi()  (preempt_count() & NMI_MASK)
                       ^~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   include/linux/hardirq.h:93:3: note: in expansion of macro 'BUG_ON'
      BUG_ON(!in_nmi());    \
      ^~~~~~
   include/linux/hardirq.h:93:11: note: in expansion of macro 'in_nmi'
      BUG_ON(!in_nmi());    \
              ^~~~~~
   arch/x86//kernel/traps.c:526:2: note: in expansion of macro 'nmi_exit'
     nmi_exit();
     ^~~~~~~~
   In file included from include/linux/preempt.h:78:0,
                    from include/linux/rcupdate.h:27,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86//kernel/traps.c:15:
>> arch/x86/include/asm/preempt.h:82:29: error: inlining failed in call to always_inline '__preempt_count_sub': function attribute mismatch
    static __always_inline void __preempt_count_sub(int val)
                                ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/interrupt.h:11:0,
                    from arch/x86//kernel/traps.c:16:
   include/linux/hardirq.h:94:3: note: called from here
      __preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86//kernel/traps.c:526:2: note: in expansion of macro 'nmi_exit'
     nmi_exit();
     ^~~~~~~~

vim +/text_poke_addr +977 arch/x86/kernel/alternative.c

c0213b0ac03cf6 Daniel Bristot de Oliveira 2019-06-12  976  
ff45b5770bc112 Thomas Gleixner            2020-02-19 @977  static __always_inline void *text_poke_addr(struct text_poke_loc *tp)
4531ef6a8aaf13 Peter Zijlstra             2019-10-09  978  {
4531ef6a8aaf13 Peter Zijlstra             2019-10-09  979  	return _stext + tp->rel_addr;
4531ef6a8aaf13 Peter Zijlstra             2019-10-09  980  }
4531ef6a8aaf13 Peter Zijlstra             2019-10-09  981  

:::::: The code at line 977 was first introduced by commit
:::::: ff45b5770bc1120b7faba9e52ea124b0c59375ec x86/int3: Ensure that poke_int3_handler() is not traced

:::::: TO: Thomas Gleixner <tglx@linutronix.de>
:::::: CC: 0day robot <lkp@intel.com>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 43543 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-01  4:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-01  4:13 [linux-review:UPDATE-20200221-182711/Peter-Zijlstra/tracing-vs-world/20200221-114341 22/22] arch/x86/kernel/alternative.c:977:30: error: inlining failed in call to always_inline 'text_poke_addr': function attribute mismatch kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.