RE: [PATCH v9 04/17] platform/x86: dell-wmi: allow 32k return size in the descriptor
From: Mario.Limonciello
Date: Tue Oct 17 2017 - 14:57:04 EST
> -----Original Message-----
> From: Pali RohÃr [mailto:pali.rohar@xxxxxxxxx]
> Sent: Tuesday, October 17, 2017 1:47 PM
> To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>
> Cc: dvhart@xxxxxxxxxxxxx; Andy Shevchenko <andy.shevchenko@xxxxxxxxx>;
> LKML <linux-kernel@xxxxxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx; Andy
> Lutomirski <luto@xxxxxxxxxx>; quasisec@xxxxxxxxxx; rjw@xxxxxxxxxxxxx;
> mjg59@xxxxxxxxxx; hch@xxxxxx; Greg KH <greg@xxxxxxxxx>; Alan Cox
> <gnomes@xxxxxxxxxxxxxxxxxxx>
> Subject: Re: [PATCH v9 04/17] platform/x86: dell-wmi: allow 32k return size in the
> descriptor
>
> On Tuesday 17 October 2017 13:21:48 Mario Limonciello wrote:
> > Some platforms this year will be adopting 32k WMI buffer, so don't
> > complain when encountering those.
> >
> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx>
> > Reviewed-by: Edward O'Callaghan <quasisec@xxxxxxxxxx>
> > ---
> > drivers/platform/x86/dell-wmi.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
> > index ece2fe341f01..2578dff90a14 100644
> > --- a/drivers/platform/x86/dell-wmi.c
> > +++ b/drivers/platform/x86/dell-wmi.c
> > @@ -624,7 +624,7 @@ static void dell_wmi_input_destroy(struct wmi_device
> *wdev)
> > * Vendor Signature 0 4 "DELL"
> > * Object Signature 4 4 " WMI"
> > * WMI Interface Version 8 4 <version>
> > - * WMI buffer length 12 4 4096
> > + * WMI buffer length 12 4 4096 or 32768
> > */
> > static int dell_wmi_check_descriptor_buffer(struct wmi_device *wdev)
> > {
> > @@ -674,7 +674,7 @@ static int dell_wmi_check_descriptor_buffer(struct
> wmi_device *wdev)
> > dev_warn(&wdev->dev, "Dell descriptor buffer has unknown
> version (%u)\n",
> > buffer[2]);
> >
> > - if (buffer[3] != 4096)
> > + if (buffer[3] != 4096 && buffer[3] != 32768)
> > dev_warn(&wdev->dev, "Dell descriptor buffer has invalid buffer
> length (%u)\n",
> > buffer[3]);
> >
>
> Now, when buffer size is going to be exported to userspace and userspace
> would need to prepare correct request, would not it better to allow any
> positive buffer size? This would allow new machines to work even if
> buffer size would be increased again (or decreased).
I suppose you're right the warning isn't very useful as the data is properly
used within userspace and the rest of the drivers now. I'll make some
adjustments to remove this warning instead.