lkml.org 
[lkml]   [2010]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] PCI hotplug: ibmphp: Add check to prevent reading beyond mapped area
On Mon, 08 Nov 2010 23:20:27 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> While testing various randconfigs with ktest.pl, I hit the following panic:
>
> BUG: unable to handle kernel paging request at f7e54b03
> IP: [<c0d63409>] ibmphp_access_ebda+0x101/0x19bb
>
> Adding printks, I found that the loop that reads the ebda blocks
> can move out of the mapped section.
>
> ibmphp_access_ebda: start=f7e44c00 size=5120 end=f7e46000
> ibmphp_access_ebda: io_mem=f7e44d80 offset=384
> ibmphp_access_ebda: io_mem=f7e54b03 offset=65283
>
> The start of the iomap was at f7e44c00 and had a size of 5120,
> making the end f7e46000. We start with an offset of 0x180 or
> 384, giving the first read at 0xf7e44d80. Reading that location
> yields 65283, which is much bigger than the 5120 that was allocated
> and makes the next read at f7e54b03 which is outside the mapped area.
>
> Perhaps this is a bug in the driver, or buggy hardware, but this patch
> is more about not crashing my box on start up and just giving a warning
> if it detects this error.
>
> This patch at least lets my box boot with just a warning.
>
> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
> Cc: Chandru Siddalingappa <chandru@linux.vnet.ibm.com>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
>
> ---
> drivers/pci/hotplug/ibmphp_ebda.c | 6 ++++++
> 1 file changed, 6 insertions(+)

Applied to my for-linus branch, thanks.

--
Jesse Barnes, Intel Open Source Technology Center


\
 
 \ /
  Last update: 2010-11-11 18:13    [from the cache]
©2003-2011 Jasper Spaans