1. 29 8月, 2009 9 次提交
  2. 27 8月, 2009 1 次提交
    • C
      wmi: fix kernel panic when stack protection enabled. · f3d83e24
      Costantino Leandro 提交于
      Summary:
      Kernel panic arise when stack protection is enabled, since strncat will
      add a null terminating byte '\0'; So in functions
      like this one (wmi_query_block):
              char wc[4]="WC";
      	....
      	strncat(method, block->object_id, 2);
              ...
      the length of wc should be n+1 (wc[5]) or stack protection
      fault will arise. This is not noticeable when stack protection is
      disabled,but , isn't good either.
      Config used: [CONFIG_CC_STACKPROTECTOR_ALL=y,
      	      CONFIG_CC_STACKPROTECTOR=y]
      
      Panic Trace
      ------------
             .... stack-protector: kernel stack corrupted in : fa7b182c
             2.6.30-rc8-obelisco-generic
             call_trace:
                 [<c04a6c40>] ? panic+0x45/0xd9
      	   [<c012925d>] ? __stack_chk_fail+0x1c/0x40
      	   [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi]
      	   [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi]
      	   [<fa7e7000>] ? acer_wmi_init+0x00/0x61a [acer_wmi]
      	   [<fa7e7135>] ? acer_wmi_init+0x135/0x61a [acer_wmi]
      	   [<c0101159>] ? do_one_initcall+0x50+0x126
      
      Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13514Signed-off-by: NCostantino Leandro <lcostantino@gmail.com>
      Signed-off-by: NCarlos Corbacho <carlos@strangeworlds.co.uk>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f3d83e24
  3. 03 8月, 2009 1 次提交
    • A
      eeepc-laptop: fix hot-unplug on resume · 7334546a
      Alan Jenkins 提交于
      OOPS on resume when the wireless adaptor is disabled during suspend was
      introduced by "eeepc-laptop: read rfkill soft-blocked state on resume".
      
      Unable to handle kernel NULL pointer dereference
      
      Process s2disk
      Tainted: G W
      IP: klist_put
      
      Call trace:
      ? klist_del
      ? device_del
      ? device_unregister
      ? pci_stop_dev
      ? pci_stop_bus
      ? pci_remove_device
      ? eeepc_rfkill_hotplug [eeepc_laptop]
      ? eeepc_hotk_resume [eeepc_laptop]
      ? acpi_device_resume
      ? device_resume
      ? hibernation_snapshot
      
      It appears the PCI device is removed twice.  The eeepc_rfkill_hotplug()
      call from the resume handler is racing against the call from the ACPI
      notifier callback.  The ACPI notification is triggered by the resume
      handler when it refreshes the value of CM_ASL_WLAN.
      
      The fix is to serialize hotplug calls using a workqueue.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=13825Signed-off-by: NAlan Jenkins <alan-jenkins@tuffmail.co.uk>
      Acked-by: NCorentin Chary <corentin.chary@gmail.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      7334546a
  4. 02 8月, 2009 4 次提交
  5. 31 7月, 2009 1 次提交
  6. 22 7月, 2009 1 次提交
  7. 08 7月, 2009 1 次提交
  8. 30 6月, 2009 1 次提交
    • I
      eeepc-laptop: Fix build failure with HOTPLUG_PCI && !SYSFS · 44b3615b
      Ingo Molnar 提交于
      FYI, there's a post-rc1 build regression with certain configs:
      
       drivers/built-in.o: In function `pci_hp_deregister':
       (.text+0xb166): undefined reference to `pci_hp_remove_module_link'
       drivers/built-in.o: In function `pci_hp_deregister':
       (.text+0xb19f): undefined reference to `pci_destroy_slot'
       drivers/built-in.o: In function `__pci_hp_register':
       (.text+0xb583): undefined reference to `pci_create_slot'
       drivers/built-in.o: In function `__pci_hp_register':
       (.text+0xb5b1): undefined reference to `pci_hp_create_module_link'
       make: *** [.tmp_vmlinux1] Error 1
      
      Caused by:
      
      | 2b121bc2 is first bad commit
      | commit 2b121bc2
      | Date:   Thu Jun 25 13:25:36 2009 +0200
      |
      |     eeepc-laptop: Register as a pci-hotplug device
      
      which changed the driver to use the PCI hotplug infrastructure, but
      didn't do a good job on the Kconfig rules.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: NLen Brown <len.brown@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      44b3615b
  9. 26 6月, 2009 7 次提交
  10. 24 6月, 2009 9 次提交
  11. 19 6月, 2009 3 次提交
  12. 18 6月, 2009 2 次提交
    • H
      thinkpad-acpi: support the second fan on the X61 · d7377247
      Henrique de Moraes Holschuh 提交于
      Support reading the tachometer of the auxiliary fan of a X60/X61.
      
      It was found out by sheer luck, that bit 0 of EC register 0x31
      (formely HBRV) selects which fan is active for tachometer readings
      through EC 0x84/0x085: 0 for fan1, 1 for fan2.
      
      Many thanks to Christoph Kl??nter, to Whoopie, and to weasel, who
      helped confirm that behaviour.
      
      Fan control through EC HFSP applies to both fans equally, regardless
      of the state of bit 0 of EC 0x31.  That matches the way the DSDT uses
      HFSP.
      
      In order to better support the secondary fan, export a second
      tachometer over hwmon, and add defensive measures to make sure we are
      reading the correct tachometer.
      
      Support for the second fan is whitelist-based, as I have not found
      anything obvious to look for in the DSDT to detect the presence of
      the second fan.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d7377247
    • H
      thinkpad-acpi: forbid the use of HBRV on Lenovo ThinkPads · d7880f10
      Henrique de Moraes Holschuh 提交于
      Forcing thinkpad-acpi to do EC-based brightness control (HBRV) on a
      X61 has very... interesting effects, instead of doing nothing (since
      it doesn't have EC-based backlight control), it causes "weirdness" in
      the fan tachometer readings, for example.
      
      This means the EC register that used to be HBRV has been reused by
      Lenovo for something else, but they didn't remove it from the DSDT.
      
      Make sure the documentation reflects this data, and forbid the user
      from forcing the driver to access HBRV on Lenovo ThinkPads.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d7880f10