include/linux/kprobes.h:361:2: error: invalid use of undefined type 'struct kprobe_ctlblk'

From: kbuild test robot
Date: Thu Sep 22 2016 - 04:46:45 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7d1e042314619115153a0f6f06e4552c09a50e13
commit: cb984d101b30eb7478d32df56a0023e4603cba7f compiler-gcc: integrate the various compiler-gcc[345].h files
date: 1 year, 3 months ago
config: mn10300-allyesconfig (attached as .config)
compiler: am33_2.0-linux-gcc (GCC) 6.2.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout cb984d101b30eb7478d32df56a0023e4603cba7f
# save the attached .config to linux build tree
make.cross ARCH=mn10300

All errors (new ones prefixed by >>):

In file included from drivers/misc/lkdtm.c:39:0:
include/linux/kprobes.h: In function 'get_kprobe_ctlblk':
>> include/linux/kprobes.h:361:2: error: invalid use of undefined type 'struct kprobe_ctlblk'
return this_cpu_ptr(&kprobe_ctlblk);
^~~~~~

vim +361 include/linux/kprobes.h

ef53d9c5e Srinivasa D S 2008-07-25 345 void kretprobe_hash_unlock(struct task_struct *tsk, unsigned long *flags);
b94cce926 Hien Nguyen 2005-06-23 346 struct hlist_head * kretprobe_inst_table_head(struct task_struct *tsk);
^1da177e4 Linus Torvalds 2005-04-16 347
e65845235 Ananth N Mavinakayanahalli 2005-11-07 348 /* kprobe_running() will just return the current_kprobe on this CPU */
e65845235 Ananth N Mavinakayanahalli 2005-11-07 349 static inline struct kprobe *kprobe_running(void)
e65845235 Ananth N Mavinakayanahalli 2005-11-07 350 {
b76834bc1 Christoph Lameter 2010-12-06 351 return (__this_cpu_read(current_kprobe));
e65845235 Ananth N Mavinakayanahalli 2005-11-07 352 }
e65845235 Ananth N Mavinakayanahalli 2005-11-07 353
e65845235 Ananth N Mavinakayanahalli 2005-11-07 354 static inline void reset_current_kprobe(void)
e65845235 Ananth N Mavinakayanahalli 2005-11-07 355 {
b76834bc1 Christoph Lameter 2010-12-06 356 __this_cpu_write(current_kprobe, NULL);
e65845235 Ananth N Mavinakayanahalli 2005-11-07 357 }
e65845235 Ananth N Mavinakayanahalli 2005-11-07 358
e65845235 Ananth N Mavinakayanahalli 2005-11-07 359 static inline struct kprobe_ctlblk *get_kprobe_ctlblk(void)
e65845235 Ananth N Mavinakayanahalli 2005-11-07 360 {
bdffd893a Christoph Lameter 2014-04-29 @361 return this_cpu_ptr(&kprobe_ctlblk);
e65845235 Ananth N Mavinakayanahalli 2005-11-07 362 }
e65845235 Ananth N Mavinakayanahalli 2005-11-07 363
^1da177e4 Linus Torvalds 2005-04-16 364 int register_kprobe(struct kprobe *p);
^1da177e4 Linus Torvalds 2005-04-16 365 void unregister_kprobe(struct kprobe *p);
9861668f7 Masami Hiramatsu 2008-04-28 366 int register_kprobes(struct kprobe **kps, int num);
9861668f7 Masami Hiramatsu 2008-04-28 367 void unregister_kprobes(struct kprobe **kps, int num);
^1da177e4 Linus Torvalds 2005-04-16 368 int setjmp_pre_handler(struct kprobe *, struct pt_regs *);
^1da177e4 Linus Torvalds 2005-04-16 369 int longjmp_break_handler(struct kprobe *, struct pt_regs *);

:::::: The code at line 361 was first introduced by commit
:::::: bdffd893a0e9c431304142d12d9a0a21d365c502 tracing: Replace __get_cpu_var uses with this_cpu_ptr

:::::: TO: Christoph Lameter <cl@xxxxxxxxx>
:::::: CC: Steven Rostedt <rostedt@xxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip