[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 5 Apr 2011 08:44:49 +0900
From: Mattia Dongili <malattia@...ux.it>
To: Matthew Garrett <mjg59@...f.ucam.org>
Cc: Andrea Gelmini <andrea.gelmini@...il.com>,
Matthew Garrett <mjg59@...f.ucam.org>, anssi.hannula@....fi,
linux-acpi@...r.kernel.org, axel.lin@...il.com, trenn@...e.de,
len.brown@...el.com, linux-kernel@...r.kernel.org,
Dan Carpenter <error27@...il.com>,
platform-driver-x86 <platform-driver-x86@...r.kernel.org>
Subject: sony-laptop: fix early NULL pointer dereference
Author: Mattia Dongili <malattia@...ux.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@...ux.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!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists