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
| ||
|
Date: Thu, 28 May 2020 09:31:17 +0900 From: Masami Hiramatsu <mhiramat@...nel.org> To: Peter Zijlstra <peterz@...radead.org> Cc: Adrian Hunter <adrian.hunter@...el.com>, Arnaldo Carvalho de Melo <acme@...nel.org>, Ingo Molnar <mingo@...hat.com>, Masami Hiramatsu <mhiramat@...nel.org>, Steven Rostedt <rostedt@...dmis.org>, Borislav Petkov <bp@...en8.de>, "H . Peter Anvin" <hpa@...or.com>, x86@...nel.org, Mark Rutland <mark.rutland@....com>, Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Mathieu Poirier <mathieu.poirier@...aro.org>, Leo Yan <leo.yan@...aro.org>, Jiri Olsa <jolsa@...hat.com>, linux-kernel@...r.kernel.org Subject: Re: [PATCH V7 03/15] kprobes: Add symbols for kprobe insn pages On Wed, 27 May 2020 19:43:45 +0200 Peter Zijlstra <peterz@...radead.org> wrote: > On Tue, May 12, 2020 at 03:19:10PM +0300, Adrian Hunter wrote: > > @@ -2179,6 +2181,49 @@ int kprobe_add_area_blacklist(unsigned long start, unsigned long end) > > return 0; > > } > > > > +int kprobe_cache_get_kallsym(struct kprobe_insn_cache *c, unsigned int *symnum, > > + unsigned long *value, char *type, char *sym) > > +{ > > + struct kprobe_insn_page *kip; > > + int ret = -ERANGE; > > + > > + rcu_read_lock(); > > + list_for_each_entry_rcu(kip, &c->pages, list) { > > + if ((*symnum)--) > > + continue; > > + strlcpy(sym, c->sym, KSYM_NAME_LEN); > > + *type = 't'; > > + *value = (unsigned long)kip->insns; > > + ret = 0; > > + break; > > + } > > + rcu_read_unlock(); > > + > > + return ret; > > +} > > This fails on sparc64-defconfig. > > In file included from ../include/linux/kprobes.h:19:0, > from ../kernel/kprobes.c:21: > ../kernel/kprobes.c: In function 'kprobe_cache_get_kallsym': > ../include/linux/rculist.h:382:49: error: dereferencing pointer to incomplete type 'struct kprobe_insn_page' > > Please provide a new patch. Ah, yes. Since some archs doesn't require special out-of-line trampoline, we need to check __ARCH_WANT_KPROBES_INSN_SLOT, and if not, kprobe_cache_get_kallsym() has do nothing and return -ERANGE. Thank you, -- Masami Hiramatsu <mhiramat@...nel.org>
Powered by blists - more mailing lists