On Tuesday 17 October 2017 13:21:51 Mario Limonciello wrote: > The proper way to indicate that a system is a 'supported' Dell System > is by the presence of this string in OEM strings. > > Allowing the driver to load on non-Dell systems will have undefined > results. > > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx> > Reviewed-by: Edward O'Callaghan <quasisec@xxxxxxxxxx> > --- > drivers/platform/x86/dell-smbios.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/platform/x86/dell-smbios.c b/drivers/platform/x86/dell-smbios.c > index e9b1ca07c872..7e779278d054 100644 > --- a/drivers/platform/x86/dell-smbios.c > +++ b/drivers/platform/x86/dell-smbios.c > @@ -172,8 +172,15 @@ static void __init find_tokens(const struct dmi_header *dm, void *dummy) > > static int __init dell_smbios_init(void) > { > + const struct dmi_device *valid; > int ret; > > + valid = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL); Are you sure that all Dell machines have exactly this string? IIRC this smbios interface via SMM is supported by machines back to 2005... Also in other DMI tables in dell-latop there is e.g. "Dell Inc." or "Dell Computer Corporation". > + if (!valid) { > + pr_err("Unable to run on non-Dell system\n"); > + return -ENODEV; > + } > + > dmi_walk(find_tokens, NULL); > > if (!da_tokens) { -- Pali Rohár pali.rohar@xxxxxxxxx