[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110402100043.GA5890@kamineko.org>
Date: Sat, 2 Apr 2011 19:00:44 +0900
From: Mattia Dongili <malattia@...ux.it>
To: Andrea Gelmini <andrea.gelmini@...il.com>
Cc: 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, error27@...il.com,
linux-kernel@...r.kernel.org
Subject: Re: Regression 2.6.39-rc1 for sony-laptop
On Sat, Apr 02, 2011 at 11:44:57AM +0200, Andrea Gelmini wrote:
> 2011/4/1 Matthew Garrett <mjg59@...f.ucam.org>:
> > touch any Sony code. I'll take a look at the Sony patches, thanks for
> > the report!
>
> Hi Matthew,
> and thanks a lot for your quick answer.
> Maybe I messed up with bisect trying to find the origin of two regression.
> One was this. The other one is this one.
>
> Hibernation (to disk, of course) doesn't work no more.
> Screen blanks and nothing happens. No HD activity, and so on. I also
> waited some minutes.
>
> Well, bisect blame this commit:
>
> commit 2a4f0c81adcd1f812a63bc9106be2fd26f437730
> Author: Mattia Dongili <malattia@...ux.it>
> Date: Sat Feb 19 11:52:30 2011 +0900
>
> sony-laptop: cache handles and report them via sysfs
>
> Avoid calling into acpi each time we need to lookup a method handle
> and report the available handles to ease collection of information when
> debugging issues. Also move initialization of the platform driver
> earlier to allow adding files from other setup functions.
>
> Signed-off-by: Mattia Dongili <malattia@...ux.it>
> Signed-off-by: Matthew Garrett <mjg@...hat.com>
>
> drivers/platform/x86/sony-laptop.c | 97 ++++++++++++++++++++++++++++++------
> 1 files changed, 81 insertions(+), 16 deletions(-)
>
> Do you have any suggestion to better track down this issue?
> It's not possibile to simply revert it.
As already reported the following patch should fix the issue:
commit 88d25cbfda526567dabf056a868d8ff5f22a962e
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>
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index b2ce172..7082c55 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 -1;
+
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