Skip to content
  1. Aug 02, 2010
  2. Jul 31, 2010
  3. Jul 30, 2010
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · a2dccdb2
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] etr: fix clock synchronization race
        [S390] Fix IRQ tracing in case of PER
      a2dccdb2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 7d5fcdc3
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        watchdog: update MAINTAINERS entry
      7d5fcdc3
    • Linus Torvalds's avatar
      Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · e271e872
      Linus Torvalds authored
      * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Add a PC-beep workaround for ASUS P5-V
        ALSA: hda - Assume PC-beep as default for Realtek
        ALSA: hda - Don't register beep input device when no beep is available
        ALSA: hda - Fix pin-detection of Nvidia HDMI
      e271e872
    • David Howells's avatar
      CRED: Fix __task_cred()'s lockdep check and banner comment · 8f92054e
      David Howells authored
      
      
      Fix __task_cred()'s lockdep check by removing the following validation
      condition:
      
      	lockdep_tasklist_lock_is_held()
      
      as commit_creds() does not take the tasklist_lock, and nor do most of the
      functions that call it, so this check is pointless and it can prevent
      detection of the RCU lock not being held if the tasklist_lock is held.
      
      Instead, add the following validation condition:
      
      	task->exit_state >= 0
      
      to permit the access if the target task is dead and therefore unable to change
      its own credentials.
      
      Fix __task_cred()'s comment to:
      
       (1) discard the bit that says that the caller must prevent the target task
           from being deleted.  That shouldn't need saying.
      
       (2) Add a comment indicating the result of __task_cred() should not be passed
           directly to get_cred(), but rather than get_task_cred() should be used
           instead.
      
      Also put a note into the documentation to enforce this point there too.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8f92054e
    • David Howells's avatar
      CRED: Fix get_task_cred() and task_state() to not resurrect dead credentials · de09a977
      David Howells authored
      It's possible for get_task_cred() as it currently stands to 'corrupt' a set of
      credentials by incrementing their usage count after their replacement by the
      task being accessed.
      
      What happens is that get_task_cred() can race with commit_creds():
      
      	TASK_1			TASK_2			RCU_CLEANER
      	-->get_task_cred(TASK_2)
      	rcu_read_lock()
      	__cred = __task_cred(TASK_2)
      				-->commit_creds()
      				old_cred = TASK_2->real_cred
      				TASK_2->real_cred = ...
      				put_cred(old_cred)
      				  call_rcu(old_cred)
      		[__cred->usage == 0]
      	get_cred(__cred)
      		[__cred->usage == 1]
      	rcu_read_unlock()
      							-->put_cred_rcu()
      							[__cred->usage == 1]
      							panic()
      
      However, since a tasks credentials are generally not changed very often, we can
      reasonably make use of a loop involving reading the creds pointer and using
      atomic_inc_not_zero() to attempt to increment it if it hasn't already hit zero.
      
      If successful, we can safely return the credentials in the knowledge that...
      de09a977
    • Wim Van Sebroeck's avatar
      watchdog: update MAINTAINERS entry · 230a5cef
      Wim Van Sebroeck authored
      
      
      Add Mailing-list and website to watchdog MAINTAINERS entry.
      
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      230a5cef
  4. Jul 29, 2010
    • Takashi Iwai's avatar
      ALSA: hda - Add a PC-beep workaround for ASUS P5-V · dc1eae25
      Takashi Iwai authored
      
      
      ASUS P5-V provides a SSID that unexpectedly matches with the value
      compilant with Realtek's specification.  Thus the driver interprets
      it badly, resulting in non-working PC beep.
      
      This patch adds a white-list for such a case; a white-list of known
      devices with working PC beep.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      dc1eae25
    • Russell King's avatar
      ARM: Add barriers to io{read,write}{8,16,32} accessors as well · b92b3612
      Russell King authored
      
      
      The ioread/iowrite accessors also need barriers as they're used in
      place of readl/writel et.al. in portable drivers.  Create __iormb()
      and __iowmb() which are conditionally defined to be barriers dependent
      on ARM_DMA_MEM_BUFFERABLE, and always use these macros in the accessors.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      b92b3612
    • Catalin Marinas's avatar
      ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE · 79f64dbf
      Catalin Marinas authored
      
      
      When the coherent DMA buffers are mapped as Normal Non-cacheable
      (ARM_DMA_MEM_BUFFERABLE enabled), buffer accesses are no longer ordered
      with Device memory accesses causing failures in device drivers that do
      not use the mandatory memory barriers before starting a DMA transfer.
      LKML discussions led to the conclusion that such barriers have to be
      added to the I/O accessors:
      
      http://thread.gmane.org/gmane.linux.kernel/683509/focus=686153
      http://thread.gmane.org/gmane.linux.ide/46414
      http://thread.gmane.org/gmane.linux.kernel.cross-arch/5250
      
      This patch introduces a wmb() barrier to the write*() I/O accessors to
      handle the situations where Normal Non-cacheable writes are still in the
      processor (or L2 cache controller) write buffer before a DMA transfer
      command is issued. For the read*() accessors, a rmb() is introduced
      after the I/O to avoid speculative loads where the driver polls for a
      DMA transfer ready bit.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      79f64dbf