From: "Pali Rohár" <pali.rohar@gmail.com>
To: Darren Hart <dvhart@infradead.org>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org,
Gabriele Mazzotta <gabriele.mzt@gmail.com>
Subject: Re: [PATCH 1/3] dell-laptop: Clear buffer before each SMBIOS call
Date: Fri, 3 Jul 2015 10:10:38 +0200 [thread overview]
Message-ID: <20150703081038.GF1841@pali> (raw)
In-Reply-To: <20150702004544.GD27795@vmdeb7>
On Wednesday 01 July 2015 17:45:44 Darren Hart wrote:
> On Wed, Jul 01, 2015 at 08:08:19PM +0200, Pali Rohár wrote:
> > Make sure that before initializing SMBIOS call input buffer does not contain
> > any garbage (e.g values from previous SMBIOS call). This fix problem with
> > passing undefined/random parameters to SMBIOS functions.
> >
> > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > ---
> > drivers/platform/x86/dell-laptop.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> > index 35758cb..6728487 100644
> > --- a/drivers/platform/x86/dell-laptop.c
> > +++ b/drivers/platform/x86/dell-laptop.c
> > @@ -310,10 +310,15 @@ static DEFINE_MUTEX(buffer_mutex);
> >
> > static int hwswitch_state;
> >
> > +static void clear_buffer(void)
> > +{
> > + memset(buffer, 0, sizeof(struct calling_interface_buffer));
> > +}
> > +
> > static void get_buffer(void)
> > {
> > mutex_lock(&buffer_mutex);
> > - memset(buffer, 0, sizeof(struct calling_interface_buffer));
> > + clear_buffer();
> > }
> >
> > static void release_buffer(void)
> > @@ -557,6 +562,8 @@ static int dell_rfkill_set(void *data, bool blocked)
> > !(buffer->output[1] & BIT(16)))
> > disable = 1;
> >
> > + clear_buffer();
> > +
> > buffer->input[0] = (1 | (radio<<8) | (disable << 16));
> > dell_send_request(buffer, 17, 11);
> >
> > @@ -571,6 +578,7 @@ static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio,
> > if (status & BIT(0)) {
> > /* Has hw-switch, sync sw_state to BIOS */
> > int block = rfkill_blocked(rfkill);
> > + clear_buffer();
> > buffer->input[0] = (1 | (radio << 8) | (block << 16));
> > dell_send_request(buffer, 17, 11);
> > } else {
> > @@ -774,6 +782,7 @@ static int __init dell_setup_rfkill(void)
> > dell_send_request(buffer, 17, 11);
> > status = buffer->output[1];
> > buffer->input[0] = 0x2;
> > + clear_buffer();
> > dell_send_request(buffer, 17, 11);
>
> This clears the buffer after modifying input[0] and right before
> dell_send_request... so you're sending a completely empty buffer? Is that
> intentional here? I guess I would have expected the clear_buffer to be one line
> earlier.
>
Yes, now I see. I split that one patch into tree and I checked that
every one compiles fine and cumulative change of all patches is same...
Because that part (sending 0x2) is deleted in patch 3/3 it missed in my
eyes...
I will fix these problems and sent patch series again.
> > hwswitch_state = buffer->output[1];
> > release_buffer();
> > --
> > 1.7.9.5
> >
> >
>
--
Pali Rohár
pali.rohar@gmail.com
next prev parent reply other threads:[~2015-07-03 8:10 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-21 8:39 [PATCH 0/4] Fixes for dell-laptop.c driver Pali Rohár
2015-06-21 8:39 ` Pali Rohár
2015-06-21 8:39 ` [PATCH 1/4] dell-laptop: Update information about wireless control Pali Rohár
2015-06-21 8:39 ` Pali Rohár
2015-06-22 19:06 ` Darren Hart
2015-06-22 19:06 ` Darren Hart
2015-06-21 8:39 ` [PATCH 2/4] dell-laptop: Check return value of all SMBIOS calls Pali Rohár
2015-06-21 8:39 ` Pali Rohár
2015-06-22 18:26 ` Darren Hart
2015-06-22 18:26 ` Darren Hart
2015-06-27 7:34 ` [PATCH v2] dell-laptop: Check return value of all SMBIOS calls and do not cache hwswitch state Pali Rohár
2015-06-29 23:02 ` Darren Hart
2015-07-01 18:04 ` Pali Rohár
2015-07-01 18:08 ` [PATCH 1/3] dell-laptop: Clear buffer before each SMBIOS call Pali Rohár
2015-07-01 18:08 ` [PATCH 2/3] dell-laptop: Check return value of " Pali Rohár
2015-07-01 18:08 ` [PATCH 3/3] dell-laptop: Do not cache hwswitch state Pali Rohár
2015-07-02 0:42 ` Darren Hart
2015-07-06 10:09 ` Pali Rohár
2015-07-02 0:45 ` [PATCH 1/3] dell-laptop: Clear buffer before each SMBIOS call Darren Hart
2015-07-03 8:10 ` Pali Rohár [this message]
2015-07-06 10:08 ` [PATCH v2 " Pali Rohár
2015-07-06 10:08 ` [PATCH v2 2/3] dell-laptop: Check return value of " Pali Rohár
2015-07-06 10:08 ` [PATCH v2 3/3] dell-laptop: Do not cache hwswitch state Pali Rohár
2015-07-06 22:39 ` [PATCH v2 1/3] dell-laptop: Clear buffer before each SMBIOS call Darren Hart
2015-07-07 14:04 ` Pali Rohár
2015-07-07 15:52 ` Darren Hart
2015-06-21 8:41 ` [PATCH 3/4] dell-laptop: Fix allocating & freeing SMI buffer page Pali Rohár
2015-06-21 8:41 ` Pali Rohár
2015-06-21 8:41 ` Pali Rohár
2015-06-22 8:46 ` Michal Hocko
2015-06-22 8:46 ` Michal Hocko
2015-06-22 8:46 ` Michal Hocko
2015-06-22 19:04 ` Darren Hart
2015-06-22 19:04 ` Darren Hart
2015-06-22 19:04 ` Darren Hart
2015-06-23 8:11 ` [PATCH] " Pali Rohár
2015-06-23 8:11 ` Pali Rohár
2015-06-23 8:11 ` Pali Rohár
2015-06-25 3:23 ` Darren Hart
2015-06-25 3:23 ` Darren Hart
2015-06-25 3:23 ` Darren Hart
2015-06-25 3:23 ` Darren Hart
2015-06-21 8:41 ` [PATCH 4/4] dell-laptop: Show info about WiGig and UWB in debugfs Pali Rohár
2015-06-21 8:41 ` Pali Rohár
2015-06-22 19:05 ` Darren Hart
2015-06-22 19:05 ` Darren Hart
2015-06-22 18:02 ` [PATCH 0/4] Fixes for dell-laptop.c driver Darren Hart
2015-06-22 18:02 ` Darren Hart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150703081038.GF1841@pali \
--to=pali.rohar@gmail.com \
--cc=dvhart@infradead.org \
--cc=gabriele.mzt@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.