[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdVPJNVp-KpO+QBpx_JO3JyC76DMOSGLQ40dP8Yh0LgTfA@mail.gmail.com>
Date: Fri, 12 May 2017 09:16:20 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Michael Schmitz <schmitzmic@...il.com>
Cc: Theodore Tso <tytso@....edu>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Linux/m68k" <linux-m68k@...r.kernel.org>
Subject: Re: [RFC] fix race in drivers/char/random.c:get_reg()
On Sun, Apr 30, 2017 at 9:49 AM, Michael Schmitz <schmitzmic@...il.com> wrote:
> get_reg() can be reentered on architectures with prioritized interrupts
> (m68k in this case), causing f->reg_index to be incremented after the
> range check. Out of bounds memory access past the pt_regs struct results.
> This will go mostly undetected unless access is beyond end of memory.
>
> Prevent the race by disabling interrupts in get_reg().
>
> Tested on m68k (Atari Falcon, and ARAnyM emulator).
>
> Kudos to Geert Uytterhoeven for helping to trace this race.
>
> Signed-off-by: Michael Schmitz <schmitzmic@...il.com>
No comments from anyone?
Perhaps this wasn't clear, but (a) an access beyond end of memory crashes
the system, and (b) this is reproducible on Atari systems.
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists