Re: [PATCH 0/2] [GIT PULL] tracing: Two more fixes

From: Steven Rostedt
Date: Fri Feb 15 2019 - 12:22:14 EST


On Fri, 15 Feb 2019 09:08:38 -0800
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, Feb 15, 2019 at 6:21 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > - Have kprobes not use copy_from_user to access kernel addresses
> > as this is now considered a security issue.
>
> No, you people are confused.
>
> The problem isn't that it's using a user access function on kernel memory.
>
> The problem is that it's using a user access function on a complete
> garbage pointer that happens to not even be a valid pointer at all.
>
> You get a GP fault because the code tries to access an address at
> 0x2e646c2f6374652f.
>
> That's not a valid pointer on x86-64. Nothing to do with user or
> kernel, everything to do with "it's garbage".
>
> Switching over to probe_mem_read() just means that even non-canonical
> address faults are ignored. But it has absolutely nothing to do with
> "kernel addresses" or any security issues.
>
> So the patch looks like it might be ok, but the explanations for it
> are garbage and only confuse the issue.
>
> Please fix the explanations, I don't want to have actively wrong
> commit messages for when people start looking at things like this.
>

OK, I'll update the change log. Yeah, the bug is that we are reading
possibly bad kernel memory, which is what kprobes do.

Will update.

-- Steve