Hi Ard, Le Thursday 30 April 2015 à 12:37 +0200, Ard Biesheuvel a écrit : > On 28 April 2015 at 20:41, Jean Delvare <[email protected]> wrote: > > From: Jean Delvare <[email protected]> > > Subject: firmware: dmi_scan: Only honor end-of-table for 64-bit tables > > > > A 32-bit entry point to a DMI table says how many structures the table > > contains. The SMBIOS specification explicitly says that end-of-table > > markers should be ignored if they are not actually at the end of the > > DMI table. So only honor the end-of-table marker for tables accessed > > through 64-bit entry points, as they do not specify a structure count. > > > > Fixes: fc43026278 ("dmi: add support for SMBIOS 3.0 64-bit entry point") > > Signed-off-by: Jean Delvare <[email protected]> > > Cc: Leif Lindholm <[email protected]> > > Cc: Matt Fleming <[email protected]> > > Cc: Ard Biesheuvel <[email protected]> > > --- > > drivers/firmware/dmi_scan.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > --- linux-4.1-rc1.orig/drivers/firmware/dmi_scan.c 2015-04-28 > > 16:39:00.845282262 +0200 > > +++ linux-4.1-rc1/drivers/firmware/dmi_scan.c 2015-04-28 > > 16:47:35.092644748 +0200 > > @@ -111,7 +111,7 @@ static void dmi_table(u8 *buf, > > /* > > * 7.45 End-of-Table (Type 127) [SMBIOS reference spec > > v3.0.0] > > I wrote this comment under the assumption that type #127 was new in > v3, but apparently it is not. > Since you are changing the test below into something non-trivial, > could we perhaps update the comment to explain better what goes on > here?
Good idea, thanks for suggesting. Version 2 of the patch is coming. > > */ > > - if (dm->type == DMI_ENTRY_END_OF_TABLE) > > + if (!dmi_num && dm->type == DMI_ENTRY_END_OF_TABLE) > > break; > > > > data += 2; > > -- Jean Delvare SUSE L3 Support -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

