From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965968AbdJQTbV (ORCPT ); Tue, 17 Oct 2017 15:31:21 -0400 Received: from esa7.dell-outbound.iphmx.com ([68.232.153.96]:3947 "EHLO esa7.dell-outbound.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965336AbdJQTbU (ORCPT ); Tue, 17 Oct 2017 15:31:20 -0400 From: X-LoopCount0: from 10.166.132.189 X-IronPort-AV: E=Sophos;i="5.43,392,1503378000"; d="scan'208";a="1166251451" X-DLP: DLP_GlobalPCIDSS To: CC: , , , , , , , , , , Subject: RE: [PATCH v9 03/17] platform/x86: dell-wmi: clean up wmi descriptor check Thread-Topic: [PATCH v9 03/17] platform/x86: dell-wmi: clean up wmi descriptor check Thread-Index: AQHTR3gEDNvniKfBj0GOs/N9kSG2p6LobZqg Date: Tue, 17 Oct 2017 19:31:13 +0000 Message-ID: <5da23d3566b04913aaef369cb7597e16@ausx13mpc120.AMER.DELL.COM> References: <20171017184445.c5endis7tzncplrz@pali> In-Reply-To: <20171017184445.c5endis7tzncplrz@pali> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.143.18.86] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id v9HJVReb013812 > -----Original Message----- > From: Pali Rohár [mailto:pali.rohar@gmail.com] > Sent: Tuesday, October 17, 2017 1:45 PM > To: Limonciello, Mario > Cc: dvhart@infradead.org; Andy Shevchenko ; > LKML ; platform-driver-x86@vger.kernel.org; Andy > Lutomirski ; quasisec@google.com; rjw@rjwysocki.net; > mjg59@google.com; hch@lst.de; Greg KH ; Alan Cox > > Subject: Re: [PATCH v9 03/17] platform/x86: dell-wmi: clean up wmi descriptor > check > > On Tuesday 17 October 2017 13:21:47 Mario Limonciello wrote: > > Some cases the wrong type was used for errors and checks can be > > done more cleanly. > > > > Signed-off-by: Mario Limonciello > > Reviewed-by: Edward O'Callaghan > > Suggested-by: Andy Shevchenko > > --- > > drivers/platform/x86/dell-wmi.c | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c > > index 2cfaaa8faf0a..ece2fe341f01 100644 > > --- a/drivers/platform/x86/dell-wmi.c > > +++ b/drivers/platform/x86/dell-wmi.c > > @@ -663,19 +663,19 @@ static int dell_wmi_check_descriptor_buffer(struct > wmi_device *wdev) > > > > buffer = (u32 *)obj->buffer.pointer; > > > > - if (buffer[0] != 0x4C4C4544 && buffer[1] != 0x494D5720) { > > - dev_err(&wdev->dev, "Dell descriptor buffer has invalid signature > (%*ph)\n", > > - 8, buffer); > > + if (strncmp(obj->string.pointer, "DELL WMI", 8) != 0) { > > + dev_err(&wdev->dev, "Dell descriptor buffer has invalid signature > (%8ph)\n", > > + buffer); > > ret = -EINVAL; > > goto out; > > } > > > > if (buffer[2] != 0 && buffer[2] != 1) > > - dev_warn(&wdev->dev, "Dell descriptor buffer has unknown > version (%d)\n", > > + dev_warn(&wdev->dev, "Dell descriptor buffer has unknown > version (%u)\n", > > buffer[2]); > > To be correct, buffer[2] is of type "u32", not of type "unsigned". So > this patch does not fix it properly. > What's the proper solution then? Cast buffer[2] to a known type length like unsigned long and use %lu?