[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1609120901440.24103@east.gentwo.org>
Date: Mon, 12 Sep 2016 09:04:07 -0500 (CDT)
From: Christoph Lameter <cl@...ux.com>
To: ananth@...ibm.com
cc: kbuild test robot <fengguang.wu@...el.com>, kbuild-all@...org,
linux-kernel@...r.kernel.org, Tejun Heo <tj@...nel.org>,
Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>,
naohiro.aota@...t.com
Subject: Re: include/linux/kprobes.h:332:2: error: invalid use of undefined
type 'struct kprobe_ctlblk'
Could someone figure this out? Its been there for years.
On Sun, 11 Sep 2016, kbuild test robot wrote:
> Hi Christoph,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 98ac9a608dc79ba8a20cee77fe959a6dfccdaa63
> commit: abec1a806e0c3cf168999667d5fb6218398ef12a percpu: Make __verify_pcu_ptr handle per cpu pointers to arrays
> date: 3 years, 1 month ago
> config: mn10300-allmodconfig (attached as .config)
> compiler: am33_2.0-linux-gcc (GCC) 4.9.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 abec1a806e0c3cf168999667d5fb6218398ef12a
> # save the attached .config to linux build tree
> make.cross ARCH=mn10300
>
> All errors (new ones prefixed by >>):
>
> In file included from net/dccp/probe.c:26:0:
> include/linux/kprobes.h: In function 'get_kprobe_ctlblk':
> >> include/linux/kprobes.h:332:2: error: invalid use of undefined type 'struct kprobe_ctlblk'
> return (&__get_cpu_var(kprobe_ctlblk));
> ^
> In file included from arch/mn10300/include/asm/percpu.h:1:0,
> from include/linux/percpu.h:10,
> from include/linux/kprobes.h:38,
> from net/dccp/probe.c:26:
> include/asm-generic/percpu.h:83:29: error: dereferencing pointer to incomplete type
> #define __get_cpu_var(var) (*VERIFY_PERCPU_PTR(&(var)))
> ^
> include/linux/kprobes.h:332:11: note: in expansion of macro '__get_cpu_var'
> return (&__get_cpu_var(kprobe_ctlblk));
> ^
>
> vim +332 include/linux/kprobes.h
>
> ef53d9c5e Srinivasa D S 2008-07-25 316 void kretprobe_hash_unlock(struct task_struct *tsk, unsigned long *flags);
> b94cce926 Hien Nguyen 2005-06-23 317 struct hlist_head * kretprobe_inst_table_head(struct task_struct *tsk);
> ^1da177e4 Linus Torvalds 2005-04-16 318
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 319 /* kprobe_running() will just return the current_kprobe on this CPU */
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 320 static inline struct kprobe *kprobe_running(void)
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 321 {
> b76834bc1 Christoph Lameter 2010-12-06 322 return (__this_cpu_read(current_kprobe));
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 323 }
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 324
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 325 static inline void reset_current_kprobe(void)
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 326 {
> b76834bc1 Christoph Lameter 2010-12-06 327 __this_cpu_write(current_kprobe, NULL);
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 328 }
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 329
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 330 static inline struct kprobe_ctlblk *get_kprobe_ctlblk(void)
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 331 {
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 @332 return (&__get_cpu_var(kprobe_ctlblk));
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 333 }
> e65845235 Ananth N Mavinakayanahalli 2005-11-07 334
> ^1da177e4 Linus Torvalds 2005-04-16 335 int register_kprobe(struct kprobe *p);
> ^1da177e4 Linus Torvalds 2005-04-16 336 void unregister_kprobe(struct kprobe *p);
> 9861668f7 Masami Hiramatsu 2008-04-28 337 int register_kprobes(struct kprobe **kps, int num);
> 9861668f7 Masami Hiramatsu 2008-04-28 338 void unregister_kprobes(struct kprobe **kps, int num);
> ^1da177e4 Linus Torvalds 2005-04-16 339 int setjmp_pre_handler(struct kprobe *, struct pt_regs *);
> ^1da177e4 Linus Torvalds 2005-04-16 340 int longjmp_break_handler(struct kprobe *, struct pt_regs *);
>
> :::::: The code at line 332 was first introduced by commit
> :::::: e65845235c8120be63001fc1a4ac00c819194bbe [PATCH] Kprobes: Track kprobe on a per_cpu basis - base changes
>
> :::::: TO: Ananth N Mavinakayanahalli <ananth@...ibm.com>
> :::::: 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/octet-stream" (27046 bytes)
Powered by blists - more mailing lists