Re: BUG: bad usercopy in memdup_user

From: Tobin C. Harding
Date: Tue Dec 19 2017 - 04:04:34 EST


On Tue, Dec 19, 2017 at 09:41:39AM +0100, Dmitry Vyukov wrote:
> On Tue, Dec 19, 2017 at 9:37 AM, Tobin C. Harding <me@xxxxxxxx> wrote:
> >> > <penguin-kernel@xxxxxxxxxxxxxxxxxxx> wrote:
> >> >> On 2017/12/18 22:40, syzbot wrote:
> >> >>> Hello,
> >> >>>
> >> >>> syzkaller hit the following crash on 6084b576dca2e898f5c101baef151f7bfdbb606d
> >> >>> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/master
> >> >>> compiler: gcc (GCC) 7.1.1 20170620
> >> >>> .config is attached
> >> >>> Raw console output is attached.
> >> >>>
> >> >>> Unfortunately, I don't have any reproducer for this bug yet.
> >> >>>
> >> >>>
> >> >>
> >> >> This BUG is reporting
> >> >>
> >> >> [ 26.089789] usercopy: kernel memory overwrite attempt detected to 0000000022a5b430 (kmalloc-1024) (1024 bytes)
> >> >>
> >> >> line. But isn't 0000000022a5b430 strange for kmalloc(1024, GFP_KERNEL)ed kernel address?
> >> >
> >> > The address is hashed (see the %p threads for 4.15).
> >>
> >>
> >> +Tobin, is there a way to disable hashing entirely? The only
> >> designation of syzbot is providing crash reports to kernel developers
> >> with as much info as possible. It's fine for it to leak whatever.
> >
> > We have new specifier %px to print addresses in hex if leaking info is
> > not a worry.
>
> This is not a per-printf-site thing. It's per-machine thing.

There is no way to disable the hashing currently built into the system.

Tobin