1. 28 Oct, 2009 5 commits
  2. 31 Oct, 2009 1 commit
  3. 12 Oct, 2009 2 commits
  4. 29 Sep, 2009 1 commit
  5. 09 Nov, 2009 1 commit
  6. 20 Aug, 2009 1 commit
  7. 25 Sep, 2009 1 commit
    • Andrew Morton's avatar
      Presently acpi-cpufreq will perform the MSR read on the first CPU in the · 50603fb8
      Andrew Morton authored
      mask.  That's inefficient if that CPU differs from the current CPU. 
      Because we have to perform a cross-CPU call, but we could have run the
      rdmsr on the current CPU.
      
      So switch to using the new smp_call_function_any(), which will perform the
      call on the current CPU if that CPU is present in the mask (it is).
      
      Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jaswinder Singh Rajput <jaswinder@kernel.org>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Cc: Zhao Yakui <yakui.zhao@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      50603fb8
  8. 09 Nov, 2009 2 commits
  9. 28 Oct, 2009 2 commits
  10. 14 Oct, 2009 1 commit
  11. 06 Oct, 2009 1 commit
  12. 30 Sep, 2009 1 commit
  13. 09 Nov, 2009 2 commits
    • Feng Tang's avatar
      Recent hrtimer code will set the start info to a hrtimer only when that · 2ab46374
      Feng Tang authored
      flag is set, then the start info of all hrtimers will always be
      uninitialised before a "echo 1 > /proc/timer_stats", thus the
      /proc/timer_lists will have something like:
      
      active timers:
       #0: <c27d46b0>, tick_sched_timer, S:01, <(null)>, /-1
       # expires at 91062000000-91062000000 nsecs [in 156071 to 156071 nsecs]
       #1: <efb81b6c>, hrtimer_wakeup, S:01, <(null)>, /-1
       # expires at 91062300331-91062350331 nsecs [in 456402 to 506402 nsecs]
       #2: <efac9b6c>, hrtimer_wakeup, S:01, <(null)>, /-1
       # expires at 91068699811-91068749811 nsecs [in 6855882 to 6905882 nsecs]
       #3: <efacdb6c>, hrtimer_wakeup, S:01, <(null)>, /-1
       # expires at 91068755511-91068805511 nsecs [in 6911582 to 6961582 nsecs]
       #4: <efa95b6c>, hrtimer_wakeup, S:01, <(null)>, /-1
       # expires at 91068806066-91068856066 nsecs [in 6962137 to 7012137 nsecs]
       .....
      
      This patch fixes it.
      Signed-off-by: default avatarFeng Tang <feng.tang@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      2ab46374
    • David Howells's avatar
      Ignore the address parameter in the various file_mmap() security checks · 3eb81a61
      David Howells authored
      when CONFIG_MMU=n as the address hint is ignored under those
      circumstances, and in any case the minimum mapping address check is
      pointless in NOMMU mode.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reported-by: default avatarGraff Yang <graf.yang@analog.com>
      Cc: James Morris <jmorris@namei.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      3eb81a61
  14. 10 Nov, 2009 2 commits
    • Alexey Kuznetsov's avatar
      Asynchronous scan (scsi_add_lun()) sets state to SDEV_RUNNING, but the · 9fa417de
      Alexey Kuznetsov authored
      device is not registered in sysfs.  Before async scan it was OK, because
      before releasing scan_mutex old code called either scsi_sysfs_add_sdev()
      or scsi_destroy_sdev() and, therefore, completed the work or discarded it.
      
      With async scan the invariant is broken and scsi crashes in
      __scsi_remove_device() when trying to unregister not registered devices.
      
      The fix could be introducing new state(s), which is equivalent to
      SDEV_RUNNING, except for one thing, we know that scsi_sysfs_add_sdev() has
      not been called yet.  Or a separate flag, because the state can be
      SDEV_BLOCK or even something else.
      
      Simpler way is just to check that the device is regstered in sysfs before
      unregistering.  Another operations in __scsi_remove_device() seem to be
      idempotent or even required, because scsi_add_lun() makes some part of
      work duplicated in scsi_sysfs_add_sdev().
      Signed-off-by: default avatarAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      9fa417de
    • Alexey Kuznetsov's avatar
      __scsi_remove_device() in scsi_forget_host() is executed out of scan_mutex · caa57325
      Alexey Kuznetsov authored
      and races with scsi_destroy_sdev() <- scsi_sysfs_add_devices() <-
      scsi_finish_async_scan().  The result is use after free and/or double
      free, oops.
      
      The fix is simple, move scsi_forget_host() under scan_mutex.
      
      scsi_forget_host() is just sequence of __scsi_remove_device().  All
      another calls of __scsi_remove_device() are made under scan_mutex.  So
      that it is safe.
      Signed-off-by: default avatarAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      caa57325
  15. 24 Sep, 2009 1 commit
    • Alexander Strakh's avatar
      Driver scsi_lib.c might sleep in atomic context, because it calls · 3fad4c6f
      Alexander Strakh authored
      scsi_device_put under spin_lock_irqsave.
      
      drivers/scsi/scsi_lib.c:356:
      	spin_lock_irqsave(shost->host_lock, flags);
      	scsi_device_put(sdev);
      Path to might_sleep macro from scsi_device_put:
      1. scsi_device_put calls put_device at ./drivers/scsi/scsi.c:1111
      2. put_device calls kobject_put at ./drivers/base/core.c:1038
      3. kobject_put calls kref_put at ./lib/kobject.c
      4. kref_put may call callback function kobject_release at ./lib/kref.c if
      refcount becomes zero, which might_sleep because it calls user event. Details:
      	4.1 kobject_cleanup calls kobject_uevent at ./lib/kobject.c:555
      	4.2 kobject_uevent calls kobject_uevent_env at  ./lib/kobject_uevent.c:282
      	4.3 kobject_uevent_env calls call_usermodehelper_exec at
      ./include/linux/kmod.h:83
      	4.4 call_usermodehelper_exec calls wait_for_completion at
      ./kernel/kmod.c:481
      	4.5 wait_for_completion calls wait_for_common at ./kernel/sched.c:5710
      	4.5 wait_for_common calls might_sleep at ./kernels/sched.c:5692
      
      Found by Linux Driver Verification project.
      
      Delete wrong sleeping function calls.
      Signed-off-by: default avatarAlexander Strakh <strakh@ispras.ru>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      3fad4c6f
  16. 04 Nov, 2009 1 commit
  17. 10 Nov, 2009 1 commit
  18. 06 Oct, 2009 1 commit
  19. 01 Oct, 2009 1 commit
  20. 09 Nov, 2009 1 commit
  21. 03 Nov, 2009 1 commit
  22. 04 Nov, 2009 1 commit
  23. 12 Nov, 2009 1 commit
  24. 09 Nov, 2009 1 commit
  25. 13 Oct, 2009 1 commit
    • Maxim Levitsky's avatar
      I noticed that rtc wont generate interrupts after a resume from disk. · d025bc0b
      Maxim Levitsky authored
      Here hpet rtc emulation is used.
      
      Problem is that rtc hpet comparator, isn't reinitialized after resume.
      Easiest way to solve this, is always mask all hpet interrupts on suspend
      This is triggered, when suspending with alarm set.
      
      
      Otherwise, hpet driver will think it doesn't need to reinitialize
      the rtc comparator, thus rtc interrupts won't work.
      
      This emulation isn't need for wakealarm.
      Signed-off-by: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      d025bc0b
  26. 14 Nov, 2009 3 commits
  27. 16 Oct, 2009 1 commit
  28. 09 Nov, 2009 1 commit
  29. 14 Nov, 2009 1 commit