All of lore.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: linux-acpi@vger.kernel.org
Cc: Darren Salt <linux@youmustbejoking.demon.co.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	Len Brown <len.brown@intel.com>
Subject: [PATCH 29/30] eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init
Date: Sat, 07 Feb 2009 01:41:37 -0500	[thread overview]
Message-ID: <7695fb04aca62e2d8a7ca6ede50f6211e1d71e53.1233988827.git.len.brown@intel.com> (raw)
In-Reply-To: <091d71e023557136e96f0e54f301497a3fc95dc3.1233988822.git.len.brown@intel.com>
In-Reply-To: <091d71e023557136e96f0e54f301497a3fc95dc3.1233988822.git.len.brown@intel.com>

From: Darren Salt <linux@youmustbejoking.demon.co.uk>

I got the following oops while changing the backlight brightness during
startup.  When it happens, it prevents use of the hotkeys, Fn-Fx, and the
lid button.

It's a clear use-before-init, as I verified by testing with an
appropriately-placed "else printk".

BUG: unable to handle kernel NULL pointer dereference at 00000000
*pde = 00000000
Oops: 0002 [#1] PREEMPT SMP
Pid: 160, comm: kacpi_notify Not tainted (2.6.28.1-eee901 #4) 901
EIP: 0060:[<c0264e68>]  [<c0264e68>] eeepc_hotk_notify+26/da
EFLAGS: 00010246 CPU: 1
Using defaults from ksymoops -t elf32-i386 -a i386
EAX: 00000009 EBX: 00000000 ECX: 00000009 EDX: f70dbf64
ESI: 00000029 EDI: f7335188 EBP: c02112c9 ESP: f70dbf80
 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
 f70731e0 f73acd50 c02164ac f7335180 f70aa040 c02112e6 f733518c c012b62f
 f70aa044 f70aa040 c012bdba f70aa04c 00000000 c012be6e 00000000 f70bdf80
 c012e198 f70dbfc4 f70dbfc4 f70aa040 c012bdba 00000000 c012e0c9 c012e091
Call Trace:
 [<c02164ac>] ? acpi_ev_notify_dispatch+4c/55
 [<c02112e6>] ? acpi_os_execute_deferred+1d/25
 [<c012b62f>] ? run_workqueue+71/f1
 [<c012bdba>] ? worker_thread+0/bf
 [<c012be6e>] ? worker_thread+b4/bf
 [<c012e198>] ? autoremove_wake_function+0/2b
 [<c012bdba>] ? worker_thread+0/bf
 [<c012e0c9>] ? kthread+38/5f
 [<c012e091>] ? kthread+0/5f
 [<c0103abf>] ? kernel_thread_helper+7/10
Code: 00 00 00 00 c3 83 3d 60 5c 50 c0 00 56 89 d6 53 0f 84 c4 00 00 00 8d 42
e0 83 f8 0f 77 0f 8b 1d 68 5c 50 c0 89 d8 e8 a9 fa ff ff <89> 03 8b 1d 60 5c
50 c0 89 f2 83 e2 7f 0f b7 4c 53 10 8d 41 01

Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/platform/x86/eeepc-laptop.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
index 9d93cb9..8fb983f 100644
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -510,7 +510,8 @@ static int eeepc_hotk_check(void)
 static void notify_brn(void)
 {
 	struct backlight_device *bd = eeepc_backlight_device;
-	bd->props.brightness = read_brightness(bd);
+	if (bd)
+		bd->props.brightness = read_brightness(bd);
 }
 
 static void eeepc_hotk_notify(acpi_handle handle, u32 event, void *data)
-- 
1.5.6.6


  parent reply	other threads:[~2009-02-07  6:42 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-07  6:41 [PATCH 01/30] PM: Fix compilation warning in kernel/power/main.c Len Brown
2009-02-07  6:41 ` [PATCH 02/30] ACPI suspend: Fix compilation warnings in drivers/acpi/sleep.c Len Brown
2009-02-07  6:41 ` [PATCH 03/30] ACPI: Fix crash on ASUS laptops Len Brown
2009-02-07  6:41 ` [PATCH 04/30] panasonic-laptop: fix X[ ARRAY_SIZE(X) ] Len Brown
2009-02-07  6:41 ` [PATCH 05/30] eeepc-laptop: split eeepc_backlight_exit() Len Brown
2009-02-07  6:41 ` [PATCH 06/30] asus_acpi: Add R1F support Len Brown
2009-02-07  6:41 ` [PATCH 07/30] asus-laptop: use generic netlink interface Len Brown
2009-02-07  6:41 ` [PATCH 08/30] asus-laptop: hotkeys via the generic input interface Len Brown
2009-02-07  6:41 ` [PATCH 09/30] asus-laptop: update Kconfig for input layer Len Brown
2009-02-07  6:41 ` [PATCH 10/30] asus-laptop: fix label indentation Len Brown
2009-02-07  6:41 ` [PATCH 11/30] eeepc-laptop: Add support for extended hotkeys Len Brown
2009-02-07  6:41 ` [PATCH 12/30] eeepc-laptop: Check return values from rfkill_register Len Brown
2009-02-07  6:41 ` [PATCH 13/30] eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop Len Brown
2009-02-07  6:41 ` [PATCH 14/30] eeepc-laptop: use netlink interface Len Brown
2009-02-07  6:41 ` [PATCH 15/30] ACPI: remove locking from PM1x_STS register reads Len Brown
2009-02-07  6:41 ` [PATCH 16/30] ACPI: remove BM_RLD access from idle entry path Len Brown
2009-02-07  6:41 ` [PATCH 17/30] ACPI: Skip the first two elements in the _BCL package Len Brown
2009-02-07  6:41 ` [PATCH 18/30] ACPI: proc_dir_entry 'video/VGA' already registered Len Brown
2009-02-07  6:41 ` [PATCH 19/30] ACPICA: add debug dump of BIOS _OSI strings Len Brown
2009-02-07  6:41 ` [PATCH 20/30] ACPI: make some IO ports off-limits to AML Len Brown
2009-02-07  6:41 ` [PATCH 21/30] ACPI: cpufreq: Remove deprecated /proc/acpi/processor/../performance proc entries Len Brown
2009-02-07  6:41 ` [PATCH 22/30] ACPI: delete CPU_IDLE=n code Len Brown
2009-02-07  6:41 ` [PATCH 23/30] ACPI: disable ACPI cleanly when bad RSDP found Len Brown
2009-02-07  6:41 ` [PATCH 24/30] ACPI: dock: Don't eval _STA on every show_docked sysfs read Len Brown
2009-02-07  6:41 ` [PATCH 25/30] ACPI: add missing KERN_* constants to printks Len Brown
2009-02-07  6:41 ` [PATCH 26/30] ACPI: struct device - replace bus_id with dev_name(), dev_set_name() Len Brown
2009-02-07  6:41 ` [PATCH 27/30] ACPI: Enable bit 11 in _PDC to advertise hw coord Len Brown
2009-02-07  6:41 ` [PATCH 28/30] ACPICA: Fix table entry truncation calculation Len Brown
2009-02-07  6:41 ` Len Brown [this message]
2009-02-07  6:41 ` [PATCH 30/30] ACPI: Kconfig text - Fix the ACPI_CONTAINER module name according to the real module name Len Brown

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=7695fb04aca62e2d8a7ca6ede50f6211e1d71e53.1233988827.git.len.brown@intel.com \
    --to=lenb@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux@youmustbejoking.demon.co.uk \
    /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.