[rcu:rcu/next 38/38] arch/x86//kernel/traps.c:105:3: error: implicit declaration of function 'rcu_nmi_enter'

From: kbuild test robot
Date: Mon Oct 02 2017 - 18:51:56 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head: 45723bfaf78f78e83e0949895a173ce08cb6ac47
commit: 45723bfaf78f78e83e0949895a173ce08cb6ac47 [38/38] rcu: Consolidate rcu_nmi_{enter,exit}() into rcu_irq_{enter,exit}()
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout 45723bfaf78f78e83e0949895a173ce08cb6ac47
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

arch/x86//kernel/traps.c: In function 'ist_enter':
>> arch/x86//kernel/traps.c:105:3: error: implicit declaration of function 'rcu_nmi_enter' [-Werror=implicit-function-declaration]
rcu_nmi_enter();
^~~~~~~~~~~~~
arch/x86//kernel/traps.c: In function 'ist_exit':
>> arch/x86//kernel/traps.c:119:3: error: implicit declaration of function 'rcu_nmi_exit' [-Werror=implicit-function-declaration]
rcu_nmi_exit();
^~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/rcu_nmi_enter +105 arch/x86//kernel/traps.c

be716615 Thomas Gleixner 2009-01-13 87
aaee8c3c Andy Lutomirski 2016-05-24 88 /*
aaee8c3c Andy Lutomirski 2016-05-24 89 * In IST context, we explicitly disable preemption. This serves two
aaee8c3c Andy Lutomirski 2016-05-24 90 * purposes: it makes it much less likely that we would accidentally
aaee8c3c Andy Lutomirski 2016-05-24 91 * schedule in IST context and it will force a warning if we somehow
aaee8c3c Andy Lutomirski 2016-05-24 92 * manage to schedule by accident.
aaee8c3c Andy Lutomirski 2016-05-24 93 */
8c84014f Andy Lutomirski 2015-07-03 94 void ist_enter(struct pt_regs *regs)
95927475 Andy Lutomirski 2014-11-19 95 {
f39b6f0e Andy Lutomirski 2015-03-18 96 if (user_mode(regs)) {
5778077d Linus Torvalds 2015-09-01 97 RCU_LOCKDEP_WARN(!rcu_is_watching(), "entry code didn't wake RCU");
95927475 Andy Lutomirski 2014-11-19 98 } else {
95927475 Andy Lutomirski 2014-11-19 99 /*
95927475 Andy Lutomirski 2014-11-19 100 * We might have interrupted pretty much anything. In
95927475 Andy Lutomirski 2014-11-19 101 * fact, if we're a machine check, we can even interrupt
95927475 Andy Lutomirski 2014-11-19 102 * NMI processing. We don't want in_nmi() to return true,
95927475 Andy Lutomirski 2014-11-19 103 * but we need to notify RCU.
95927475 Andy Lutomirski 2014-11-19 104 */
95927475 Andy Lutomirski 2014-11-19 @105 rcu_nmi_enter();
95927475 Andy Lutomirski 2014-11-19 106 }
b926e6f6 Andy Lutomirski 2015-01-31 107
aaee8c3c Andy Lutomirski 2016-05-24 108 preempt_disable();
b926e6f6 Andy Lutomirski 2015-01-31 109
b926e6f6 Andy Lutomirski 2015-01-31 110 /* This code is a bit fragile. Test it. */
f78f5b90 Paul E. McKenney 2015-06-18 111 RCU_LOCKDEP_WARN(!rcu_is_watching(), "ist_enter didn't work");
95927475 Andy Lutomirski 2014-11-19 112 }
95927475 Andy Lutomirski 2014-11-19 113
8c84014f Andy Lutomirski 2015-07-03 114 void ist_exit(struct pt_regs *regs)
95927475 Andy Lutomirski 2014-11-19 115 {
aaee8c3c Andy Lutomirski 2016-05-24 116 preempt_enable_no_resched();
95927475 Andy Lutomirski 2014-11-19 117
8c84014f Andy Lutomirski 2015-07-03 118 if (!user_mode(regs))
95927475 Andy Lutomirski 2014-11-19 @119 rcu_nmi_exit();
95927475 Andy Lutomirski 2014-11-19 120 }
95927475 Andy Lutomirski 2014-11-19 121

:::::: The code at line 105 was first introduced by commit
:::::: 959274753857efe9c5f1ba35fe727f51e9aa128d x86, traps: Track entry into and exit from IST context

:::::: TO: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
:::::: CC: Andy Lutomirski <luto@xxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip