Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 11 Nov 2010 09:09:12 -0800 | From | Jesse Barnes <> | Subject | Re: [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
| ![\](/images/icornerr.gif) |