Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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

    authored
  2. mm owner: fix race between swapoff and exit

    Balbir Singh authored committed
    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>
  3. Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    authored
    …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
  4. Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

    authored
    * 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
  5. Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-…

    authored
    …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
  6. Merge branch 'linux-m32r' of git://www.linux-m32r.org/git/takata/linu…

    authored
    …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
  7. Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/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
  8. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/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
  9. Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixe…

    authored
    …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.
  10. Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

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

    authored
    …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
  12. kconfig: readd lost change count

    zippel@linux-m68k.org authored committed
    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>
  13. kconfig: fix silentoldconfig

    zippel@linux-m68k.org authored committed
    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>
  14. Fix NULL pointer dereference in proc_sys_compare

    authored
    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>
  15. @tiwai

    ALSA: ASoC: Fix another cs4270 error path

    Jean Delvare authored tiwai committed
    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>
  16. @tiwai

    ALSA: make the CS4270 driver a new-style I2C driver

    Timur Tabi authored tiwai committed
    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>
  17. @bharrosh

    scsi: fix fall out of sg-chaining patch in qlogicpti

    bharrosh authored Jens Axboe committed
    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>
  18. sata_nv: reinstate nv_hardreset() for non generic controllers

    Tejun Heo authored Jeff Garzik committed
    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>
Commits on Sep 28, 2008
  1. @bharrosh

    [SCSI] qlogicpti: fix sg list traversal error in continuation entries

    bharrosh authored James Bottomley committed
    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>
Commits on Sep 27, 2008
  1. @bzolnier

    cdrom: update ioctl documentation

    Márton Németh authored bzolnier committed
    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>
  2. @bzolnier

    ide: note that IDE generic may prevent other drivers from attaching

    Tejun Heo authored bzolnier committed
    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>
  3. @bzolnier

    ide-tape: fix vendor strings

    Borislav Petkov authored bzolnier committed
    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>
  4. @ralfbaechle @bzolnier

    Swarm: Fix crash due to missing initialization

    ralfbaechle authored bzolnier committed
    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>
  5. @aurel32 @ralfbaechle

    [SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices

    aurel32 authored ralfbaechle committed
    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>
  6. @aurel32 @ralfbaechle

    [MIPS] BCM47xx: Fix build error due to missing PCI functions

    aurel32 authored ralfbaechle committed
    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>
  7. @ralfbaechle

    [MIPS] IP27: Switch to dynamic interrupt routing avoding panic on error.

    ralfbaechle authored
    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>
  8. @br101 @ralfbaechle

    [MIPS] au1000: Make sure GPIO value is zero or one

    br101 authored ralfbaechle committed
    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>
  9. @htakata

    m32r/kernel/: cleanups

    Adrian Bunk authored htakata committed
    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>
  10. @htakata

    m32r: export __ndelay

    Adrian Bunk authored htakata committed
    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>
  11. @htakata

    m32r: export empty_zero_page

    Adrian Bunk authored htakata committed
    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>
  12. @htakata

    m32r: don't offer CONFIG_ISA

    Adrian Bunk authored htakata committed
    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>
  13. @htakata

    m32r: remove the unused NOHIGHMEM option

    Adrian Bunk authored htakata committed
    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>
Commits on Sep 26, 2008
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/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*()
  2. Merge git://oss.sgi.com:8090/xfs/linux-2.6

    authored
    * 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().
  3. ARM: Delete ARM's own cnt32_to_63.h

    David Howells authored committed
    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>
Something went wrong with that request. Please try again.