lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180521212118.GD74396@dtor-ws>
Date:   Mon, 21 May 2018 14:21:18 -0700
From:   Dmitry Torokhov <dmitry.torokhov@...il.com>
To:     "Vittorio Gambaletta (VittGam)" <linuxbugs@...tgam.net>
Cc:     linux-kernel@...r.kernel.org, bleung@...omium.org,
        bleung@...gle.com, olof@...om.net,
        Salvatore Bellizzi <lkml@...pia.net>, groeck@...omium.org,
        groeck@...gle.com
Subject: Re: [PATCH RESEND] platform/chrome: cros_ec_lpc: Add support for
 newer Google devices using custom coreboot firmware or stock SeaBIOS.

Hi Vittorio,

On Mon, May 21, 2018 at 07:44:35AM +0200, Vittorio Gambaletta (VittGam) wrote:
> Custom coreboot firmware does not contain "Google_*" as BIOS
> version string; also, booting through stock SeaBIOS will present
> an empty BIOS version string to Linux. So the generic match at
> the top would not work.
> 
> A previous patch added the "GOOGLE" match for DMI system vendor,
> but newer machines such as Skylake-based Caroline use "Google"
> instead.
> 
> Also amend the previous comment adding a note that this is needed
> for stock SeaBIOS too.

I think this driver is incorrectly structured and adding new DMI
signatures should not be needed. The newer hardware has the device
GOOG0004 in their ACPI tables, we should not need additional DMI checks.
DMI checks should only be needed for much older hardware, such as
Link/Peppy that did not have EC described in DSDT.

Let me see if I can fix it up.

> 
> Signed-off-by: Vittorio Gambaletta <linuxbugs@...tgam.net>
> Signed-off-by: Salvatore Bellizzi <lkml@...pia.net>
> 
> ---
> 
> --- a/drivers/platform/chrome/cros_ec_lpc.c
> +++ b/drivers/platform/chrome/cros_ec_lpc.c
> @@ -347,7 +347,8 @@
>  	},
>  	{
>  		/*
> -		 * If the box is running custom coreboot firmware then the
> +		 * If the box is running custom coreboot firmware,
> +		 * or is booting Linux through stock SeaBIOS, then the
>  		 * DMI BIOS version string will not be matched by "Google_",
>  		 * but the system vendor string will still be matched by
>  		 * "GOOGLE".
> @@ -358,6 +359,16 @@
>  		},
>  	},
>  	{
> +		/*
> +		 * Newer machines use "Google" instead of "GOOGLE" as
> +		 * DMI system vendor string.
> +		 */
> +		.matches = {
> +			DMI_MATCH(DMI_BIOS_VENDOR, "coreboot"),
> +			DMI_MATCH(DMI_SYS_VENDOR, "Google"),
> +		},
> +	},
> +	{
>  		/* x86-link, the Chromebook Pixel. */
>  		.matches = {
>  			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),

Thanks.

-- 
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ