[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130426072919.GA31557@gmail.com>
Date: Fri, 26 Apr 2013 09:29:19 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Matthew Garrett <matthew.garrett@...ula.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
"H. Peter Anvin" <hpa@...ux.intel.com>,
Borislav Petkov <bp@...e.de>, "H. Peter Anvin" <hpa@...or.com>,
Ingo Molnar <mingo@...e.hu>, Josh Boyer <jwboyer@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Matt Fleming <matt.fleming@...el.com>,
Paul Bolle <pebolle@...cali.nl>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [GIT PULL] x86 fixes for 3.9
* Matthew Garrett <matthew.garrett@...ula.com> wrote:
> On Thu, 2013-04-25 at 15:20 -0700, Linus Torvalds wrote:
> > On Thu, Apr 25, 2013 at 2:44 PM, H. Peter Anvin <hpa@...ux.intel.com> wrote:
> > >
> > > - if (!sys_table->runtime->query_variable_info)
> > > + if (sys_table->runtime->hdr.revision < EFI_2_00_SYSTEM_TABLE_REVISION)
> > > return EFI_UNSUPPORTED;
> >
> > Is a EFI 2.00 system table *guaranteed* to have that
> > "query_variable_info" function? The above adds the version check, but
> > removes the check for a NULL pointer.
>
> As far as the spec's concerned, yes. As far as reality's concerned - if
> anything doesn't provide it, we're already crashing when
> efi_virt_query_variable_info() gets called. Nobody's complained so far.
I'm worried about the fragility of this code - this is firmware code ...
I think firmware code should be fundamentally paranoid and robust, and in
this case treat all EFI-provided data as hostile and do a much sanity
checking of it as possible - and provide an actionable error message if
the checks fail, not just 'crash'.
Even if no-one complained, yet.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists