X86 platform drivers
 help / color / mirror / Atom feed
* sony-laptop: fix early NULL pointer dereference
       [not found]           ` <BANLkTimJa3CSWouTMJD5V0ZuMa67YXy88Q@mail.gmail.com>
@ 2011-04-04 23:44             ` Mattia Dongili
  2011-04-05  0:26               ` Thiago Farina
  0 siblings, 1 reply; 3+ messages in thread
From: Mattia Dongili @ 2011-04-04 23:44 UTC (permalink / raw)
  Cc: Andrea Gelmini, Matthew Garrett, anssi.hannula, linux-acpi,
	axel.lin, trenn, len.brown, linux-kernel, Dan Carpenter,
	platform-driver-x86

Author: Mattia Dongili <malattia@linux.it>
Date:   Fri Apr 1 10:01:41 2011 +0900

    sony-laptop: fix early NULL pointer dereference
    
    The SNC acpi driver could get early notifications before it fully
    initializes and that could lead to dereferencing the sony_nc_handles
    structure pointer that is still NULL at that stage.
    Make sure we return early from the handle lookup function in these
    cases.
    
    Signed-off-by: Mattia Dongili <malattia@linux.it>
---

Hi Matthew,
if it's not too late, can you pick this one up instead of the previous
one (89ec2feafaedd759e53346d641f60863a14cfb9e)?
If it's too late I'll try and do a round of return value fixes later.

diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index b2ce172..de79c18 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -810,6 +810,11 @@ static int sony_nc_handles_cleanup(struct platform_device *pd)
 static int sony_find_snc_handle(int handle)
 {
 	int i;
+
+	/* not initialized yet, return early */
+	if (!handles)
+		return -EINVAL;
+
 	for (i = 0; i < 0x10; i++) {
 		if (handles->cap[i] == handle) {
 			dprintk("found handle 0x%.4x (offset: 0x%.2x)\n",
-- 
mattia
:wq!

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: sony-laptop: fix early NULL pointer dereference
  2011-04-04 23:44             ` sony-laptop: fix early NULL pointer dereference Mattia Dongili
@ 2011-04-05  0:26               ` Thiago Farina
  2011-04-05 12:50                 ` Dan Carpenter
  0 siblings, 1 reply; 3+ messages in thread
From: Thiago Farina @ 2011-04-05  0:26 UTC (permalink / raw)
  To: Mattia Dongili
  Cc: Matthew Garrett, Andrea Gelmini, anssi.hannula, linux-acpi,
	axel.lin, trenn, len.brown, linux-kernel, Dan Carpenter,
	platform-driver-x86

On Mon, Apr 4, 2011 at 8:44 PM, Mattia Dongili <malattia@linux.it> wrote:
> Author: Mattia Dongili <malattia@linux.it>
> Date:   Fri Apr 1 10:01:41 2011 +0900
>
I think most of the patches doesn't include these above lines nor the
subject line in the description. Also when submitting a patch to the
list, please don't forget to put [PATCH] on the subject line.

git format-patch should output the right format.

>    sony-laptop: fix early NULL pointer dereference
>
>    The SNC acpi driver could get early notifications before it fully
>    initializes and that could lead to dereferencing the sony_nc_handles
>    structure pointer that is still NULL at that stage.
>    Make sure we return early from the handle lookup function in these
>    cases.
>
>    Signed-off-by: Mattia Dongili <malattia@linux.it>
> ---
>
> Hi Matthew,
> if it's not too late, can you pick this one up instead of the previous
> one (89ec2feafaedd759e53346d641f60863a14cfb9e)?
> If it's too late I'll try and do a round of return value fixes later.
>
> diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
> index b2ce172..de79c18 100644
> --- a/drivers/platform/x86/sony-laptop.c
> +++ b/drivers/platform/x86/sony-laptop.c
> @@ -810,6 +810,11 @@ static int sony_nc_handles_cleanup(struct platform_device *pd)
>  static int sony_find_snc_handle(int handle)
>  {
>        int i;
> +
> +       /* not initialized yet, return early */
This comment is useless, it is just repeating what the codes does ;) I
think you can just remove it.

> +       if (!handles)
> +               return -EINVAL;
> +
>        for (i = 0; i < 0x10; i++) {
>                if (handles->cap[i] == handle) {
>                        dprintk("found handle 0x%.4x (offset: 0x%.2x)\n",
> --
> mattia
> :wq!
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: sony-laptop: fix early NULL pointer dereference
  2011-04-05  0:26               ` Thiago Farina
@ 2011-04-05 12:50                 ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2011-04-05 12:50 UTC (permalink / raw)
  To: Thiago Farina
  Cc: Mattia Dongili, Matthew Garrett, Andrea Gelmini, anssi.hannula,
	linux-acpi, axel.lin, trenn, len.brown, linux-kernel,
	platform-driver-x86

On 4/5/11, Thiago Farina <tfransosi@gmail.com> wrote:
> On Mon, Apr 4, 2011 at 8:44 PM, Mattia Dongili <malattia@linux.it> wrote:
>> Author: Mattia Dongili <malattia@linux.it>
>> Date:   Fri Apr 1 10:01:41 2011 +0900
>>
> I think most of the patches doesn't include these above lines nor the
> subject line in the description.

Just ignore those lines.  It's a git thing.

> Also when submitting a patch to the
> list, please don't forget to put [PATCH] on the subject line.
>

Yeah.  [patch v2].  But it's too late to fix that so don't worry about it.

> git format-patch should output the right format.
>
>>    sony-laptop: fix early NULL pointer dereference
>>
>>    The SNC acpi driver could get early notifications before it fully
>>    initializes and that could lead to dereferencing the sony_nc_handles
>>    structure pointer that is still NULL at that stage.
>>    Make sure we return early from the handle lookup function in these
>>    cases.
>>
>>    Signed-off-by: Mattia Dongili <malattia@linux.it>
>> ---
>>
>> Hi Matthew,
>> if it's not too late, can you pick this one up instead of the previous
>> one (89ec2feafaedd759e53346d641f60863a14cfb9e)?
>> If it's too late I'll try and do a round of return value fixes later.

Don't worry about it.  Probably the real fix is to make checkpatch.pl
complain if you return -1 instead of a proper error code.

>>
>> diff --git a/drivers/platform/x86/sony-laptop.c
>> b/drivers/platform/x86/sony-laptop.c
>> index b2ce172..de79c18 100644
>> --- a/drivers/platform/x86/sony-laptop.c
>> +++ b/drivers/platform/x86/sony-laptop.c
>> @@ -810,6 +810,11 @@ static int sony_nc_handles_cleanup(struct
>> platform_device *pd)
>>  static int sony_find_snc_handle(int handle)
>>  {
>>        int i;
>> +
>> +       /* not initialized yet, return early */
> This comment is useless, it is just repeating what the codes does ;) I
> think you can just remove it.

Whatever...  Let's just merge this fix and let's move on.

regards,
dan carpenter

>
>> +       if (!handles)
>> +               return -EINVAL;
>> +
>>        for (i = 0; i < 0x10; i++) {
>>                if (handles->cap[i] == handle) {
>>                        dprintk("found handle 0x%.4x (offset: 0x%.2x)\n",

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-04-05 12:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <AANLkTi=1xtjEZc2C1=W-v2oYbvvcGH9k_DGGXvJ8=swq@mail.gmail.com>
     [not found] ` <20110401172241.GA26851@srcf.ucam.org>
     [not found]   ` <BANLkTikPjwowBge82viT+Ma5UnP0fA-pew@mail.gmail.com>
     [not found]     ` <20110402100043.GA5890@kamineko.org>
     [not found]       ` <BANLkTikVGWM3T1y2XvwkHB+Yub5EhG1RPA@mail.gmail.com>
     [not found]         ` <20110402155549.GA6724@kamineko.org>
     [not found]           ` <BANLkTimJa3CSWouTMJD5V0ZuMa67YXy88Q@mail.gmail.com>
2011-04-04 23:44             ` sony-laptop: fix early NULL pointer dereference Mattia Dongili
2011-04-05  0:26               ` Thiago Farina
2011-04-05 12:50                 ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox