Permalink
Commits on Apr 19, 2011
  1. Linux 2.6.39-rc4

    torvalds committed Apr 19, 2011
Commits on Apr 18, 2011
  1. Merge branch 'for-39-rc4' of git://codeaurora.org/quic/kernel/davidb/…

    torvalds committed Apr 18, 2011
    …linux-msm
    
    * 'for-39-rc4' of git://codeaurora.org/quic/kernel/davidb/linux-msm:
      msm: timer: fix missing return value
      msm: Remove extraneous ffa device check
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Apr 18, 2011
    …/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: xen-kbdfront - fix mouse getting stuck after save/restore
      Input: estimate number of events per packet
      Input: evdev - indicate buffer overrun with SYN_DROPPED
      Input: document event types and codes and their intended use
      Input: add KEY_IMAGES specifically for AL Image Browser
      Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe()
      Input: h3600_ts - fix error handling at connect
      Input: twl4030_keypad - avoid potential NULL-pointer dereference
  3. Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

    torvalds committed Apr 18, 2011
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      block: add blk_run_queue_async
      block: blk_delay_queue() should use kblockd workqueue
      md: fix up raid1/raid10 unplugging.
      md: incorporate new plugging into raid5.
      md: provide generic support for handling unplug callbacks.
      md - remove old plugging code.
      md/dm - remove remains of plug_fn callback.
      md: use new plugging interface for RAID IO.
      block: drop queue lock before calling __blk_run_queue() for kblockd punt
      Revert "block: add callback function for unplug notification"
      block: Enhance new plugging support to support general callbacks
  4. Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git…

    torvalds committed Apr 18, 2011
    …/benh/powerpc
    
    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
      powerpc/powermac: Build fix with SMP and CPU hotplug
      powerpc/perf_event: Skip updating kernel counters if register value shrinks
      powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled
      powerpc: Fix oops if scan_dispatch_log is called too early
      powerpc/pseries: Use a kmem cache for DTL buffers
      powerpc/kexec: Fix regression causing compile failure on UP
      powerpc/85xx: disable Suspend support if SMP enabled
      powerpc/e500mc: Remove CPU_FTR_MAYBE_CAN_NAP/CPU_FTR_MAYBE_CAN_DOZE
      powerpc/book3e: Fix CPU feature handling on 64-bit e5500
      powerpc: Check device status before adding serial device
      powerpc/85xx: Don't add disabled PCIe devices
  5. Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable

    torvalds committed Apr 18, 2011
    * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (24 commits)
      Btrfs: fix free space cache leak
      Btrfs: avoid taking the chunk_mutex in do_chunk_alloc
      Btrfs end_bio_extent_readpage should look for locked bits
      Btrfs: don't force chunk allocation in find_free_extent
      Btrfs: Check validity before setting an acl
      Btrfs: Fix incorrect inode nlink in btrfs_link()
      Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir()
      Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()
      Btrfs: make uncache_state unconditional
      btrfs: using cached extent_state in set/unlock combinations
      Btrfs: avoid taking the trans_mutex in btrfs_end_transaction
      Btrfs: fix subvolume mount by name problem when default mount subvolume is set
      fix user annotation in ioctl.c
      Btrfs: check for duplicate iov_base's when doing dio reads
      btrfs: properly handle overlapping areas in memmove_extent_buffer
      Btrfs: fix memory leaks in btrfs_new_inode()
      Btrfs: check for duplicate iov_base's when doing dio reads
      Btrfs: reuse the extent_map we found when calling btrfs_get_extent
      Btrfs: do not use async submit for small DIO io's
      Btrfs: don't split dio bios if we don't have to
      ...
  6. proc: do proper range check on readdir offset

    torvalds committed Apr 18, 2011
    Rather than pass in some random truncated offset to the pid-related
    functions, check that the offset is in range up-front.
    
    This is just cleanup, the previous commit fixed the real problem.
    
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  7. next_pidmap: fix overflow condition

    torvalds committed Apr 18, 2011
    next_pidmap() just quietly accepted whatever 'last' pid that was passed
    in, which is not all that safe when one of the users is /proc.
    
    Admittedly the proc code should do some sanity checking on the range
    (and that will be the next commit), but that doesn't mean that the
    helper functions should just do that pidmap pointer arithmetic without
    checking the range of its arguments.
    
    So clamp 'last' to PID_MAX_LIMIT.  The fact that we then do "last+1"
    doesn't really matter, the for-loop does check against the end of the
    pidmap array properly (it's only the actual pointer arithmetic overflow
    case we need to worry about, and going one bit beyond isn't going to
    overflow).
    
    [ Use PID_MAX_LIMIT rather than pid_max as per Eric Biederman ]
    
    Reported-by: Tavis Ormandy <taviso@cmpxchg8b.com>
    Analyzed-by: Robert Święcki <robert@swiecki.net>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Pavel Emelyanov <xemul@openvz.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  8. Input: xen-kbdfront - fix mouse getting stuck after save/restore

    Igor Mammedov committed with dtor Apr 18, 2011
    Mouse gets "stuck" after restore of PV guest but buttons are in working
    condition.
    
    If driver has been configured for ABS coordinates at start it will get
    XENKBD_TYPE_POS events and then suddenly after restore it'll start getting
    XENKBD_TYPE_MOTION events, that will be dropped later and they won't get
    into user-space.
    
    Regression was introduced by hunk 5 and 6 of
    5ea5254
    ("Input: xen-kbdfront - advertise either absolute or relative
    coordinates").
    
    Driver on restore should ask xen for request-abs-pointer again if it is
    available. So restore parts that did it before 5ea5254.
    
    Acked-by: Olaf Hering <olaf@aepfle.de>
    Signed-off-by: Igor Mammedov <imammedo@redhat.com>
    [v1: Expanded the commit description]
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  9. Input: estimate number of events per packet

    j9brown committed with dtor Apr 18, 2011
    Calculate a default based on the number of ABS axes, REL axes,
    and MT slots for the device during input device registration.
    
    Signed-off-by: Jeff Brown <jeffbrown@android.com>
    Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  10. Btrfs: fix free space cache leak

    chrismason-xx committed Apr 18, 2011
    The free space caching code was recently reworked to
    cache all the pages it needed instead of using find_get_page everywhere.
    
    One loop was missed though, so it ended up leaking pages.  This fixes
    it to use our page array instead of find_get_page.
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>
  11. block: add blk_run_queue_async

    Christoph Hellwig committed with Jens Axboe Apr 18, 2011
    Instead of overloading __blk_run_queue to force an offload to kblockd
    add a new blk_run_queue_async helper to do it explicitly.  I've kept
    the blk_queue_stopped check for now, but I suspect it's not needed
    as the check we do when the workqueue items runs should be enough.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
  12. block: blk_delay_queue() should use kblockd workqueue

    Jens Axboe committed Apr 18, 2011
    Reported-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
  13. md: fix up raid1/raid10 unplugging.

    neilbrown committed Apr 18, 2011
    We just need to make sure that an unplug event wakes up the md
    thread, which is exactly what mddev_check_plugged does.
    
    Also remove some plug-related code that is no longer needed.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
  14. md: incorporate new plugging into raid5.

    neilbrown committed Apr 18, 2011
    In raid5 plugging is used for 2 things:
     1/ collecting writes that require a bitmap update
     2/ collecting writes in the hope that we can create full
        stripes - or at least more-full.
    
    We now release these different sets of stripes when plug_cnt
    is zero.
    
    Also in make_request, we call mddev_check_plug to hopefully increase
    plug_cnt, and wake up the thread at the end if plugging wasn't
    achieved for some reason.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
  15. md: provide generic support for handling unplug callbacks.

    neilbrown committed Apr 18, 2011
    When an md device adds a request to a queue, it can call
    mddev_check_plugged.
    If this succeeds then we know that the md thread will be woken up
    shortly, and ->plug_cnt will be non-zero until then, so some
    processing can be delayed.
    
    If it fails, then no unplug callback is expected and the make_request
    function needs to do whatever is required to make the request happen.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
  16. md - remove old plugging code.

    neilbrown committed Apr 18, 2011
    md has some plugging infrastructure for RAID5 to use because the
    normal plugging infrastructure required a 'request_queue', and when
    called from dm, RAID5 doesn't have one of those available.
    
    This relied on the ->unplug_fn callback which doesn't exist any more.
    
    So remove all of that code, both in md and raid5.  Subsequent patches
    with restore the plugging functionality.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
  17. md/dm - remove remains of plug_fn callback.

    neilbrown committed Apr 18, 2011
    Now that unplugging is done differently, the unplug_fn callback is
    never called, so it can be completely discarded.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
  18. md: use new plugging interface for RAID IO.

    neilbrown committed Apr 18, 2011
    md/raid submits a lot of IO from the various raid threads.
    So adding start/finish plug calls to those so that some
    plugging happens.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
  19. block: drop queue lock before calling __blk_run_queue() for kblockd punt

    Jens Axboe committed Apr 18, 2011
    If we know we are going to punt to kblockd, we can drop the queue
    lock before calling into __blk_run_queue() since it only does a
    safe bit test and a workqueue call. Since kblockd needs to grab
    this very lock as one of the first things it does, it's a good
    optimization to drop the lock before waking kblockd.
    
    Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
  20. Revert "block: add callback function for unplug notification"

    Jens Axboe committed Apr 18, 2011
    MD can't use this since it really requires us to be able to
    keep more than a single piece of state for the unplug. Commit
    048c937 added the required support for MD, so get rid of this
    now unused code.
    
    This reverts commit f756645.
    
    Conflicts:
    
    	block/blk-core.c
    
    Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
  21. block: Enhance new plugging support to support general callbacks

    neilbrown committed with Jens Axboe Apr 18, 2011
    md/raid requires an unplug callback, but as it does not uses
    requests the current code cannot provide one.
    
    So allow arbitrary callbacks to be attached to the blk_plug.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
  22. powerpc/powermac: Build fix with SMP and CPU hotplug

    ozbenh committed Apr 18, 2011
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  23. powerpc/perf_event: Skip updating kernel counters if register value s…

    khers committed with ozbenh Apr 15, 2011
    …hrinks
    
    Because of speculative event roll back, it is possible for some event coutners
    to decrease between reads on POWER7.  This causes a problem with the way that
    counters are updated.  Delta calues are calculated in a 64 bit value and the
    top 32 bits are masked.  If the register value has decreased, this leaves us
    with a very large positive value added to the kernel counters.  This patch
    protects against this by skipping the update if the delta would be negative.
    This can lead to a lack of precision in the coutner values, but from my testing
    the value is typcially fewer than 10 samples at a time.
    
    Signed-off-by: Eric B Munson <emunson@mgebm.net>
    Cc: stable@kernel.org
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  24. powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE e…

    stroese committed with ozbenh Apr 14, 2011
    …nabled
    
    This problem was noticed on an MPC855T platform. Ftrace did oops
    when trying to write to the kernel text segment.
    
    Many thanks to Joakim for finding the root cause of this problem.
    
    Signed-off-by: Stefan Roese <sr@denx.de>
    Cc: Joakim Tjernlund <joakim.tjernlund@transmode.se>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  25. powerpc: Fix oops if scan_dispatch_log is called too early

    antonblanchard committed with ozbenh Apr 7, 2011
    We currently enable interrupts before the dispatch log for the boot
    cpu is setup. If a timer interrupt comes in early enough we oops in
    scan_dispatch_log:
    
    Unable to handle kernel paging request for data at address 0x00000010
    
    ...
    
    .scan_dispatch_log+0xb0/0x170
    .account_system_vtime+0xa0/0x220
    .irq_enter+0x88/0xc0
    .do_IRQ+0x48/0x230
    
    The patch below adds a check to scan_dispatch_log to ensure the
    dispatch log has been allocated.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Cc: <stable@kernel.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  26. powerpc/pseries: Use a kmem cache for DTL buffers

    Nishanth Aravamudan committed with ozbenh Apr 13, 2011
    PAPR specifies that DTL buffers can not cross AMS environments (aka CMO
    in the PAPR) and can not cross a memory entitlement granule boundary
    (4k). This is found in section 14.11.3.2 H_REGISTER_VPA of the PAPR.
    kmalloc does not guarantee an alignment of the allocation, though,
    beyond 8 bytes (at least in my understanding). Create a special kmem
    cache for DTL buffers with the alignment requirement.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  27. powerpc/kexec: Fix regression causing compile failure on UP

    paulgortmaker committed with ozbenh Apr 13, 2011
    Recent commit b987812 caused
    a compile failure on UP because a considerably large block
    of the file was included within CONFIG_SMP, hence making a stub
    function not exposed on UP builds when it needed to be.
    
    Relocate the stub to the #else /* ! CONFIG_SMP */ section
    and also annotate the relevant else/endif so that nobody
    else falls into the same trap I did.
    
    Reported-by: Michael Guntsche <mike@it-loops.com>
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  28. Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/ke…

    torvalds committed Apr 18, 2011
    …rnel/git/jdelvare/staging
    
    * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
      i2c-algo-bit: Call pre/post_xfer for bit_test
      i2c: Improve deprecation warnings
  29. Merge branch 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    torvalds committed Apr 18, 2011
    …nux/kernel/git/kgene/linux-samsung
    
    * 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
      ARM: SAMSUNG: Fix warning 's3c_pm_show_resume_irqs' defined but not used
      ARM: SAMSUNG: Fix build failure in PM CRC check code
      ARM: S5P: Remove unused s3c_pm_check_resume_pin
Commits on Apr 17, 2011
  1. alpha: Fix uninitialized value in read_persistent_clock.

    rth7680 committed with torvalds Apr 17, 2011
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  2. alpha: Fix RTC interrupt setup.

    rth7680 committed with torvalds Apr 17, 2011
    Following commit 091738a ("genirq: Remove real old transition
    functions") we removed an automatic conversion of no_irq_chip to
    dummy_irq_chip.  This change needs to be propagated back into the alpha
    backend.
    
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  3. alpha: Remove set but unused variables.

    rth7680 committed with torvalds Apr 17, 2011
    This is a new warning in gcc 4.6.  Several of these variables are
    used within #if 0 code, which probably ought to be removed.  Most
    of the changes are legitimate cleanups.
    
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  4. alpha: Don't force -Werror.

    rth7680 committed with torvalds Apr 17, 2011
    There are outstanding gcc 4.6 warnings that need to be cleaned up
    in the subdirectory.  No sense forcing the issue immediately.
    
    Signed-off-by: Richard Henderson <rth@twiddle.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>