Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v2.6.33-rc7-gi…

Feb 08, 2010

  1. Linus Torvalds

    Merge branch 'v4l_for_linus' of git://linuxtv.org/fixes

    * 'v4l_for_linus' of git://linuxtv.org/fixes:
      V4L/DVB: dvb-core: fix initialization of feeds list in demux filter
      V4L/DVB: dvb_demux: Don't use vmalloc at dvb_dmx_swfilter_packet
      V4L/DVB: Fix the risk of an oops at dvb_dmx_release
    torvalds authored
  2. Linus Torvalds

    Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze

    * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
      microblaze: Invalidate dcache before enabling it
    torvalds authored
  3. Linus Torvalds

    Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/benh/powerpc
    
    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
      powerpc/pseries: Fix kexec regression caused by CPPR tracking
    torvalds authored
  4. Linus Torvalds

    Merge branch 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/lethal/sh-2.6
    
    * 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
      sh: Remove superfluous setup_frame_reg call
      sh: Don't continue unwinding across interrupts
      sh: Setup frame pointer in handle_exception path
      sh: Correct the offset of the return address in ret_from_exception
      usb: r8a66597-hcd: Fix up spinlock recursion in root hub polling.
      usb: r8a66597-hcd: Flush the D-cache for the pipe-in transfer buffers.
    torvalds authored
  5. V4L/DVB: dvb-core: fix initialization of feeds list in demux filter

    A DVB demultiplexer device can be used to set up either a PES filter or
    a section filter. In the former case, the ts field of the feed union of
    struct dmxdev_filter is used, in the latter case the sec field of the
    same union is used.
    The ts field is a struct list_head, and is currently initialized in the
    open() method of the demux device. When for a given demuxer a section
    filter is set up, the sec field is played with, thus if a PES filter
    needs to be set up after that the ts field will be corrupted, causing a
    kernel oops.
    This fix moves the list head initialization to
    dvb_dmxdev_pes_filter_set(), so that the ts field is properly
    initialized every time a PES filter is set up.
    
    Signed-off-by: Francesco Lavra <francescolavra@interfree.it>
    Cc: stable <stable@kernel.org>
    Reviewed-by: Andy Walls <awalls@radix.net>
    Tested-by: hermann pitton <hermann-pitton@arcor.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Francesco Lavra authored Mauro Carvalho Chehab committed
  6. V4L/DVB: dvb_demux: Don't use vmalloc at dvb_dmx_swfilter_packet

    As dvb_dmx_swfilter_packet() is protected by a spinlock, it shouldn't sleep.
    However, vmalloc() may call sleep. So, move the initialization of
    dvb_demux::cnt_storage field to a better place.
    
    Reviewed-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Mauro Carvalho Chehab authored
  7. V4L/DVB: Fix the risk of an oops at dvb_dmx_release

    dvb_dmx_init tries to allocate virtual memory for 2 pointers: filter and feed.
    
    If the second vmalloc fails, filter is freed, but the pointer keeps pointing
    to the old place. Later, when dvb_dmx_release() is called, it will try to
    free an already freed memory, causing an OOPS.
    
    Reviewed-by: Andy Walls <awalls@radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Mauro Carvalho Chehab authored
  8. michalsimek

    microblaze: Invalidate dcache before enabling it

    We found that on write-trough kernel is necessary to do that invalidation.
    One WB is possible to use invalidation too.
    
    Signed-off-by: Michal Simek <monstr@monstr.eu>
    michalsimek authored
  9. powerpc/pseries: Fix kexec regression caused by CPPR tracking

    The code to track the CPPR values added by commit
    49bd364 ("powerpc/pseries: Track previous
    CPPR values to correctly EOI interrupts") broke kexec on pseries because
    the kexec code in xics.c calls xics_set_cpu_priority() before the IPI has
    been EOI'ed. This wasn't a problem previously but it now triggers a BUG_ON
    in xics_set_cpu_priority() because os_cppr->index isn't 0.
    
    Fix this problem by setting the index on the CPPR stack to 0 before calling
    xics_set_cpu_priority() in xics_teardown_cpu().
    
    Also make it clear that we only want to set the priority when there's just
    one CPPR value in the stack, and enforce it by updating the value of
    os_cppr->stack[0] rather than os_cppr->stack[os_cppr->index].
    
    While we're at it change the BUG_ON to a WARN_ON.
    
    Reported-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Mark Nelson <markn@au1.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Mark Nelson authored ozbenh committed
  10. Matt Fleming

    sh: Remove superfluous setup_frame_reg call

    There's no need to setup the frame pointer again in
    call_handle_tlbmiss. The frame pointer will already have been setup in
    handle_interrupt.
    
    Signed-off-by: Matt Fleming <matt@console-pimps.org>
    Signed-off-by: Paul Mundt <lethal@linux-sh.org>
    mfleming authored pmundt committed
  11. Matt Fleming

    sh: Don't continue unwinding across interrupts

    Unfortunately, due to poor DWARF info in current toolchains, unwinding
    through interrutps cannot be done reliably. The problem is that the
    DWARF info for function epilogues is wrong.
    
    Take this standard epilogue sequence,
    
    80003cc4:       e3 6f           mov     r14,r15
    80003cc6:       26 4f           lds.l   @r15+,pr
    80003cc8:       f6 6e           mov.l   @r15+,r14
    						<---- interrupt here
    80003cca:       f6 6b           mov.l   @r15+,r11
    80003ccc:       f6 6a           mov.l   @r15+,r10
    80003cce:       f6 69           mov.l   @r15+,r9
    80003cd0:       0b 00           rts
    
    If we take an interrupt at the highlighted point, the DWARF info will
    bogusly claim that the return address can be found at some offset from
    the frame pointer, even though the frame pointer was just restored. The
    worst part is if the unwinder finds a text address at the bogus stack
    address - unwinding will continue, for a bit, until it finally comes
    across an unexpected address on the stack and blows up.
    
    The only solution is to stop unwinding once we've calculated the
    function that was executing when the interrupt occurred. This PC can be
    easily calculated from pt_regs->pc.
    
    Signed-off-by: Matt Fleming <matt@console-pimps.org>
    Signed-off-by: Paul Mundt <lethal@linux-sh.org>
    mfleming authored pmundt committed
  12. Matt Fleming

    sh: Setup frame pointer in handle_exception path

    In order to allow the DWARF unwinder to unwind through exceptions we
    need to setup the frame pointer register (r14).
    
    Signed-off-by: Matt Fleming <matt@console-pimps.org>
    Signed-off-by: Paul Mundt <lethal@linux-sh.org>
    mfleming authored pmundt committed
  13. Matt Fleming

    sh: Correct the offset of the return address in ret_from_exception

    The address that ret_from_exception and ret_from_irq will return to is
    found in the stack slot for SPC, not PR. This error was causing the
    DWARF unwinder to pick up the wrong return address on the stack and then
    unwind using the unwind tables for the wrong function.
    
    While I'm here I might as well add CFI annotations for the other
    registers since they could be useful when unwinding.
    
    Signed-off-by: Matt Fleming <matt@console-pimps.org>
    Signed-off-by: Paul Mundt <lethal@linux-sh.org>
    mfleming authored pmundt committed

Feb 07, 2010

  1. Linus Torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
      Take ima_file_free() to proper place.
      ima: rename PATH_CHECK to FILE_CHECK
      ima: rename ima_path_check to ima_file_check
      ima: initialize ima before inodes can be allocated
      fix ima breakage
      Take ima_path_check() in nfsd past dentry_open() in nfsd_open()
      freeze_bdev: don't deactivate successfully frozen MS_RDONLY sb
      befs: fix leak
    torvalds authored
  2. Linus Torvalds

    Fix race in tty_fasync() properly

    This reverts commit 7036251 ("tty: fix race in tty_fasync") and
    commit b04da8b ("fnctl: f_modown should call write_lock_irqsave/
    restore") that tried to fix up some of the fallout but was incomplete.
    
    It turns out that we really cannot hold 'tty->ctrl_lock' over calling
    __f_setown, because not only did that cause problems with interrupt
    disables (which the second commit fixed), it also causes a potential
    ABBA deadlock due to lock ordering.
    
    Thanks to Tetsuo Handa for following up on the issue, and running
    lockdep to show the problem.  It goes roughly like this:
    
     - f_getown gets filp->f_owner.lock for reading without interrupts
       disabled, so an interrupt that happens while that lock is held can
       cause a lockdep chain from f_owner.lock -> sighand->siglock.
    
     - at the same time, the tty->ctrl_lock -> f_owner.lock chain that
       commit 7036251 introduced, together with the pre-existing
       sighand->siglock -> tty->ctrl_lock chain means that we have a lock
       dependency the other way too.
    
    So instead of extending tty->ctrl_lock over the whole __f_setown() call,
    we now just take a reference to the 'pid' structure while holding the
    lock, and then release it after having done the __f_setown.  That still
    guarantees that 'struct pid' won't go away from under us, which is all
    we really ever needed.
    
    Reported-and-tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
    Acked-by: Américo Wang <xiyou.wangcong@gmail.com>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds authored
  3. Take ima_file_free() to proper place.

    Hooks: Just Say No.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Al Viro authored
  4. ima: rename PATH_CHECK to FILE_CHECK

    With the movement of the ima hooks functions were renamed from *path* to
    *file* since they always deal with struct file.  This patch renames some of
    the ima internal flags to make them consistent with the rest of the code.
    
    Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Mimi Zohar authored Al Viro committed
  5. ima: rename ima_path_check to ima_file_check

    ima_path_check actually deals with files!  call it ima_file_check instead.
    
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Acked-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Mimi Zohar authored Al Viro committed
  6. eparis

    ima: initialize ima before inodes can be allocated

    ima wants to create an inode information struct (iint) when inodes are
    allocated.  This means that at least the part of ima which does this
    allocation (the allocation is filled with information later) should
    before any inodes are created.  To accomplish this we split the ima
    initialization routine placing the kmem cache allocator inside a
    security_initcall() function.  Since this makes use of radix trees we also
    need to make sure that is initialized before security_initcall().
    
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Acked-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    eparis authored Al Viro committed
  7. fix ima breakage

    The "Untangling ima mess, part 2 with counters" patch messed
    up the counters.  Based on conversations with Al Viro, this patch
    streamlines ima_path_check() by removing the counter maintaince.
    The counters are now updated independently, from measuring the file,
    in __dentry_open() and alloc_file() by calling ima_counts_get().
    ima_path_check() is called from nfsd and do_filp_open().
    It also did not measure all files that should have been measured.
    Reason: ima_path_check() got bogus value passed as mask.
    [AV: mea culpa]
    [AV: add missing nfsd bits]
    
    Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Mimi Zohar authored Al Viro committed
  8. Take ima_path_check() in nfsd past dentry_open() in nfsd_open()

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Al Viro authored
  9. freeze_bdev: don't deactivate successfully frozen MS_RDONLY sb

    Thanks Thomas and Christoph for testing and review.
    I removed 'smp_wmb()' before up_write from the previous patch,
    since up_write() should have necessary ordering constraints.
    (I.e. the change of s_frozen is visible to others after up_write)
    I'm quite sure the change is harmless but if you are uncomfortable
    with Tested-by/Reviewed-by on the modified patch, please remove them.
    
    If MS_RDONLY, freeze_bdev should just up_write(s_umount) instead of
    deactivate_locked_super().
    Also, keep sb->s_frozen consistent so that remount can check the frozen state.
    
    Otherwise a crash reported here can happen:
    http://lkml.org/lkml/2010/1/16/37
    http://lkml.org/lkml/2010/1/28/53
    
    This patch should be applied for 2.6.32 stable series, too.
    
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Tested-by: Thomas Backlund <tmb@mandriva.org>
    Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
    Cc: stable@kernel.org
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Jun'ichi Nomura authored Al Viro committed
  10. befs: fix leak

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Al Viro authored

Feb 06, 2010

  1. Linus Torvalds

    Linux 2.6.33-rc7

    torvalds authored
  2. Linus Torvalds

    Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/jdelvare/staging
    
    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
      hwmon: (w83781d) Request I/O ports individually for probing
      hwmon: (lm78) Request I/O ports individually for probing
      hwmon: (adt7462) Wrong ADT7462_VOLT_COUNT
    torvalds authored
  3. Linus Torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/anholt/drm-intel
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
      drm/i915: Fix leak of relocs along do_execbuffer error path
      drm/i915: slow acpi_lid_open() causes flickering - V2
      drm/i915: Disable SR when more than one pipe is enabled
      drm/i915: page flip support for Ironlake
      drm/i915: Fix the incorrect DMI string for Samsung SX20S laptop
      drm/i915: Add support for SDVO composite TV
      drm/i915: don't trigger ironlake vblank interrupt at irq install
      drm/i915: handle non-flip pending case when unpinning the scanout buffer
      drm/i915: Fix the device info of Pineview
      drm/i915: enable vblank interrupt on ironlake
      drm/i915: Prevent use of uninitialized pointers along error path.
      drm/i915: disable hotplug detect before Ironlake CRT detect
    torvalds authored
  4. Linus Torvalds

    Fix potential crash with sys_move_pages

    We incorrectly depended on the 'node_state/node_isset()' functions
    testing the node range, rather than checking it explicitly.  That's not
    reliable, even if it might often happen to work.  So do the proper
    explicit test.
    
    Reported-by: Marcus Meissner <meissner@suse.de>
    Acked-and-tested-by: Brice Goglin <Brice.Goglin@inria.fr>
    Acked-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds authored

Feb 05, 2010

  1. Linus Torvalds

    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:
      ASoC: pandora: Add APLL supply to fix audio output
      ALSA: ice1724 - aureon - fix wm8770 volume offset
      ALSA: cosmetic: make hda intel interrupt name consistent with others
      ALSA: hda - Delay switching to polling mode if an interrupt was missing
      ALSA: ctxfi - fix PTP address initialization
    torvalds authored
  2. hwmon: (w83781d) Request I/O ports individually for probing

    Different motherboards have different PNP declarations for
    W83781D/W83782D chips. Some declare the whole range of I/O ports (8
    ports), some declare only the useful ports (2 ports at offset 5) and
    some declare fancy ranges, for example 4 ports at offset 4. To
    properly handle all cases, request all ports individually for probing.
    After we have determined that we really have a W83781D or W83782D
    chip, the useful port range will be requested again, as a single
    block.
    
    I did not see a board which needs this yet, but I know of one for lm78
    driver and I'd like to keep the logic of these two drivers in sync.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: stable@kernel.org
    Jean Delvare authored
  3. hwmon: (lm78) Request I/O ports individually for probing

    Different motherboards have different PNP declarations for LM78/LM79
    chips. Some declare the whole range of I/O ports (8 ports), some
    declare only the useful ports (2 ports at offset 5) and some declare
    fancy ranges, for example 4 ports at offset 4. To properly handle all
    cases, request all ports individually for probing. After we have
    determined that we really have an LM78 or LM79 chip, the useful port
    range will be requested again, as a single block.
    
    This fixes the driver on the Olivetti M3000 DT 540, at least.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: stable@kernel.org
    Jean Delvare authored
  4. hwmon: (adt7462) Wrong ADT7462_VOLT_COUNT

    The #define ADT7462_VOLT_COUNT is wrong, it should be 13 not 12. All the 
    for loops that use this as a limit count are of the typical form, "for 
    (n = 0; n < ADT7462_VOLT_COUNT; n++)", so to loop through all voltages 
    w/o missing the last one it is necessary for the count to be one greater 
    than it is.  (Specifically, you will miss the +1.5V 3GPIO input with count 
    = 12 vs. 13.)
    
    Signed-off-by: Ray Copeland <ray.copeland@aprius.com>
    Acked-by: "Darrick J. Wong" <djwong@us.ibm.com>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: stable@kernel.org
    Ray Copeland authored Jean Delvare committed
  5. Takashi Iwai

    Merge remote branch 'alsa/fixes' into for-linus

    tiwai authored
  6. Takashi Iwai

    Merge branch 'fix/asoc' into for-linus

    tiwai authored
  7. Takashi Iwai

    Merge branch 'fix/hda' into for-linus

    tiwai authored
  8. Linus Torvalds

    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:
      [libata] Call flush_dcache_page after PIO data transfers in libata-sff.c
      ahci: add Acer G725 to broken suspend list
      libata: fix ata_id_logical_per_physical_sectors
      libata-scsi passthru: fix bug which truncated LBA48 return values
    torvalds authored
Something went wrong with that request. Please try again.