RE: [PATCH 07/12] platform/x86: dell-wmi-smbios: Use Dell WMI descriptor check

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

 



> -----Original Message-----
> From: Andy Shevchenko [mailto:andy.shevchenko@xxxxxxxxx]
> Sent: Thursday, September 21, 2017 11:44 AM
> To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>
> Cc: dvhart@xxxxxxxxxxxxx; LKML <linux-kernel@xxxxxxxxxxxxxxx>; Platform Driver
> <platform-driver-x86@xxxxxxxxxxxxxxx>; quasisec@xxxxxxxxxx; Pali Rohár
> <pali.rohar@xxxxxxxxx>
> Subject: Re: [PATCH 07/12] platform/x86: dell-wmi-smbios: Use Dell WMI
> descriptor check
> 
> On Thu, Sep 21, 2017 at 4:57 PM, Mario Limonciello
> <mario.limonciello@xxxxxxxx> wrote:
> > The Dell WMI descriptor check is used as an indication that WMI
> > calls are safe to run both when used with the notification
> > ASL/GUID pair as well as the SMBIOS calling ASL/GUID pair.
> >
> > As some code in dell-wmi-smbios is already a prerequisite for
> > dell-wmi, move the code for performing the descriptor check into
> > dell-wmi-smbios and let both drivers use it from there.
> 
> > +       desc_buffer = (u32 *)obj->buffer.pointer;
> > +
> 
> > +       if (desc_buffer[0] != 0x4C4C4544 && desc_buffer[1] != 0x494D5720)
> 
> I was thinking about strncmp() here for a full line, though decide not
> to push it anyhow. Those IDs is binary data, can be anything and you
> have comment of what is expected here.
> 
> But I think it would be nice to create a separate definitions and make
> comments there.
> 
> > +               dev_warn(&wdev->dev, "Dell descriptor buffer has invalid signature
> (%*ph)\n",
> > +                       8, desc_buffer);
> 
> %8ph ?
> 
> > +
> > +       if (desc_buffer[2] != 0 && desc_buffer[2] != 1)
> > +               dev_warn(&wdev->dev, "Dell descriptor buffer has unknown version
> (%d)\n",
> > +                       desc_buffer[2]);
> 
> %u ? u32 can't be negative and you basically allow it.
> 
> > +
> > +       if (desc_buffer[3] != 4096)
> > +               dev_warn(&wdev->dev, "Dell descriptor buffer has invalid buffer length
> (%d)\n",
> > +                       desc_buffer[3]);
> 
> Ditto.
> 
> 
> P.S. I noticed this all in old code, so, you can address my comments
> in a separate patch if you find them useful.
> 

Yeah this is all old code.  I've made some adjustments to it in v2 in a completely separate
patch that comes after the patch it's "moved".  I'll submit back after other feedback
to this series.





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

  Powered by Linux