Re: + dmi_scan-fix-missing-check-for-_dmi_-signature-in-smbios_present.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2013-03-06 07:37, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> The patch titled
>      Subject: dmi_scan: fix missing check for _DMI_ signature in smbios_present()
> has been added to the -mm tree.  Its filename is
>      dmi_scan-fix-missing-check-for-_dmi_-signature-in-smbios_present.patch
>
> Before you just go and hit "reply", please:
>    a) Consider who else should be cc'ed
>    b) Prefer to cc a suitable mailing list as well
>    c) Ideally: find the original patch on the mailing list and do a
>       reply-to-all to that, adding suitable additional cc's
>
> *** Remember to use Documentation/SubmitChecklist when testing your code ***
>
> The -mm tree is included into linux-next and is updated
> there every 3-4 working days
>
> ------------------------------------------------------
> From: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Subject: dmi_scan: fix missing check for _DMI_ signature in smbios_present()
>
> Commit 9f9c9cbb6057 ('drivers/firmware/dmi_scan.c: fetch dmi version from
> SMBIOS if it exists') hoisted the check for "_DMI_" into
> dmi_scan_machine(), which means that we don't bother to check for "_DMI_"
> at offset 16 in an SMBIOS entry.  smbios_present() may also call
> dmi_present() for an address where we found "_SM_", if it failed further
> validation.
>
> Check for "_DMI_" in smbios_present() before calling dmi_present().
>
> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> Reported-by: Tim McGrath <tmhikaru@xxxxxxxxx>
> Tested-by: Tim Mcgrath <tmhikaru@xxxxxxxxx>
> Cc: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
>
>  drivers/firmware/dmi_scan.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff -puN drivers/firmware/dmi_scan.c~dmi_scan-fix-missing-check-for-_dmi_-signature-in-smbios_present drivers/firmware/dmi_scan.c
> --- a/drivers/firmware/dmi_scan.c~dmi_scan-fix-missing-check-for-_dmi_-signature-in-smbios_present
> +++ a/drivers/firmware/dmi_scan.c
> @@ -442,7 +442,6 @@ static int __init dmi_present(const char
>  static int __init smbios_present(const char __iomem *p)
>  {
>  	u8 buf[32];
> -	int offset = 0;
>  
>  	memcpy_fromio(buf, p, 32);
>  	if ((buf[5] < 32) && dmi_checksum(buf, buf[5])) {
> @@ -461,9 +460,9 @@ static int __init smbios_present(const c
>  			dmi_ver = 0x0206;
>  			break;
>  		}
> -		offset = 16;
> +		return memcmp(q + 16, "_DMI_", 5) || dmi_present(p + 16);
>  	}

I remember H.J found a typo in this patch and the following patch.
>The patch has a typo:
>
>-		offset = 16;
>+		return memcmp(q + 16, "_DMI_", 5) || dmi_present(p + 16);
> 	}
>
>'q' isn't defined here.  Change it to `p" also fixes the problem for me.
>
>H.J.

> -	return dmi_present(buf + offset);
> +	return 1;
>  }
>  
>  void __init dmi_scan_machine(void)
> _
>
> Patches currently in -mm which might be from ben@xxxxxxxxxxxxxxx are
>
> linux-next.patch
> dmi_scan-fix-missing-check-for-_dmi_-signature-in-smbios_present.patch
> dmi_scan-refactor-dmi_scan_machine-smbiosdmi_present.patch
>

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]