From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933012AbcKMJCM (ORCPT ); Sun, 13 Nov 2016 04:02:12 -0500 Received: from pandora.armlinux.org.uk ([78.32.30.218]:34980 "EHLO pandora.armlinux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932643AbcKMJCJ (ORCPT ); Sun, 13 Nov 2016 04:02:09 -0500 Date: Sun, 13 Nov 2016 09:01:56 +0000 From: Russell King - ARM Linux To: kbuild test robot Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, Thomas Gleixner Subject: Re: include/linux/kprobes.h:361:2: error: invalid use of undefined type 'struct kprobe_ctlblk' Message-ID: <20161113090155.GH1041@n2100.armlinux.org.uk> References: <201611130921.Wy6jVAv0%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201611130921.Wy6jVAv0%fengguang.wu@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org lib/nmi-backtrace.c needs linux/kprobes.h to get at the definition of NOKPROBE_SYMBOL(). I guess MN10300 does not support CONFIG_KPROBES=y. CONFIG_KPROBES=y requires the architecture asm/kprobes.h to define this structure, and mn10300 does not. I guess that as things like the scheduler also include linux/kprobes.h, this is not the only instance of this error when building mn10300 with KPROBES enabled. So, I guess that there's nothing that can be done about the build error other than "don't build mn10300 with KPROBES enabled". On Sun, Nov 13, 2016 at 09:09:26AM +0800, kbuild test robot wrote: > Hi Russell, > > FYI, the error/warning still remains. > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 86e4ee760ef2f7571e233a3abf065ffd0bb4089d > commit: b2c0b2cbb282f0cf42518ffacbe197e6f2884168 nmi: create generic NMI backtrace implementation > date: 1 year, 4 months ago > config: mn10300-allmodconfig (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 b2c0b2cbb282f0cf42518ffacbe197e6f2884168 > # save the attached .config to linux build tree > make.cross ARCH=mn10300 > > All errors (new ones prefixed by >>): > > In file included from lib/nmi_backtrace.c:17: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 > > 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); > > :::::: The code at line 361 was first introduced by commit > :::::: bdffd893a0e9c431304142d12d9a0a21d365c502 tracing: Replace __get_cpu_var uses with this_cpu_ptr > > :::::: TO: Christoph Lameter > :::::: CC: Steven Rostedt > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.