[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87inlxyoja.fsf@concordia.ellerman.id.au>
Date: Sat, 22 Apr 2017 15:55:21 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
Masami Hiramatsu <mhiramat@...nel.org>
Cc: Ananth N Mavinakayanahalli <ananth@...ux.vnet.ibm.com>,
Ingo Molnar <mingo@...nel.org>, linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 3/7] kprobes: validate the symbol name provided during probe registration
"Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com> writes:
> When a kprobe is being registered, we use the symbol_name field to
> lookup the address where the probe should be placed. Since this is a
> user-provided field, let's ensure that the length of the string is
> within expected limits.
What are we actually trying to protect against here?
If you ignore powerpc for a moment, kprobe_lookup_name() is just
kallsyms_lookup_name().
All kallsyms_lookup_name() does with name is strcmp() it against a
legitimate symbol name which is at most KSYM_NAME_LEN.
So I don't think any of this validation helps in that case?
In the powerpc version of kprobe_lookup_name() we do need to do some
string juggling, for which it helps to know the input is sane. But I
think we should just make that code more robust by checking the input
before we do anything with it.
cheers
Powered by blists - more mailing lists