lkml.org 
[lkml]   [2014]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] efi-bgrt: Add error handling; inform the user when ignoring the BGRT
On Mon, Aug 04, 2014 at 01:19:59PM +0100, Matt Fleming wrote:
> On Fri, 01 Aug, at 09:11:54AM, Josh Triplett wrote:
> >
> > The original bug report was about an allocation failure for a fairly
> > reasonable BGRT size. We can certainly prohibit absurdly huge ones (for
> > instance, bigger than the maximum likely screen resolution times 4 bytes
> > per pixel), but allocation failures may well occur for smaller sizes,
> > and I don't think we want to spew a massive warning for that either.
>
> Oh, dammit, that's my bad. I misread the allocation size and thought it
> was huge, but now realise it was only 6MB or so. Sorry Josh.
>
> I was worried that this was the first reported instance of a BGRT
> claiming to be valid but with a bogusly large image size. I've never
> been so happy to be wrong.

:)

> However, the fact that the allocation failed is worth investigating -
> this machine appears to have GBs of ram. Perhaps we should switch to
> requesting pages directly instead of relying on kmalloc()?
>
> I appreciate that the BGRT code isn't mission critical or anything like
> that, and that failing the alloc isn't the end of the world, but if we
> have code in the kernel it should really be as robust as possible. I
> don't think trying to kmalloc() ~6MB can claim to be robust.

vmalloc or flex_array could potentially help here. However, I'd suggest
we go ahead and merge this patch to improve the existing error handling
before doing a more extensive rewrite to use one of those.

Would anything go horrifically wrong if this allocation used vmalloc?
We really don't care deeply about the performance of this memory; it
just needs a single copy in and a small number of copies out in the
lifetime of a system.

- Josh Triplett


\
 
 \ /
  Last update: 2014-08-05 19:21    [W:0.072 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site