Re: [BUGFIX][PATCH 0/3] fix bug for /proc/kcore causes panic (Was:[Bugme-new] [Bug 13850] New: reading /proc/kcore causes oops

From: KAMEZAWA Hiroyuki
Date: Fri Jul 31 2009 - 03:24:05 EST


On Fri, 31 Jul 2009 16:07:48 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:

> On Wed, 29 Jul 2009 12:32:09 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
>
> > On Tue, 28 Jul 2009 22:46:56 -0400
> > Mike Smith <scgtrp@xxxxxxxxx> wrote:
> >
> > > > What's layout of memory does your server have ?
> > > The log I gave was from my desktop, so I'll assume you wanted that
> > > instead of the server:
> > > [mike: mike in ~]$ grep "System RAM" /proc/iomem
> > > 00010000-0009efff : System RAM
> > > 00100000-1dedffff : System RAM
> > >
> > From this, your kernel's valid direct-map address range will be
> >
> > c0010000-c009efff
> > c0100000-ddedffff
> >
> Ok, I reproduced the bug on x86-32 and here is a fix.
>
> I reproduced the bug on x86-32 host with mem=512M boot option.
>
> As I expected, the bug is from holes in vmalloc area.
> (This hole means thera are a memory hole withing [start ...start+size-PAGE_SIZE)
> of valid vm_struct.)
>
> For review, I divided all into 3 patches. all series will be reply to this email.
>
A memo.

[1/3] fixes the bug in /dev/kmem, also.
This causes machine check on my host (and one of cpu was disabled)
# dd if=/dev/kmem of=/dev/null bs=1024 count=1048576 skip=3145728
I hope all users of kmem are sane people...but the patch fixes this.
(If kmem has to access IOREMAP area, please teach me .)

[2/3] fix for this /proc/kcore bug based on [1/3]

[3/3] fix for vread/vwrite race conditions.
not related to this reproducable bug itself but a fix for potential bug.

Thanks,
-Kame




> Thanks,
> -Kame
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/