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>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 5 Mar 2021 04:25:37 +0800
From:   kernel test robot <lkp@...el.com>
To:     Masami Hiramatsu <mhiramat@...nel.org>,
        Steven Rostedt <rostedt@...dmis.org>
Cc:     Daniel Xu <dxu@...uu.xyz>, linux-kernel@...r.kernel.org,
        "bpf@...r.kernel.org" <bpf@...r.kernel.org>, kuba@...nel.org
Subject: Re: [PATCH] kprobes: stacktrace: Recover the address changed by
 kretprobe

Hi Masami,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.12-rc1 next-20210304]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/kprobes-stacktrace-Recover-the-address-changed-by-kretprobe/20210304-212528
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f69d02e37a85645aa90d18cacfff36dba370f797
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/2204ff150821a6a3c13b4fa10784b5efb3e3adc8
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Masami-Hiramatsu/kprobes-stacktrace-Recover-the-address-changed-by-kretprobe/20210304-212528
        git checkout 2204ff150821a6a3c13b4fa10784b5efb3e3adc8
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   kernel/kprobes.c:1847:12: warning: no previous prototype for 'kprobe_exceptions_notify' [-Wmissing-prototypes]
    1847 | int __weak kprobe_exceptions_notify(struct notifier_block *self,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~
   kernel/kprobes.c: In function 'kretprobe_real_stack_tsk':
>> kernel/kprobes.c:1874:30: error: 'kretprobe_trampoline' undeclared (first use in this function); did you mean 'kretprobe_blackpoint'?
    1874 |  if (addr != (unsigned long)&kretprobe_trampoline)
         |                              ^~~~~~~~~~~~~~~~~~~~
         |                              kretprobe_blackpoint
   kernel/kprobes.c:1874:30: note: each undeclared identifier is reported only once for each function it appears in
   kernel/kprobes.c: In function '__kretprobe_trampoline_handler':
   kernel/kprobes.c:1904:21: error: 'kretprobe_trampoline' undeclared (first use in this function); did you mean 'kretprobe_blackpoint'?
    1904 |     (unsigned long)&kretprobe_trampoline, &node);
         |                     ^~~~~~~~~~~~~~~~~~~~
         |                     kretprobe_blackpoint


vim +1874 kernel/kprobes.c

  1865	
  1866	/* This assumes the tsk is current or the task which is not running. */
  1867	unsigned long kretprobe_real_stack_tsk(struct task_struct *tsk,
  1868					       unsigned long addr,
  1869					       struct llist_node **cur)
  1870	{
  1871		struct kretprobe_instance *ri = NULL;
  1872		struct llist_node *node = *cur;
  1873	
> 1874		if (addr != (unsigned long)&kretprobe_trampoline)
  1875			return addr;
  1876	
  1877		if (!node)
  1878			node = tsk->kretprobe_instances.first;
  1879		else
  1880			node = node->next;
  1881	
  1882		while (node) {
  1883			ri = container_of(node, struct kretprobe_instance, llist);
  1884			if (ri->ret_addr != (void *)&kretprobe_trampoline) {
  1885				*cur = node;
  1886				return (unsigned long)ri->ret_addr;
  1887			}
  1888			node = node->next;
  1889		}
  1890		return 0;
  1891	}
  1892	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (68018 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ