Permalink
Commits on Sep 29, 2008
  1. Linux 2.6.27-rc8

    torvalds committed Sep 29, 2008
  2. mm owner: fix race between swapoff and exit

    There's a race between mm->owner assignment and swapoff, more easily
    seen when task slab poisoning is turned on.  The condition occurs when
    try_to_unuse() runs in parallel with an exiting task.  A similar race
    can occur with callers of get_task_mm(), such as /proc/<pid>/<mmstats>
    or ptrace or page migration.
    
    CPU0                                    CPU1
                                            try_to_unuse
                                            looks at mm = task0->mm
                                            increments mm->mm_users
    task 0 exits
    mm->owner needs to be updated, but no
    new owner is found (mm_users > 1, but
    no other task has task->mm = task0->mm)
    mm_update_next_owner() leaves
                                            mmput(mm) decrements mm->mm_users
    task0 freed
                                            dereferencing mm->owner fails
    
    The fix is to notify the subsystem via mm_owner_changed callback(),
    if no new owner is found, by specifying the new task as NULL.
    
    Jiri Slaby:
    mm->owner was set to NULL prior to calling cgroup_mm_owner_callbacks(), but
    must be set after that, so as not to pass NULL as old owner causing oops.
    
    Daisuke Nishimura:
    mm_update_next_owner() may set mm->owner to NULL, but mem_cgroup_from_task()
    and its callers need to take account of this situation to avoid oops.
    
    Hugh Dickins:
    Lockdep warning and hang below exec_mmap() when testing these patches.
    exit_mm() up_reads mmap_sem before calling mm_update_next_owner(),
    so exec_mmap() now needs to do the same.  And with that repositioning,
    there's now no point in mm_need_new_owner() allowing for NULL mm.
    
    Reported-by: Hugh Dickins <hugh@veritas.com>
    Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
    Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
    Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
    Signed-off-by: Hugh Dickins <hugh@veritas.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Paul Menage <menage@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Balbir Singh committed with torvalds Sep 28, 2008
  3. Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86: disable apm on the olpc
    torvalds committed Sep 29, 2008
  4. Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

    * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
      cdrom: update ioctl documentation
      ide: note that IDE generic may prevent other drivers from attaching
      ide-tape: fix vendor strings
      Swarm: Fix crash due to missing initialization
    torvalds committed Sep 29, 2008
  5. Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-…

    …linus
    
    * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
      [SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices
      [MIPS] BCM47xx: Fix build error due to missing PCI functions
      [MIPS] IP27: Switch to dynamic interrupt routing avoding panic on error.
      [MIPS] au1000: Make sure GPIO value is zero or one
    torvalds committed Sep 29, 2008
  6. Merge branch 'linux-m32r' of git://www.linux-m32r.org/git/takata/linu…

    …x-2.6_dev
    
    * 'linux-m32r' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
      m32r/kernel/: cleanups
      m32r: export __ndelay
      m32r: export empty_zero_page
      m32r: don't offer CONFIG_ISA
      m32r: remove the unused NOHIGHMEM option
    torvalds committed Sep 29, 2008
  7. Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jwessel/linux-2.6-kgdb
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
      kgdboc,tty: Fix tty polling search to use name correctly
      kgdb, x86_64: fix PS CS SS registers in gdb serial
      kgdb, x86_64: gdb serial has BX and DX reversed
      kgdb, x86, arm, mips, powerpc: ignore user space single stepping
      kgdb: could not write to the last of valid memory with kgdb
    torvalds committed Sep 29, 2008
  8. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/tiwai/sound-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: ASoC: Fix another cs4270 error path
      ALSA: make the CS4270 driver a new-style I2C driver
    torvalds committed Sep 29, 2008
  9. Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixe…

    …s-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
      [SCSI] qlogicpti: fix sg list traversal error in continuation entries
      [SCSI] Fix hang with split requests
      [SCSI] qla2xxx: Defer enablement of RISC interrupts until ISP initialization completes.
    torvalds committed Sep 29, 2008
  10. Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      scsi: fix fall out of sg-chaining patch in qlogicpti
    torvalds committed Sep 29, 2008
  11. Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/jgarzik/libata-dev
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
      sata_nv: reinstate nv_hardreset() for non generic controllers
    torvalds committed Sep 29, 2008
  12. kconfig: readd lost change count

    Commit f072181 ("kconfig: drop the
    ""trying to assign nonexistent symbol" warning") simply dropped the
    warnings, but it does a little more than that, it also marks the current
    .config as needed saving, so add this back.
    
    Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    zippel@linux-m68k.org committed with torvalds Sep 29, 2008
  13. kconfig: fix silentoldconfig

    Recent changes to oldconfig have mixed up the silentoldconfig handling,
    so this fixes that by clearly separating that special mode, e.g.
    KCONFIG_NOSILENTUPDATE is only relevant here, the .config is written as
    needed.
    
    This will also properly close Bug 11230.
    
    Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    zippel@linux-m68k.org committed with torvalds Sep 29, 2008
  14. Fix NULL pointer dereference in proc_sys_compare

    The VFS interface for the 'd_compare()' is a bit special (read: 'odd'),
    because it really just essentially replaces a memcmp().  The filesystem
    is supposed to just compare the two names with whatever case-independent
    or other function.
    
    And when I say 'is supposed to', I obviously mean that 'procfs does odd
    things, and actually looks at the dentry that we don't even pass down,
    rather than just the name'.  Which results in problems, because we
    actually call d_compare before we have even verified that the dentry is
    still hashed at all.
    
    And that causes a problm since the inode that procfs looks at may have
    been free'd and the d_inode pointer is NULL.  procfs just assumes that
    all dentries are positive, since procfs itself never generates a
    negative one.  But memory pressure will still result in the dentry
    getting torn down, and as it is removed by RCU, it still remains visible
    on some lists - and to d_compare.
    
    If the filesystem just did a name comparison, we wouldn't care.  And we
    could just fix procfs to know about negative dentries too.  But rather
    than have the low-level filesystems know about internal VFS details,
    just move the check for a unhashed dentry up a bit, so that we will only
    call d_compare on dentries that are still active.
    
    The actual oops this caused didn't look like a NULL pointer dereference
    because procfs did a 'container_of(inode, struct proc_inode, vfs_inode)'
    to get at its internal proc_inode information from the inode pointer,
    and accessed a field below the inode. So the oops would look something
    like
    
    	BUG: unable to handle kernel paging request at fffffffffffffff0
    	IP: [<ffffffff802bc6c6>] proc_sys_compare+0x36/0x50
    
    and was seen on both x86-64 (Alexey Dobriyan and Hugh Dickins) and
    ppc64 (Hugh Dickins).
    
    Reported-by: Alexey Dobriyan <adobriyan@gmail.com>
    Acked-by: Hugh Dickins <hugh@veritas.com>
    Cc: Al Viro <viro@ZenIV.linux.org.uk>
    Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-of-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 29, 2008
  15. ALSA: ASoC: Fix another cs4270 error path

    Conversion to new-style i2c driver missed the error path of the
    probe function. Fix it.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: Timur Tabi <timur@freescale.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Jean Delvare committed with tiwai Sep 27, 2008
  16. ALSA: make the CS4270 driver a new-style I2C driver

    Update the CS4270 ALSA device driver to use the new-style I2C interface.
    Starting with the 2.6.27 PowerPC kernel, I2C devices that have entries in the
    device trees can no longer be probed by old-style I2C drivers.  The device
    tree for Freescale MPC8610 HPCD has included an entry for the CS4270 since
    2.6.25, but that entry was previously ignored by the PowerPC I2C subsystem.
    Since that's no longer the case, the best solution is to update the CS4270
    driver to a new-style interface, rather than try to revert the behavior of
    new PowerPC I2C subsystem.
    
    Signed-off-by: Timur Tabi <timur@freescale.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Timur Tabi committed with tiwai Jul 29, 2008
  17. scsi: fix fall out of sg-chaining patch in qlogicpti

    Boaz writes:
    
    "I've reviewed all patches since Matthew's, and I find one small
    problem.
    
    In the load_cmd() there is a compound loop where the first 4 sg's are
    set then the rest are set into a memory structure in group of 7 sg's.
    
    Well the second 7-group and on is a bug because sg pointer does not advance.
    This is a fall out from Jens's patch."
    
    The reporter, Meelis Roos <mroos@ut.ee>, verified that this patch
    does indeed fix his problem with qlogicpti.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
    bharrosh committed with Jens Axboe Sep 29, 2008
  18. sata_nv: reinstate nv_hardreset() for non generic controllers

    Commit 2fd673e which tried to remove
    hardreset for generic accidentally removed it for all flavors as all
    others were inheriting from nv_generic_ops.  This patch reinstates
    nv_hardreset() and puts it into nv_common_ops which all flavors
    inherit from.  nv_generic_ops now inherits from nv_common_ops and
    overrides .hardreset to ATA_OP_NULL.
    
    While at it, explain why nv_hardreset and ATA_OP_NULL override are
    necessary.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    htejun committed with Jeff Garzik Sep 27, 2008
Commits on Sep 28, 2008
  1. [SCSI] qlogicpti: fix sg list traversal error in continuation entries

    The current sg list traversal logic for the continuation entries
    doesn't advance the list pointer once all seven slots are used, so the
    next continuation entry (if there is one) wrongly begins again at the
    start of the sg list.
    
    Fix by advancing the sg pointer after the for_each_sg().
    
    Reported-by: Meelis Roos <mroos@ut.ee>
    Cc: David Miller <davem@davemloft.net>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
    bharrosh committed with James Bottomley Sep 24, 2008
Commits on Sep 27, 2008
  1. cdrom: update ioctl documentation

    Correct copy-paste problem: CDROMCLOSETRAY is about closing the tray,
    not opening it.
    
    Signed-off-by: Márton Németh <nm127@freemail.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    Márton Németh committed with bzolnier Sep 27, 2008
  2. ide: note that IDE generic may prevent other drivers from attaching

    Enabling IDE generic may prevent ATA controllers located on legacy
    ports from being attached to more proper driver or can prevent other
    controllers which share the IRQ from working.  Note it in the help
    message.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: xerces8 <xerces8@butn.net>
    Cc: Jeff Garzik <jgarzik@pobox.com>
    Cc: stein@hermes.si
    [bart: s/will grab/may grab/ since Borislav has fixed PCI-case for .28]
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    htejun committed with bzolnier Sep 27, 2008
  3. ide-tape: fix vendor strings

    Remove superfluous two bytes from each string buffer and add proper length
    format specifiers.
    
    Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
    Tested-by: Mark de Wever <koraq@xs4all.nl>
    Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    Borislav Petkov committed with bzolnier Sep 27, 2008
  4. Swarm: Fix crash due to missing initialization

    If things are just right this will result in the hws[0]->parent being
    passed to ide_host_add() being non-zero and an ooops a little later.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    ralfbaechle committed with bzolnier Sep 27, 2008
  5. [SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices

    For SSB_BUSTYPE_SSB type devices, we need to initialize dma_mask using
    coherent_dma_mask so that calls to dma_set_mask() succeed.
    
    It fixes the regression on the b44 driver introduced by commit
    f225763
    
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    aurel32 committed with ralfbaechle Sep 26, 2008
  6. [MIPS] BCM47xx: Fix build error due to missing PCI functions

    This patch defines pcibios_map_irq() and pcibios_plat_dev_init() for
    the BCM47xx platform.
    
    It fixes the regression introduced by commit
    aab547c.
    
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    aurel32 committed with ralfbaechle Sep 27, 2008
  7. [MIPS] IP27: Switch to dynamic interrupt routing avoding panic on error.

    pcibios_map_irq is no way of returning an error but on IP27 an interrupt
    is possibly not routable when running out of resources.  So do the
    interrupt routing at pcibios_enable_device time.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Sep 27, 2008
  8. [MIPS] au1000: Make sure GPIO value is zero or one

    David Brownell <david-b@pacbell.net> wrote:
    >       The problem is that "value" is zero-or-nonzero.
    >       This code wrongly assumes it's zero-or-one.
    >       Possible fix:  "((!!value) << gpio)".
    
    Signed-off-by: Bruno Randolf <br1@einfach.org>
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    br101 committed with ralfbaechle Sep 25, 2008
  9. m32r/kernel/: cleanups

    This patch contains the following cleanups:
    - make the following needlessly global code static:
      - entry.S: resume_userspace
      - process.c: pm_idle
      - process.c: default_idle()
      - smp.c: send_IPI_allbutself()
      - time.c: timer_interrupt()
      - time.c: struct irq0
      - traps.c: set_eit_vector_entries()
      - traps.c: kstack_depth_to_print
      - traps.c: show_trace()
      - traps.c: die_lock
    - remove the following unused code:
      - head.S: startup_32
      - process.c: hlt_counter
      - process.c: disable_hlt()
      - process.c: enable_hlt()
      - process.c: dump_task_regs()
    - remove the following variables and their usages since they were
      always 0:
      - irq.c: irq_err_count
      - irq.c: irq_mis_count
    
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
    Adrian Bunk committed with htakata Sep 24, 2008
  10. m32r: export __ndelay

    ERROR: "__ndelay" [drivers/spi/spi_bitbang.ko] undefined!
    
    Reported-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
    Adrian Bunk committed with htakata Sep 24, 2008
  11. m32r: export empty_zero_page

    ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined!
    
    Reported-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
    Adrian Bunk committed with htakata Sep 24, 2008
  12. m32r: don't offer CONFIG_ISA

    As far as I know no M32R hardware actually has ISA slots.
    
    And ISA drivers don't compile on M32R.
    
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
    Adrian Bunk committed with htakata Sep 24, 2008
  13. m32r: remove the unused NOHIGHMEM option

    Remove the unused NOHIGHMEM option.
    
    Reviewed-by: Robert P. J. Day <rpjday@crashcourse.ca>
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
    Adrian Bunk committed with htakata Sep 24, 2008
Commits on Sep 26, 2008
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/tiwai/sound-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: remove unneeded power_mutex lock in snd_pcm_drop
      ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*()
    torvalds committed Sep 26, 2008
  2. Merge git://oss.sgi.com:8090/xfs/linux-2.6

    * git://oss.sgi.com:8090/xfs/linux-2.6:
      [XFS] Remove xfs_iext_irec_compact_full()
      [XFS] Fix extent list corruption in xfs_iext_irec_compact_full().
    torvalds committed Sep 26, 2008
  3. ARM: Delete ARM's own cnt32_to_63.h

    Delete ARM's own cnt32_to_63.h as the copy in include/linux/ should now be
    used instead.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    dhowells committed with torvalds Sep 26, 2008