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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201604171419.SRhJCa0G%fengguang.wu@intel.com>
Date:	Sun, 17 Apr 2016 14:30:23 +0800
From:	kbuild test robot <fengguang.wu@...el.com>
To:	Christoph Lameter <cl@...ux-foundation.org>
Cc:	kbuild-all@...org, linux-kernel@...r.kernel.org,
	Tejun Heo <tj@...nel.org>
Subject: include/linux/kprobes.h:332:2: error: invalid use of undefined type
 'struct kprobe_ctlblk'

Hi Christoph,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b9f5dba225aede4518ab0a7374c2dc38c7c049ce
commit: abec1a806e0c3cf168999667d5fb6218398ef12a percpu: Make __verify_pcu_ptr handle per cpu pointers to arrays
date:   2 years, 8 months ago
config: mn10300-allmodconfig (attached as .config)
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 kernel/sysctl.c:58: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/topology.h:34,
                    from include/linux/gfp.h:7,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from kernel/sysctl.c:21:
   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));
              ^
--
   In file included from kernel/kprobes.c:34: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 kernel/kprobes.c:34:
   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));
              ^
   In file included from include/linux/cpumask.h:9:0,
                    from include/linux/smp.h:12,
                    from arch/mn10300/include/asm/irqflags.h:17,
                    from arch/mn10300/include/asm/atomic.h:14,
                    from include/linux/atomic.h:4,
                    from include/linux/mutex.h:18,
                    from include/linux/notifier.h:13,
                    from include/linux/kprobes.h:35,
                    from kernel/kprobes.c:34:
   kernel/kprobes.c: In function 'write_enabled_file_bool':
   include/linux/kernel.h:663:17: warning: comparison of distinct pointer types lacks a cast
     (void) (&_min1 == &_min2);  \
                    ^
   kernel/kprobes.c:2321:13: note: in expansion of macro 'min'
     buf_size = min(count, (sizeof(buf)-1));
                ^
   kernel/kprobes.c: At top level:
   kernel/kprobes.c:1188:23: warning: 'cleanup_rp_inst' defined but not used [-Wunused-function]
    static void __kprobes cleanup_rp_inst(struct kretprobe *rp)
                          ^

vim +332 include/linux/kprobes.h

ef53d9c5 Srinivasa D S              2008-07-25  316  void kretprobe_hash_unlock(struct task_struct *tsk, unsigned long *flags);
b94cce92 Hien Nguyen                2005-06-23  317  struct hlist_head * kretprobe_inst_table_head(struct task_struct *tsk);
^1da177e Linus Torvalds             2005-04-16  318  
e6584523 Ananth N Mavinakayanahalli 2005-11-07  319  /* kprobe_running() will just return the current_kprobe on this CPU */
e6584523 Ananth N Mavinakayanahalli 2005-11-07  320  static inline struct kprobe *kprobe_running(void)
e6584523 Ananth N Mavinakayanahalli 2005-11-07  321  {
b76834bc Christoph Lameter          2010-12-06  322  	return (__this_cpu_read(current_kprobe));
e6584523 Ananth N Mavinakayanahalli 2005-11-07  323  }
e6584523 Ananth N Mavinakayanahalli 2005-11-07  324  
e6584523 Ananth N Mavinakayanahalli 2005-11-07  325  static inline void reset_current_kprobe(void)
e6584523 Ananth N Mavinakayanahalli 2005-11-07  326  {
b76834bc Christoph Lameter          2010-12-06  327  	__this_cpu_write(current_kprobe, NULL);
e6584523 Ananth N Mavinakayanahalli 2005-11-07  328  }
e6584523 Ananth N Mavinakayanahalli 2005-11-07  329  
e6584523 Ananth N Mavinakayanahalli 2005-11-07  330  static inline struct kprobe_ctlblk *get_kprobe_ctlblk(void)
e6584523 Ananth N Mavinakayanahalli 2005-11-07  331  {
e6584523 Ananth N Mavinakayanahalli 2005-11-07 @332  	return (&__get_cpu_var(kprobe_ctlblk));
e6584523 Ananth N Mavinakayanahalli 2005-11-07  333  }
e6584523 Ananth N Mavinakayanahalli 2005-11-07  334  
^1da177e Linus Torvalds             2005-04-16  335  int register_kprobe(struct kprobe *p);
^1da177e Linus Torvalds             2005-04-16  336  void unregister_kprobe(struct kprobe *p);
9861668f Masami Hiramatsu           2008-04-28  337  int register_kprobes(struct kprobe **kps, int num);
9861668f Masami Hiramatsu           2008-04-28  338  void unregister_kprobes(struct kprobe **kps, int num);
^1da177e Linus Torvalds             2005-04-16  339  int setjmp_pre_handler(struct kprobe *, struct pt_regs *);
^1da177e 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" (27253 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ