From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759356AbcILOMC (ORCPT ); Mon, 12 Sep 2016 10:12:02 -0400 Received: from mga07.intel.com ([134.134.136.100]:55538 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758049AbcILOL7 (ORCPT ); Mon, 12 Sep 2016 10:11:59 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,322,1470726000"; d="scan'208";a="759847493" Date: Mon, 12 Sep 2016 22:11:53 +0800 From: Fengguang Wu To: Christoph Lameter Cc: ananth@in.ibm.com, kbuild-all@01.org, linux-kernel@vger.kernel.org, Tejun Heo , Ravi Bangoria , naohiro.aota@hgst.com, David Howells Subject: Re: include/linux/kprobes.h:332:2: error: invalid use of undefined type 'struct kprobe_ctlblk' Message-ID: <20160912141153.ng37b3bdkbmed5fh@wfg-t540p.sh.intel.com> References: <201609110805.2WEWLxdD%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.2-neo (2016-08-08) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CC David Howells. It looks this error is specific to mn10300 and allmodconfig/allyesconfig. The last solution is to quiet reports for such old errors, if mn10300-allmodconfig/allyesconfig are not interested combinations. Thanks, Fengguang On Mon, Sep 12, 2016 at 09:04:07AM -0500, Christoph Lameter wrote: >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 >> :::::: CC: Linus Torvalds >> >> --- >> 0-DAY kernel test infrastructure Open Source Technology Center >> https://lists.01.org/pipermail/kbuild-all Intel Corporation >>