lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160912141153.ng37b3bdkbmed5fh@wfg-t540p.sh.intel.com>
Date:   Mon, 12 Sep 2016 22:11:53 +0800
From:   Fengguang Wu <fengguang.wu@...el.com>
To:     Christoph Lameter <cl@...ux.com>
Cc:     ananth@...ibm.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, David Howells <dhowells@...hat.com>
Subject: Re: include/linux/kprobes.h:332:2: error: invalid use of undefined
 type 'struct kprobe_ctlblk'

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 <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
>>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ