commit cff43fc8785eb4f8b3fa5a1030890fd8cad0cbdd
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Thu Sep 26 17:18:49 2013 -0700

    Linux 3.10.13

commit e5362560a01dd6fac5922434e16b16a1accea504
Author: Miklos Szeredi <mszeredi@suse.cz>
Date:   Tue Sep 3 14:28:38 2013 +0200

    fuse: readdir: check for slash in names
    
    commit efeb9e60d48f7778fdcad4a0f3ad9ea9b19e5dfd upstream.
    
    Userspace can add names containing a slash character to the directory
    listing.  Don't allow this as it could cause all sorts of trouble.
    
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4e208303119d234347b1f4337b84d47306e73811
Author: Maxim Patlasov <MPatlasov@parallels.com>
Date:   Fri Aug 30 17:06:04 2013 +0400

    fuse: hotfix truncate_pagecache() issue
    
    commit 06a7c3c2781409af95000c60a5df743fd4e2f8b4 upstream.
    
    The way how fuse calls truncate_pagecache() from fuse_change_attributes()
    is completely wrong. Because, w/o i_mutex held, we never sure whether
    'oldsize' and 'attr->size' are valid by the time of execution of
    truncate_pagecache(inode, oldsize, attr->size). In fact, as soon as we
    released fc->lock in the middle of fuse_change_attributes(), we completely
    loose control of actions which may happen with given inode until we reach
    truncate_pagecache. The list of potentially dangerous actions includes
    mmap-ed reads and writes, ftruncate(2) and write(2) extending file size.
    
    The typical outcome of doing truncate_pagecache() with outdated arguments
    is data corruption from user point of view. This is (in some sense)
    acceptable in cases when the issue is triggered by a change of the file on
    the server (i.e. externally wrt fuse operation), but it is absolutely
    intolerable in scenarios when a single fuse client modifies a file without
    any external intervention. A real life case I discovered by fsx-linux
    looked like this:
    
    1. Shrinking ftruncate(2) comes to fuse_do_setattr(). The latter sends
    FUSE_SETATTR to the server synchronously, but before getting fc->lock ...
    2. fuse_dentry_revalidate() is asynchronously called. It sends FUSE_LOOKUP
    to the server synchronously, then calls fuse_change_attributes(). The
    latter updates i_size, releases fc->lock, but before comparing oldsize vs
    attr->size..
    3. fuse_do_setattr() from the first step proceeds by acquiring fc->lock and
    updating attributes and i_size, but now oldsize is equal to
    outarg.attr.size because i_size has just been updated (step 2). Hence,
    fuse_do_setattr() returns w/o calling truncate_pagecache().
    4. As soon as ftruncate(2) completes, the user extends file size by
    write(2) making a hole in the middle of file, then reads data from the hole
    either by read(2) or mmap-ed read. The user expects to get zero data from
    the hole, but gets stale data because truncate_pagecache() is not executed
    yet.
    
    The scenario above illustrates one side of the problem: not truncating the
    page cache even though we should. Another side corresponds to truncating
    page cache too late, when the state of inode changed significantly.
    Theoretically, the following is possible:
    
    1. As in the previous scenario fuse_dentry_revalidate() discovered that
    i_size changed (due to our own fuse_do_setattr()) and is going to call
    truncate_pagecache() for some 'new_size' it believes valid right now. But
    by the time that particular truncate_pagecache() is called ...
    2. fuse_do_setattr() returns (either having called truncate_pagecache() or
    not -- it doesn't matter).
    3. The file is extended either by write(2) or ftruncate(2) or fallocate(2).
    4. mmap-ed write makes a page in the extended region dirty.
    
    The result will be the lost of data user wrote on the fourth step.
    
    The patch is a hotfix resolving the issue in a simplistic way: let's skip
    dangerous i_size update and truncate_pagecache if an operation changing
    file size is in progress. This simplistic approach looks correct for the
    cases w/o external changes. And to handle them properly, more sophisticated
    and intrusive techniques (e.g. NFS-like one) would be required. I'd like to
    postpone it until the issue is well discussed on the mailing list(s).
    
    Changed in v2:
     - improved patch description to cover both sides of the issue.
    
    Signed-off-by: Maxim Patlasov <mpatlasov@parallels.com>
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eb97a45d12c9517b7846ebe3c97ee554b777ad34
Author: Anand Avati <avati@redhat.com>
Date:   Tue Aug 20 02:21:07 2013 -0400

    fuse: invalidate inode attributes on xattr modification
    
    commit d331a415aef98717393dda0be69b7947da08eba3 upstream.
    
    Calls like setxattr and removexattr result in updation of ctime.
    Therefore invalidate inode attributes to force a refresh.
    
    Signed-off-by: Anand Avati <avati@redhat.com>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3002e63bec05766a5af794b09d9cec34fda60519
Author: Maxim Patlasov <MPatlasov@parallels.com>
Date:   Mon Aug 12 20:39:30 2013 +0400

    fuse: postpone end_page_writeback() in fuse_writepage_locked()
    
    commit 4a4ac4eba1010ef9a804569058ab29e3450c0315 upstream.
    
    The patch fixes a race between ftruncate(2), mmap-ed write and write(2):
    
    1) An user makes a page dirty via mmap-ed write.
    2) The user performs shrinking truncate(2) intended to purge the page.
    3) Before fuse_do_setattr calls truncate_pagecache, the page goes to
       writeback. fuse_writepage_locked fills FUSE_WRITE request and releases
       the original page by end_page_writeback.
    4) fuse_do_setattr() completes and successfully returns. Since now, i_mutex
       is free.
    5) Ordinary write(2) extends i_size back to cover the page. Note that
       fuse_send_write_pages do wait for fuse writeback, but for another
       page->index.
    6) fuse_writepage_locked proceeds by queueing FUSE_WRITE request.
       fuse_send_writepage is supposed to crop inarg->size of the request,
       but it doesn't because i_size has already been extended back.
    
    Moving end_page_writeback to the end of fuse_writepage_locked fixes the
    race because now the fact that truncate_pagecache is successfully returned
    infers that fuse_writepage_locked has already called end_page_writeback.
    And this, in turn, infers that fuse_flush_writepages has already called
    fuse_send_writepage, and the latter used valid (shrunk) i_size. write(2)
    could not extend it because of i_mutex held by ftruncate(2).
    
    Signed-off-by: Maxim Patlasov <mpatlasov@parallels.com>
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d662986b4f282ed5d9e42e6dbd5e6dbb2b5e7d0b
Author: Mark Brown <broonie@linaro.org>
Date:   Thu Aug 29 12:21:01 2013 +0100

    clk: wm831x: Initialise wm831x pointer on init
    
    commit 08442ce993deeb15a070c14cc3f3459e87d111e0 upstream.
    
    Otherwise any attempt to interact with the hardware will crash. This is
    what happens when drivers get written blind.
    
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Mike Turquette <mturquette@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 497587f84f16a5775b91d0a1051930ae8997d02d
Author: Brian Norris <computersforpeace@gmail.com>
Date:   Thu Jul 18 01:17:02 2013 -0700

    mtd: nand: fix NAND_BUSWIDTH_AUTO for x16 devices
    
    commit 68e8078072e802e77134664f11d2ffbfbd2f8fbe upstream.
    
    The code for NAND_BUSWIDTH_AUTO is broken. According to Alexander:
    
      "I have a problem with attach NAND UBI in 16 bit mode.
       NAND works fine if I specify NAND_BUSWIDTH_16 option, but not
       working with NAND_BUSWIDTH_AUTO option. In second case NAND
       chip is identifyed with ONFI."
    
    See his report for the rest of the details:
    
      http://lists.infradead.org/pipermail/linux-mtd/2013-July/047515.html
    
    Anyway, the problem is that nand_set_defaults() is called twice, we
    intend it to reset the chip functions to their x16 buswidth verions
    if the buswidth changed from x8 to x16; however, nand_set_defaults()
    does exactly nothing if called a second time.
    
    Fix this by hacking nand_set_defaults() to reset the buswidth-dependent
    functions if they were set to the x8 version the first time. Note that
    this does not do anything to reset from x16 to x8, but that's not the
    supported use case for NAND_BUSWIDTH_AUTO anyway.
    
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Reported-by: Alexander Shiyan <shc_work@mail.ru>
    Tested-by: Alexander Shiyan <shc_work@mail.ru>
    Cc: Matthieu Castet <matthieu.castet@parrot.com>
    Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6830e9ab4b67cee41edd609fb7ebe14c66fca434
Author: Grant Likely <grant.likely@linaro.org>
Date:   Wed Aug 28 21:24:17 2013 +0100

    of: Fix missing memory initialization on FDT unflattening
    
    commit 0640332e073be9207f0784df43595c0c39716e42 upstream.
    
    Any calls to dt_alloc() need to be zeroed. This is a temporary fix, but
    the allocation function itself needs to zero memory before returning
    it. This is a follow up to patch 9e4012752, "of: fdt: fix memory
    initialization for expanded DT" which fixed one call site but missed
    another.
    
    Signed-off-by: Grant Likely <grant.likely@linaro.org>
    Acked-by: Wladislav Wiebe <wladislav.kw@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c0da08882ef2c738edacd5e7fbca671e663f9951
Author: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Date:   Sat Aug 24 23:38:15 2013 -0400

    mmc: tmio_mmc_dma: fix PIO fallback on SDHI
    
    commit f936f9b67b7f8c2eae01dd303a0e90bd777c4679 upstream.
    
    I'm testing SH-Mobile SDHI driver in DMA mode with  a new DMA controller  using
    'bonnie++' and getting DMA error after which the tmio_mmc_dma.c code falls back
    to PIO but all commands time out after that.  It turned out that the fallback
    code calls tmio_mmc_enable_dma() with RX/TX channels already freed and pointers
    to them cleared, so that the function bails out early instead  of clearing the
    DMA bit in the CTL_DMA_ENABLE register. The regression was introduced by commit
    162f43e31c5a376ec16336e5d0ac973373d54c89 (mmc: tmio: fix a deadlock).
    Moving tmio_mmc_enable_dma() calls to the top of the PIO fallback code in
    tmio_mmc_start_dma_{rx|tx}() helps.
    
    Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
    Signed-off-by: Chris Ball <cjb@laptop.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be4c4b85002b3c20773c2c3d3e997bd1aedc1453
Author: Josh Durgin <josh.durgin@inktank.com>
Date:   Mon Aug 26 17:55:38 2013 -0700

    rbd: fix I/O error propagation for reads
    
    commit 17c1cc1d9293a568a00545469078e29555cc7f39 upstream.
    
    When a request returns an error, the driver needs to report the entire
    extent of the request as completed.  Writes already did this, since
    they always set xferred = length, but reads were skipping that step if
    an error other than -ENOENT occurred.  Instead, rbd would end up
    passing 0 xferred to blk_end_request(), which would always report
    needing more data.  This resulted in an assert failing when more data
    was required by the block layer, but all the object requests were
    done:
    
    [ 1868.719077] rbd: obj_request read result -108 xferred 0
    [ 1868.719077]
    [ 1868.719518] end_request: I/O error, dev rbd1, sector 0
    [ 1868.719739]
    [ 1868.719739] Assertion failure in rbd_img_obj_callback() at line 1736:
    [ 1868.719739]
    [ 1868.719739]   rbd_assert(more ^ (which == img_request->obj_request_count));
    
    Without this assert, reads that hit errors would hang forever, since
    the block layer considered them incomplete.
    
    Fixes: http://tracker.ceph.com/issues/5647
    Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
    Reviewed-by: Alex Elder <alex.elder@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4f8e2fc10e249dcae05898f4807d9cc450b070bb
Author: majianpeng <majianpeng@gmail.com>
Date:   Tue Jul 16 19:36:21 2013 +0800

    ceph: Don't forget the 'up_read(&osdc->map_sem)' if met error.
    
    commit 494ddd11be3e2621096bb425eed2886f8e8446d4 upstream.
    
    Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
    Reviewed-by: Sage Weil <sage@inktank.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fd5e2dea537bbf0bfb09f79a8b34c148bb502735
Author: Sage Weil <sage@inktank.com>
Date:   Wed Aug 28 17:17:29 2013 -0700

    libceph: use pg_num_mask instead of pgp_num_mask for pg.seed calc
    
    commit 9542cf0bf9b1a3adcc2ef271edbcbdba03abf345 upstream.
    
    Fix a typo that used the wrong bitmask for the pg.seed calculation.  This
    is normally unnoticed because in most cases pg_num == pgp_num.  It is, however,
    a bug that is easily corrected.
    
    Signed-off-by: Sage Weil <sage@inktank.com>
    Reviewed-by: Alex Elder <alex.elder@linary.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2ab0ad6af3a87818ea3525914be6779fca833801
Author: majianpeng <majianpeng@gmail.com>
Date:   Tue Jul 16 15:45:48 2013 +0800

    libceph: unregister request in __map_request failed and nofail == false
    
    commit 73d9f7eef3d98c3920e144797cc1894c6b005a1e upstream.
    
    For nofail == false request, if __map_request failed, the caller does
    cleanup work, like releasing the relative pages.  It doesn't make any sense
    to retry this request.
    
    Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
    Reviewed-by: Sage Weil <sage@inktank.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4fdaa3d47985338f80d7262de700533a9e630d29
Author: Richard Weinberger <richard@nod.at>
Date:   Sat Aug 17 18:46:00 2013 +0200

    um: Implement probe_kernel_read()
    
    commit f75b1b1bedfb498cc43a992ce4d7ed8df3b1e770 upstream.
    
    UML needs it's own probe_kernel_read() to handle kernel
    mode faults correctly.
    The implementation uses mincore() on the host side to detect
    whether a page is owned by the UML kernel process.
    
    This fixes also a possible crash when sysrq-t is used.
    Starting with 3.10 sysrq-t calls probe_kernel_read() to
    read details from the kernel workers. As kernel worker are
    completely async pointers may turn NULL while reading them.
    
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Cc: <stian@nixia.no>
    Cc: <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 579db19eca10b594acd9d4516814b599eb4486ec
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Aug 12 11:04:29 2013 -0400

    drm/edid: add quirk for Medion MD30217PG
    
    commit 118bdbd86b39dbb843155054021d2c59058f1e05 upstream.
    
    This LCD monitor (1280x1024 native) has a completely
    bogus detailed timing (640x350@70hz).  User reports that
    1280x1024@60 has waves so prefer 1280x1024@75.
    
    Manufacturer: MED  Model: 7b8  Serial#: 99188
    Year: 2005  Week: 5
    EDID Version: 1.3
    Analog Display Input,  Input Voltage Level: 0.700/0.700 V
    Sync:  Separate
    Max Image Size [cm]: horiz.: 34  vert.: 27
    Gamma: 2.50
    DPMS capabilities: Off; RGB/Color Display
    First detailed timing is preferred mode
    redX: 0.645 redY: 0.348   greenX: 0.280 greenY: 0.605
    blueX: 0.142 blueY: 0.071   whiteX: 0.313 whiteY: 0.329
    Supported established timings:
    720x400@70Hz
    640x480@60Hz
    640x480@72Hz
    640x480@75Hz
    800x600@56Hz
    800x600@60Hz
    800x600@72Hz
    800x600@75Hz
    1024x768@60Hz
    1024x768@70Hz
    1024x768@75Hz
    1280x1024@75Hz
    Manufacturer's mask: 0
    Supported standard timings:
    Supported detailed timing:
    clock: 25.2 MHz   Image Size:  337 x 270 mm
    h_active: 640  h_sync: 688  h_sync_end 784 h_blank_end 800 h_border: 0
    v_active: 350  v_sync: 350  v_sync_end 352 v_blanking: 449 v_border: 0
    Monitor name: MD30217PG
    Ranges: V min: 56 V max: 76 Hz, H min: 30 H max: 83 kHz, PixClock max 145 MHz
    Serial No: 501099188
    EDID (in hex):
              00ffffffffffff0034a4b80774830100
              050f010368221b962a0c55a559479b24
              125054afcf00310a0101010101018180
              000000000000d60980a0205e63103060
              0200510e1100001e000000fc004d4433
              3032313750470a202020000000fd0038
              4c1e530e000a202020202020000000ff
              003530313039393138380a2020200078
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Reported-by: friedrich@mailstation.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 34db3c078aab40f22846b76c1a2c960c2a378f40
Author: Borislav Petkov <bp@suse.de>
Date:   Tue Jul 23 20:01:23 2013 +0200

    amd64_edac: Fix single-channel setups
    
    commit f0a56c480196a98479760862468cc95879df3de0 upstream.
    
    It can happen that configurations are running in a single-channel mode
    even with a dual-channel memory controller, by, say, putting the DIMMs
    only on the one channel and leaving the other empty. This causes a
    problem in init_csrows which implicitly assumes that when the second
    channel is enabled, i.e. channel 1, the struct dimm hierarchy will be
    present. Which is not.
    
    So always allocate two channels unconditionally.
    
    This provides for the nice side effect that the data structures are
    initialized so some day, when memory hotplug is supported, it should
    just work out of the box when all of a sudden a second channel appears.
    
    Reported-and-tested-by: Roger Leigh <rleigh@debian.org>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4b5fe51a9a8e6d4c74a6f2717bf25e4132c551d3
Author: Jan Kara <jack@suse.cz>
Date:   Thu Jul 25 11:49:11 2013 +0200

    isofs: Refuse RW mount of the filesystem instead of making it RO
    
    commit 17b7f7cf58926844e1dd40f5eb5348d481deca6a upstream.
    
    Refuse RW mount of isofs filesystem. So far we just silently changed it
    to RO mount but when the media is writeable, block layer won't notice
    this change and thus will think device is used RW and will block eject
    button of the drive. That is unexpected by users because for
    non-writeable media eject button works just fine.
    
    Userspace mount(8) command handles this just fine and retries mounting
    with MS_RDONLY set so userspace shouldn't see any regression.  Plus any
    tool mounting isofs is likely confronted with the case of read-only
    media where block layer already refuses to mount the filesystem without
    MS_RDONLY set so our behavior shouldn't be anything new for it.
    
    Reported-by: Hui Wang <hui.wang@canonical.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1ca91545961a92067cb8ad3ebc1558c8d1574456
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Mon Mar 25 19:57:10 2013 -0700

    proc: Restrict mounting the proc filesystem
    
    commit aee1c13dd0f6c2fc56e0e492b349ee8ac655880f upstream.
    
    Don't allow mounting the proc filesystem unless the caller has
    CAP_SYS_ADMIN rights over the pid namespace.  The principle here is if
    you create or have capabilities over it you can mount it, otherwise
    you get to live with what other people have mounted.
    
    Andy pointed out that this is needed to prevent users in a user
    namespace from remounting proc and specifying different hidepid and gid
    options on already existing proc mounts.
    
    Reported-by: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8b89ae8a4914ee393c0db530735d933481272e97
Author: Libin <huawei.libin@huawei.com>
Date:   Wed Sep 11 14:20:38 2013 -0700

    mm/huge_memory.c: fix potential NULL pointer dereference
    
    commit a8f531ebc33052642b4bd7b812eedf397108ce64 upstream.
    
    In collapse_huge_page() there is a race window between releasing the
    mmap_sem read lock and taking the mmap_sem write lock, so find_vma() may
    return NULL.  So check the return value to avoid NULL pointer dereference.
    
    collapse_huge_page
    	khugepaged_alloc_page
    		up_read(&mm->mmap_sem)
    	down_write(&mm->mmap_sem)
    	vma = find_vma(mm, address)
    
    Signed-off-by: Libin <huawei.libin@huawei.com>
    Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Reviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
    Reviewed-by: Michal Hocko <mhocko@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d96fa17975d6b1d1dd1264170ccdfabb254f71c2
Author: Greg Thelen <gthelen@google.com>
Date:   Wed Sep 11 14:23:08 2013 -0700

    memcg: fix multiple large threshold notifications
    
    commit 2bff24a3707093c435ab3241c47dcdb5f16e432b upstream.
    
    A memory cgroup with (1) multiple threshold notifications and (2) at least
    one threshold >=2G was not reliable.  Specifically the notifications would
    either not fire or would not fire in the proper order.
    
    The __mem_cgroup_threshold() signaling logic depends on keeping 64 bit
    thresholds in sorted order.  mem_cgroup_usage_register_event() sorts them
    with compare_thresholds(), which returns the difference of two 64 bit
    thresholds as an int.  If the difference is positive but has bit[31] set,
    then sort() treats the difference as negative and breaks sort order.
    
    This fix compares the two arbitrary 64 bit thresholds returning the
    classic -1, 0, 1 result.
    
    The test below sets two notifications (at 0x1000 and 0x81001000):
      cd /sys/fs/cgroup/memory
      mkdir x
      for x in 4096 2164264960; do
        cgroup_event_listener x/memory.usage_in_bytes $x | sed "s/^/$x listener:/" &
      done
      echo $$ > x/cgroup.procs
      anon_leaker 500M
    
    v3.11-rc7 fails to signal the 4096 event listener:
      Leaking...
      Done leaking pages.
    
    Patched v3.11-rc7 properly notifies:
      Leaking...
      4096 listener:2013:8:31:14:13:36
      Done leaking pages.
    
    The fixed bug is old.  It appears to date back to the introduction of
    memcg threshold notifications in v2.6.34-rc1-116-g2e72b6347c94 "memcg:
    implement memory thresholds"
    
    Signed-off-by: Greg Thelen <gthelen@google.com>
    Acked-by: Michal Hocko <mhocko@suse.cz>
    Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3c46f72697d06f219222314b4372562973975995
Author: Jie Liu <jeff.liu@oracle.com>
Date:   Wed Sep 11 14:20:05 2013 -0700

    ocfs2: fix the end cluster offset of FIEMAP
    
    commit 28e8be31803b19d0d8f76216cb11b480b8a98bec upstream.
    
    Call fiemap ioctl(2) with given start offset as well as an desired mapping
    range should show extents if possible.  However, we somehow figure out the
    end offset of mapping via 'mapping_end -= cpos' before iterating the
    extent records which would cause problems if the given fiemap length is
    too small to a cluster size, e.g,
    
    Cluster size 4096:
    debugfs.ocfs2 1.6.3
            Block Size Bits: 12   Cluster Size Bits: 12
    
    The extended fiemap test utility From David:
    https://gist.github.com/anonymous/6172331
    
    # dd if=/dev/urandom of=/ocfs2/test_file bs=1M count=1000
    # ./fiemap /ocfs2/test_file 4096 10
    start: 4096, length: 10
    File /ocfs2/test_file has 0 extents:
    #	Logical          Physical         Length           Flags
    	^^^^^ <-- No extent is shown
    
    In this case, at ocfs2_fiemap(): cpos == mapping_end == 1. Hence the
    loop of searching extent records was not executed at all.
    
    This patch remove the in question 'mapping_end -= cpos', and loops
    until the cpos is larger than the mapping_end as usual.
    
    # ./fiemap /ocfs2/test_file 4096 10
    start: 4096, length: 10
    File /ocfs2/test_file has 1 extents:
    #	Logical          Physical         Length           Flags
    0:	0000000000000000 0000000056a01000 0000000006a00000 0000
    
    Signed-off-by: Jie Liu <jeff.liu@oracle.com>
    Reported-by: David Weber <wb@munzinger.de>
    Tested-by: David Weber <wb@munzinger.de>
    Cc: Sunil Mushran <sunil.mushran@gmail.com>
    Cc: Mark Fashen <mfasheh@suse.de>
    Cc: Joel Becker <jlbec@evilplan.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f608ebd760cb9b48a333700fdc10245e257d9fce
Author: Oleg Nesterov <oleg@redhat.com>
Date:   Wed Sep 11 14:19:38 2013 -0700

    pidns: fix vfork() after unshare(CLONE_NEWPID)
    
    commit e79f525e99b04390ca4d2366309545a836c03bf1 upstream.
    
    Commit 8382fcac1b81 ("pidns: Outlaw thread creation after
    unshare(CLONE_NEWPID)") nacks CLONE_VM if the forking process unshared
    pid_ns, this obviously breaks vfork:
    
    	int main(void)
    	{
    		assert(unshare(CLONE_NEWUSER | CLONE_NEWPID) == 0);
    		assert(vfork() >= 0);
    		_exit(0);
    		return 0;
    	}
    
    fails without this patch.
    
    Change this check to use CLONE_SIGHAND instead.  This also forbids
    CLONE_THREAD automatically, and this is what the comment implies.
    
    We could probably even drop CLONE_SIGHAND and use CLONE_THREAD, but it
    would be safer to not do this.  The current check denies CLONE_SIGHAND
    implicitely and there is no reason to change this.
    
    Eric said "CLONE_SIGHAND is fine.  CLONE_THREAD would be even better.
    Having shared signal handling between two different pid namespaces is
    the case that we are fundamentally guarding against."
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Reported-by: Colin Walters <walters@redhat.com>
    Acked-by: Andy Lutomirski <luto@amacapital.net>
    Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5a48788ca4d6dc78d1856d9ddeea1b1160097cc9
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Thu Aug 29 13:56:50 2013 -0700

    pidns: Fix hang in zap_pid_ns_processes by sending a potentially extra wakeup
    
    commit a606488513543312805fab2b93070cefe6a3016c upstream.
    
    Serge Hallyn <serge.hallyn@ubuntu.com> writes:
    
    > Since commit af4b8a83add95ef40716401395b44a1b579965f4 it's been
    > possible to get into a situation where a pidns reaper is
    > <defunct>, reparented to host pid 1, but never reaped.  How to
    > reproduce this is documented at
    >
    > https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1168526
    > (and see
    > https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1168526/comments/13)
    > In short, run repeated starts of a container whose init is
    >
    > Process.exit(0);
    >
    > sysrq-t when such a task is playing zombie shows:
    >
    > [  131.132978] init            x ffff88011fc14580     0  2084   2039 0x00000000
    > [  131.132978]  ffff880116e89ea8 0000000000000002 ffff880116e89fd8 0000000000014580
    > [  131.132978]  ffff880116e89fd8 0000000000014580 ffff8801172a0000 ffff8801172a0000
    > [  131.132978]  ffff8801172a0630 ffff88011729fff0 ffff880116e14650 ffff88011729fff0
    > [  131.132978] Call Trace:
    > [  131.132978]  [<ffffffff816f6159>] schedule+0x29/0x70
    > [  131.132978]  [<ffffffff81064591>] do_exit+0x6e1/0xa40
    > [  131.132978]  [<ffffffff81071eae>] ? signal_wake_up_state+0x1e/0x30
    > [  131.132978]  [<ffffffff8106496f>] do_group_exit+0x3f/0xa0
    > [  131.132978]  [<ffffffff810649e4>] SyS_exit_group+0x14/0x20
    > [  131.132978]  [<ffffffff8170102f>] tracesys+0xe1/0xe6
    >
    > Further debugging showed that every time this happened, zap_pid_ns_processes()
    > started with nr_hashed being 3, while we were expecting it to drop to 2.
    > Any time it didn't happen, nr_hashed was 1 or 2.  So the reaper was
    > waiting for nr_hashed to become 2, but free_pid() only wakes the reaper
    > if nr_hashed hits 1.
    
    The issue is that when the task group leader of an init process exits
    before other tasks of the init process when the init process finally
    exits it will be a secondary task sleeping in zap_pid_ns_processes and
    waiting to wake up when the number of hashed pids drops to two.  This
    case waits forever as free_pid only sends a wake up when the number of
    hashed pids drops to 1.
    
    To correct this the simple strategy of sending a possibly unncessary
    wake up when the number of hashed pids drops to 2 is adopted.
    
    Sending one extraneous wake up is relatively harmless, at worst we
    waste a little cpu time in the rare case when a pid namespace
    appropaches exiting.
    
    We can detect the case when the pid namespace drops to just two pids
    hashed race free in free_pid.
    
    Dereferencing pid_ns->child_reaper with the pidmap_lock held is safe
    without out the tasklist_lock because it is guaranteed that the
    detach_pid will be called on the child_reaper before it is freed and
    detach_pid calls __change_pid which calls free_pid which takes the
    pidmap_lock.  __change_pid only calls free_pid if this is the
    last use of the pid.  For a thread that is not the thread group leader
    the threads pid will only ever have one user because a threads pid
    is not allowed to be the pid of a process, of a process group or
    a session.  For a thread that is a thread group leader all of
    the other threads of that process will be reaped before it is allowed
    for the thread group leader to be reaped ensuring there will only
    be one user of the threads pid as a process pid.  Furthermore
    because the thread is the init process of a pid namespace all of the
    other processes in the pid namespace will have also been already freed
    leading to the fact that the pid will not be used as a session pid or
    a process group pid for any other running process.
    
    Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
    Tested-by: Serge Hallyn <serge.hallyn@canonical.com>
    Reported-by: Serge Hallyn <serge.hallyn@ubuntu.com>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1b24e0e487698ae239764165495f45401d5930ce
Author: Alex Williamson <alex.williamson@redhat.com>
Date:   Sat Jun 15 10:27:19 2013 -0600

    intel-iommu: Fix leaks in pagetable freeing
    
    commit 3269ee0bd6686baf86630300d528500ac5b516d7 upstream.
    
    At best the current code only seems to free the leaf pagetables and
    the root.  If you're unlucky enough to have a large gap (like any
    QEMU guest with more than 3G of memory), only the first chunk of leaf
    pagetables are freed (plus the root).  This is a massive memory leak.
    This patch re-writes the pagetable freeing function to use a
    recursive algorithm and manages to not only free all the pagetables,
    but does it without any apparent performance loss versus the current
    broken version.
    
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Joerg Roedel <joro@8bytes.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e041da063093c8f0a713b09560dc5bf6985e8a0a
Author: Gera Kazakov <gkazakov@msn.com>
Date:   Mon Sep 9 15:47:06 2013 -0700

    target: Fix >= v3.9+ regression in PR APTPL + ALUA metadata write-out
    
    commit f730f9158f6ee7b5c4d892af6b51a72194445ea4 upstream.
    
    This patch fixes a >= v3.9+ regression in __core_scsi3_write_aptpl_to_file()
    + core_alua_write_tpg_metadata() write-out, where a return value of -EIO was
    incorrectly being returned upon success.
    
    This bug was originally introduced in:
    
    commit 0e9b10a90f1c30f25dd6f130130240745ab14010
    Author: Al Viro <viro@zeniv.linux.org.uk>
    Date:   Sat Feb 23 15:22:43 2013 -0500
    
        target: writev() on single-element vector is pointless
    
    However, given that the return of core_scsi3_update_and_write_aptpl()
    was not used to determine if a command should be returned with non GOOD
    status, this bug was not being triggered in PR logic until v3.11-rc1 by
    commit:
    
    commit 459f213ba162bd13e113d6f92a8fa6c780fd67ed
    Author: Andy Grover <agrover@redhat.com>
    Date:   Thu May 16 10:41:02 2013 -0700
    
        target: Allocate aptpl_buf inside update_and_write_aptpl()
    
    So, go ahead and only return -EIO if kernel_write() returned a
    negative value.
    
    Reported-by: Gera Kazakov <gkazakov@msn.com>
    Signed-off-by: Gera Kazakov <gkazakov@msn.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andy Grover <agrover@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2008c41d079db04dfc6d6a29bd8a7292ed1299a3
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Wed Aug 28 10:41:42 2013 +0200

    MIPS: ath79: Fix ar933x watchdog clock
    
    commit a1191927ace7e6f827132aa9e062779eb3f11fa5 upstream.
    
    The watchdog device on the AR933x is connected to
    the AHB clock, however the current code uses the
    reference clock. Due to the wrong rate, the watchdog
    driver can't calculate correct register values for
    a given timeout value and the watchdog unexpectedly
    restarts the system.
    
    The code uses the wrong value since the initial
    commit 04225e1d227c8e68d685936ecf42ac175fec0e54
    (MIPS: ath79: add AR933X specific clock init)
    
    The patch fixes the code to use the correct clock
    rate to avoid the problem.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5777/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d041e861d49f1f558e9e18f2075345f8a37427dc
Author: Mark Brown <broonie@linaro.org>
Date:   Thu Aug 29 07:18:14 2013 -0700

    leds: wm831x-status: Request a REG resource
    
    commit 61abeba5222895d6900b13115f5d8eba7988d7d6 upstream.
    
    The wm831x-status driver was not converted to use a REG resource when they
    were introduced and the rest of the wm831x drivers converted, causing it
    to fail to probe due to requesting the wrong resource type.
    
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Bryan Wu <cooloney@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 73e2c2b7c105e46344eb409575a4508f24a82eee
Author: Oleg Nesterov <oleg@redhat.com>
Date:   Wed Sep 11 17:47:26 2013 +0200

    uprobes: Fix utask->depth accounting in handle_trampoline()
    
    commit 878b5a6efd38030c7a90895dc8346e8fb1e09b4c upstream.
    
    Currently utask->depth is simply the number of allocated/pending
    return_instance's in uprobe_task->return_instances list.
    
    handle_trampoline() should decrement this counter every time we
    handle/free an instance, but due to typo it does this only if
    ->chained == T. This means that in the likely case this counter
    is never decremented and the probed task can't report more than
    MAX_URETPROBE_DEPTH events.
    
    Reported-by: Mikhail Kulemin <Mikhail.Kulemin@ru.ibm.com>
    Reported-by: Hemant Kumar Shaw <hkshaw@linux.vnet.ibm.com>
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Acked-by: Anton Arapov <anton@redhat.com>
    Cc: masami.hiramatsu.pt@hitachi.com
    Cc: srikar@linux.vnet.ibm.com
    Cc: systemtap@sourceware.org
    Link: http://lkml.kernel.org/r/20130911154726.GA8093@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 42cc8e56740efe9acc271f4780b81ac5ecef188c
Author: Stefan Behrens <sbehrens@giantdisaster.de>
Date:   Mon Aug 19 18:51:13 2013 +0200

    Btrfs: don't allow the replace procedure on read only filesystems
    
    commit bbb651e469d99f0088e286fdeb54acca7bb4ad4e upstream.
    
    If you start the replace procedure on a read only filesystem, at
    the end the procedure fails to write the updated dev_items to the
    chunk tree. The problem is that this error is not indicated except
    for a WARN_ON(). If the user now thinks that everything was done
    as expected and destroys the source device (with mkfs or with a
    hammer). The next mount fails with "failed to read chunk root" and
    the filesystem is gone.
    
    This commit adds code to fail the attempt to start the replace
    procedure if the filesystem is mounted read-only.
    
    Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
    Signed-off-by: Josef Bacik <jbacik@fusionio.com>
    Signed-off-by: Chris Mason <chris.mason@fusionio.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d2310f7119ba394d3256c221886c048189dcfb91
Author: Bjørn Mork <bjorn@mork.no>
Date:   Wed Aug 14 05:24:39 2013 -0300

    media: siano: fix divide error on 0 counters
    
    commit ec532503209053bbee0c7dac410031e50835e01a upstream.
    
    GIT_AUTHOR_DATE=1376465691
    I took a quick look at the code and wonder if the problem is caused by
    an initial zero statistics message?  This is all just a wild guess, but
    if it is correct, then the attached untested patch might fix it...
    Bjørn
    >From d78a0599d5b5d4da384eae08bf7da316389dfbe5 Mon Sep 17 00:00:00 2001
    ts_packets and ets_packets counters can be 0.  Don't fall over
    if they are. Fixes:
    [  846.851711] divide error: 0000 [#1] SMP
    [  846.851806] Modules linked in: smsdvb dvb_core ir_lirc_codec lirc_dev ir_sanyo_decoder ir_mce_kbd_decoder ir_sony_decoder ir_jvc_decoder ir_rc6_decoder ir_rc5_decoder ir_nec_decoder rc_hauppauge smsusb smsmdtv rc_core pci_stub vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) parport_pc ppdev lp parport cpufreq_userspace cpufreq_powersave cpufreq_stats cpufreq_conservative rfcomm bnep binfmt_misc uinput nfsd auth_rpcgss oid_registry nfs_acl nfs lockd dns_resolver fscache sunrpc ext4 jbd2 fuse tp_smapi(O) thinkpad_ec(O) loop firewire_sbp2 dm_crypt snd_hda_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm thinkpad_acpi nvram snd_page_alloc hid_generic snd_seq_midi snd_seq_midi_event arc4 usbhid snd_rawmidi uvcvideo hid iwldvm coretemp kvm_intel mac8021
     1 cdc_wdm
    [  846.853477]  cdc_acm snd_seq videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media kvm radeon r852 ttm joydev cdc_ether usbnet pcmcia mii sm_common nand btusb drm_kms_helper tpm_tis acpi_cpufreq bluetooth iwlwifi nand_ecc drm nand_ids i2c_i801 mtd snd_seq_device iTCO_wdt iTCO_vendor_support r592 memstick lpc_ich mperf tpm yenta_socket pcmcia_rsrc pcmcia_core cfg80211 snd_timer snd pcspkr i2c_algo_bit crc16 i2c_core tpm_bios processor mfd_core wmi psmouse mei_me rfkill mei serio_raw soundcore evdev battery button video ac microcode ext3 mbcache jbd md_mod dm_mirror dm_region_hash dm_log dm_mod sg sr_mod sd_mod cdrom crc_t10dif firewire_ohci sdhci_pci sdhci mmc_core firewire_core crc_itu_t thermal thermal_sys ahci libahci ehci_pci uhci_hcd ehci_hcd libata scsi_mod usbcore e1000
     e usb_common
    [  846.855310]  ptp pps_core
    [  846.855356] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           O 3.10-2-amd64 #1 Debian 3.10.5-1
    [  846.855490] Hardware name: LENOVO 4061WFA/4061WFA, BIOS 6FET92WW (3.22 ) 12/14/2011
    [  846.855609] task: ffffffff81613400 ti: ffffffff81600000 task.ti: ffffffff81600000
    [  846.855636] RIP: 0010:[<ffffffffa092be0c>]  [<ffffffffa092be0c>] smsdvb_onresponse+0x264/0xa86 [smsdvb]
    [  846.863906] RSP: 0018:ffff88013bc03cf0  EFLAGS: 00010046
    [  846.863906] RAX: 0000000000000000 RBX: ffff880133bf6000 RCX: 0000000000000000
    [  846.863906] RDX: 0000000000000000 RSI: ffff88005d3b58c0 RDI: ffff880133bf6000
    [  846.863906] RBP: ffff88005d1da000 R08: 0000000000000058 R09: 0000000000000015
    [  846.863906] R10: 0000000000001a0d R11: 000000000000021a R12: ffff88005d3b58c0
    [  846.863906] R13: ffff88005d1da008 R14: 00000000ffffff8d R15: ffff880036cf5060
    [  846.863906] FS:  0000000000000000(0000) GS:ffff88013bc00000(0000) knlGS:0000000000000000
    [  846.863906] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    [  846.863906] CR2: 00007f3a4b69ae50 CR3: 0000000036dac000 CR4: 00000000000407f0
    [  846.863906] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [  846.863906] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    [  846.863906] Stack:
    [  846.863906]  ffff88007a102000 ffff88005d1da000 ffff88005d3b58c0 0000000000085824
    [  846.863906]  ffffffffa08c5aa3 ffff88005d1da000 ffff8800a6907390 ffff8800a69073b0
    [  846.863906]  ffff8800a6907000 ffffffffa08b642c 000000000000021a ffff8800a69073b0
    [  846.863906] Call Trace:
    [  846.863906]  <IRQ>
    [  846.863906]
    [  846.863906]  [<ffffffffa08c5aa3>] ? smscore_onresponse+0x1d5/0x353 [smsmdtv]
    [  846.863906]  [<ffffffffa08b642c>] ? smsusb_onresponse+0x146/0x192 [smsusb]
    [  846.863906]  [<ffffffffa004cb1a>] ? usb_hcd_giveback_urb+0x6c/0xac [usbcore]
    [  846.863906]  [<ffffffffa0217be1>] ? ehci_urb_done+0x62/0x72 [ehci_hcd]
    [  846.863906]  [<ffffffffa0217c82>] ? qh_completions+0x91/0x364 [ehci_hcd]
    [  846.863906]  [<ffffffffa0219bba>] ? ehci_work+0x8a/0x68e [ehci_hcd]
    [  846.863906]  [<ffffffff8107336c>] ? timekeeping_get_ns.constprop.10+0xd/0x31
    [  846.863906]  [<ffffffff81064d41>] ? update_cfs_rq_blocked_load+0xde/0xec
    [  846.863906]  [<ffffffff81058ec2>] ? run_posix_cpu_timers+0x25/0x575
    [  846.863906]  [<ffffffffa021aa46>] ? ehci_irq+0x211/0x23d [ehci_hcd]
    [  846.863906]  [<ffffffffa004c0c1>] ? usb_hcd_irq+0x31/0x48 [usbcore]
    [  846.863906]  [<ffffffff810996fd>] ? handle_irq_event_percpu+0x49/0x1a4
    [  846.863906]  [<ffffffff8109988a>] ? handle_irq_event+0x32/0x4b
    [  846.863906]  [<ffffffff8109bd76>] ? handle_fasteoi_irq+0x80/0xb6
    [  846.863906]  [<ffffffff8100e93e>] ? handle_irq+0x18/0x20
    [  846.863906]  [<ffffffff8100e657>] ? do_IRQ+0x40/0x95
    [  846.863906]  [<ffffffff813883ed>] ? common_interrupt+0x6d/0x6d
    [  846.863906]  <EOI>
    [  846.863906]
    [  846.863906]  [<ffffffff812a011c>] ? arch_local_irq_enable+0x4/0x8
    [  846.863906]  [<ffffffff812a04f3>] ? cpuidle_enter_state+0x52/0xc1
    [  846.863906]  [<ffffffff812a0636>] ? cpuidle_idle_call+0xd4/0x143
    [  846.863906]  [<ffffffff8101398c>] ? arch_cpu_idle+0x5/0x17
    [  846.863906]  [<ffffffff81072571>] ? cpu_startup_entry+0x10d/0x187
    [  846.863906]  [<ffffffff816b3d3d>] ? start_kernel+0x3e8/0x3f3
    [  846.863906]  [<ffffffff816b3777>] ? repair_env_string+0x54/0x54
    [  846.863906]  [<ffffffff816b3598>] ? x86_64_start_kernel+0xf2/0xfd
    [  846.863906] Code: 25 09 00 00 c6 83 da 08 00 00 03 8b 45 54 48 01 83 b6 08 00 00 8b 45 50 48 01 83 db 08 00 00 8b 4d 18 69 c1 ff ff 00 00 03 4d 14 <48> f7 f1 89 83 a8 09 00 00 e9 68 fe ff ff 48 8b 7f 10 e8 79 92
    [  846.863906] RIP  [<ffffffffa092be0c>] smsdvb_onresponse+0x264/0xa86 [smsdvb]
    [  846.863906]  RSP <ffff88013bc03cf0>
    Reference: http://bugs.debian.org/719623
    
    Reported-by: Johannes Rohr <jorohr@gmail.com>
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b3fcd91b96de3082d24636478a145bb50947c9eb
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Fri Aug 9 08:53:26 2013 -0300

    media: mb86a20s: Fix TS parallel mode
    
    commit 9d32069faacdc81fe1dcb5d297c32a3ac81da8f0 upstream.
    
    changeset 768e6dadd74 caused a regression on using mb86a20s
    in parallel mode, as the parallel mode selection got
    overriden by mb86a20s_init2.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4ff5ef250fb348707bad956e6eef7f84f1021675
Author: Alexander Shiyan <shc_work@mail.ru>
Date:   Sat Jun 15 08:09:57 2013 -0300

    media: media: coda: Fix DT driver data pointer for i.MX27
    
    commit 7b0dd9e60e714951b5400dd0740b3c4c3c3cb76f upstream.
    
    The data pointer should point to DT data, and not to the ID
    array.
    
    Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
    Signed-off-by: Kamil Debski <k.debski@samsung.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cd08ebc07c7cb27785b94a09e4b441e021ce302f
Author: Andrzej Hajda <a.hajda@samsung.com>
Date:   Fri Jun 28 05:44:22 2013 -0300

    media: v4l2: added missing mutex.h include to v4l2-ctrls.h
    
    commit a19dec6ea94c036af68c31930c1c92681f55af41 upstream.
    
    This patch fixes following error:
    include/media/v4l2-ctrls.h:193:15: error: field ‘_lock’ has incomplete type
    include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_lock’:
    include/media/v4l2-ctrls.h:570:2: error: implicit declaration of
    	function ‘mutex_lock’ [-Werror=implicit-function-declaration]
    include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_unlock’:
    include/media/v4l2-ctrls.h:579:2: error: implicit declaration of
    	function ‘mutex_unlock’ [-Werror=implicit-function-declaration]
    
    Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ed6db5dcac3698346227a49afb2635dfcb784057
Author: Alexey Khoroshilov <khoroshilov@ispras.ru>
Date:   Wed Jul 3 16:17:34 2013 -0300

    media: hdpvr: fix iteration over uninitialized lists in hdpvr_probe()
    
    commit 2e923a0527ac439e135b9961e58d3acd876bba10 upstream.
    
    free_buff_list and rec_buff_list are initialized in the middle of hdpvr_probe(),
    but if something bad happens before that, error handling code calls hdpvr_delete(),
    which contains iteration over the lists (via hdpvr_free_buffers()).
    The patch moves the lists initialization to the beginning and by the way fixes
    goto label in error handling of registering videodev.
    Found by Linux Driver Verification project (linuxtesting.org).
    
    Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bd7dcb5af0f8771fbcf2fd999545281ec7561d3e
Author: Andrzej Hajda <a.hajda@samsung.com>
Date:   Fri Jun 28 05:34:20 2013 -0300

    media: DocBook: upgrade media_api DocBook version to 4.2
    
    commit 8bfd4a68ecc003c1a142f35551be846d6b13e822 upstream.
    
    Fixes the last three errors of media_api DocBook validatation:
    (...)
    media_api.xml:414: element imagedata: validity error : Value "SVG" for attribute format of imagedata is not among the enumerated set
    media_api.xml:432: element imagedata: validity error : Value "SVG" for attribute format of imagedata is not among the enumerated set
    media_api.xml:452: element imagedata: validity error : Value "SVG" for attribute format of imagedata is not among the enumerated set
    (...)
    
    Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 469641b2b568a9295396ff723573bdeaf2c4293e
Author: Sachin Kamat <sachin.kamat@linaro.org>
Date:   Mon Jul 15 02:36:23 2013 -0300

    media: s5p-g2d: Fix registration failure
    
    commit 8a09a4cc9bd9389dc6a3b5b2dd3a7d64d2fab7e1 upstream.
    
    Commit 1c1d86a1ea ("[media] v4l2: always require v4l2_dev,
    rename parent to dev_parent") expects v4l2_dev to be always set.
    It converted most of the drivers using the parent field of video_device
    to v4l2_dev field. G2D driver did not set the parent field. Hence it got
    left out. Without this patch we get the following boot warning and G2D
    driver fails to register the video device.
    WARNING: CPU: 0 PID: 1 at drivers/media/v4l2-core/v4l2-dev.c:775 __video_register_device+0xfc0/0x1028()
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.11.0-rc1-00001-g1c3e372-dirty #9
    [<c0014b7c>] (unwind_backtrace+0x0/0xf4) from [<c0011524>] (show_stack+0x10/0x14)
    [<c0011524>] (show_stack+0x10/0x14) from [<c041d7a8>] (dump_stack+0x7c/0xb0)
    [<c041d7a8>] (dump_stack+0x7c/0xb0) from [<c001dc94>] (warn_slowpath_common+0x6c/0x88)
    [<c001dc94>] (warn_slowpath_common+0x6c/0x88) from [<c001dd4c>] (warn_slowpath_null+0x1c/0x24)
    [<c001dd4c>] (warn_slowpath_null+0x1c/0x24) from [<c02cf8d4>] (__video_register_device+0xfc0/0x1028)
    [<c02cf8d4>] (__video_register_device+0xfc0/0x1028) from [<c0311a94>] (g2d_probe+0x1f8/0x398)
    [<c0311a94>] (g2d_probe+0x1f8/0x398) from [<c0247d54>] (platform_drv_probe+0x14/0x18)
    [<c0247d54>] (platform_drv_probe+0x14/0x18) from [<c0246b10>] (driver_probe_device+0x108/0x220)
    [<c0246b10>] (driver_probe_device+0x108/0x220) from [<c0246cf8>] (__driver_attach+0x8c/0x90)
    [<c0246cf8>] (__driver_attach+0x8c/0x90) from [<c0245050>] (bus_for_each_dev+0x60/0x94)
    [<c0245050>] (bus_for_each_dev+0x60/0x94) from [<c02462c8>] (bus_add_driver+0x1c0/0x24c)
    [<c02462c8>] (bus_add_driver+0x1c0/0x24c) from [<c02472d0>] (driver_register+0x78/0x140)
    [<c02472d0>] (driver_register+0x78/0x140) from [<c00087c8>] (do_one_initcall+0xf8/0x144)
    [<c00087c8>] (do_one_initcall+0xf8/0x144) from [<c05b29e8>] (kernel_init_freeable+0x13c/0x1d8)
    [<c05b29e8>] (kernel_init_freeable+0x13c/0x1d8) from [<c041a108>] (kernel_init+0xc/0x160)
    [<c041a108>] (kernel_init+0xc/0x160) from [<c000e2f8>] (ret_from_fork+0x14/0x3c)
    ---[ end trace 4e0ec028b0028e02 ]---
    s5p-g2d 12800000.g2d: Failed to register video device
    s5p-g2d: probe of 12800000.g2d failed with error -22
    
    Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
    Cc: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Kamil Debski <k.debski@samsung.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb6ecb39fe845251412e34e1d10bb6f4a3652f2f
Author: Sylwester Nawrocki <s.nawrocki@samsung.com>
Date:   Mon Jul 29 06:53:59 2013 -0300

    media: exynos4-is: Fix entity unregistration on error path
    
    commit d2b903b4427e417a73863cef36ad0796ea6b7404 upstream.
    
    This patch corrects media entities unregistration order to make sure
    the fimc.N.capture and fimc-lite video nodes are unregistered with
    fimc->lock mutex held. This prevents races between video device open()
    and defered probing and NULL pointer dereference in open() callback
    as follows:
    [   77.645000] Unable to handle kernel NULL pointer dereference at virtual address 00000290t
    [   77.655000] pgd = ee7a8000
    [   77.660000] [00000290] *pgd=6e13c831, *pte=00000000, *ppte=00000000
    [   77.665000] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
    [   77.670000] Modules linked in: s5p_fimc ipv6 exynos_fimc_is exynos_fimc_lite
     s5p_csis v4l2_mem2mem videobuf2_dma_contig videobuf2_memops exynos4_is_common videobuf2_core [last unloaded: s5p_fimc]
    [   77.685000] CPU: 0 PID : 2998 Comm: v4l_id Tainted: G        W   3.10.0-next-20130709-00039-g39f491b-dirty #1548
    [   77.695000] task: ee084000 ti: ee46e000 task.ti: ee46e000
    [   77.700000] PC is at __mutex_lock_slowpath+0x54/0x368
    [   77.705000] LR is at __mutex_lock_slowpath+0x24/0x368
    [   77.710000] pc : [<c038dc10>]    lr : [<c038dbe0>]    psr: 60000093
    [   77.710000] sp : ee46fd70  ip : 000008c8  fp : c054e34c
    [   77.725000] r10: ee084000  r9 : 00000000  r8 : ee439480
    [   77.730000] r7 : ee46e000  r6 : 60000013  r5 : 00000290  r4 : 0000028c
    [   77.735000] r3 : 00000000  r2 : 00000000  r1 : 20000093  r0 : 00000001
    [   77.740000] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment user
    [   77.750000] Control: 10c5387d  Table: 6e7a804a  DAC: 00000015
    [   77.755000] Process v4l_id (pid: 2998, stack limit = 0xee46e238)
    [   77.760000] Stack: (0xee46fd70 to 0xee470000)
        	       ...
    [   77.935000] [<c038dc10>] (__mutex_lock_slowpath+0x54/0x368) from [<c038df30>] (mutex_lock+0xc/0x24)
    [   77.945000] [<c038df30>] (mutex_lock+0xc/0x24) from [<bf03fa90>] (fimc_lite_open+0x12c/0x2bc [exynos_fimc_lite])
    [   77.955000] [<bf03fa90>] (fimc_lite_open+0x12c/0x2bc [exynos_fimc_lite]) from [<c02ab11c>] (v4l2_open+0xa0/0xe0)
    [   77.965000] [<c02ab11c>] (v4l2_open+0xa0/0xe0) from [<c00b1de4>] (chrdev_open+0x88/0x170)
    [   77.975000] [<c00b1de4>] (chrdev_open+0x88/0x170) from [<c00ac710>] (do_dentry_open.isra.14+0x1d8/0x258)
    [   77.985000] [<c00ac710>] (do_dentry_open.isra.14+0x1d8/0x258) from [<c00ac860>] (finish_open+0x20/0x38)
    [   77.995000] [<c00ac860>] (finish_open+0x20/0x38) from [<c00ba658>] (do_last.isra.43+0x538/0xb1c)
    [   78.000000] [<c00ba658>] (do_last.isra.43+0x538/0xb1c) from [<c00bacf0>] (path_openat+0xb4/0x5c4)
    [   78.010000] [<c00bacf0>] (path_openat+0xb4/0x5c4) from [<c00bb4b4>] (do_filp_open+0x2c/0x80)
    [   78.020000] [<c00bb4b4>] (do_filp_open+0x2c/0x80) from [<c00ad744>] (do_sys_open+0xf4/0x1a8)
    [   78.025000] [<c00ad744>] (do_sys_open+0xf4/0x1a8) from [<c000e320>] (ret_fast_syscall+0x0/0x30)
    [   78.035000] Code: 1a000093 e10f6000 f10c0080 e2845004 (e1953f9f)
    
    Reported-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1d9d780fcd8df7c70312fdfe43ecc802b99b2e5c
Author: Arun Kumar K <arun.kk@samsung.com>
Date:   Fri Jul 26 07:28:01 2013 -0300

    media: exynos-gsc: Register v4l2 device
    
    commit d0b1c31349969973204fad21a076aecf131cc5e4 upstream.
    
    Gscaler video device registration was happening without reference to
    a parent v4l2_dev causing probe to fail. The patch creates a parent
    v4l2 device and uses it for the gsc m2m video device registration.
    This fixes regression introduced with comit commit 1c1d86a1ea07506
    [media] v4l2: always require v4l2_dev, rename parent to dev_parent
    
    Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
    Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5f24e1842d5d65d479818b719adb1286d9925840
Author: Vasily Titskiy <qehgt0@gmail.com>
Date:   Fri Aug 30 18:25:04 2013 -0400

    HID: usbhid: quirk for N-Trig DuoSense Touch Screen
    
    commit 9e0bf92c223dabe0789714f8f85f6e26f8f9cda4 upstream.
    
    The DuoSense touchscreen device causes a 10 second timeout. This fix
    removes the delay.
    
    Signed-off-by: Vasily Titskiy <qehgt0@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8bb7aacefb408f829835f3692dd34fab9801d86d
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 28 22:32:01 2013 +0200

    HID: check for NULL field when setting values
    
    commit be67b68d52fa28b9b721c47bb42068f0c1214855 upstream.
    
    Defensively check that the field to be worked on is not NULL.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d0de24dd0e200c83382cd3fff8e8c06cb6dcef2b
Author: Manoj Chourasia <mchourasia@nvidia.com>
Date:   Mon Jul 22 15:33:13 2013 +0530

    HID: hidraw: correctly deallocate memory on device disconnect
    
    commit 212a871a3934beccf43431608c27ed2e05a476ec upstream.
    
    This changes puts the commit 4fe9f8e203f back in place
    with the fixes for slab corruption because of the commit.
    
    When a device is unplugged, wait for all processes that
    have opened the device to close before deallocating the device.
    
    This commit was solving kernel crash because of the corruption in
    rb tree of vmalloc. The rootcause was the device data pointer was
    geting excessed after the memory associated with hidraw was freed.
    
    The commit 4fe9f8e203f was buggy as it was also freeing the hidraw
    first and then calling delete operation on the list associated with
    that hidraw leading to slab corruption.
    
    Signed-off-by: Manoj Chourasia <mchourasia@nvidia.com>
    Tested-by: Peter Wu <lekensteyn@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 65a839f4b7fd73d2a84c2d404c94a162751e8edb
Author: Jiri Kosina <jkosina@suse.cz>
Date:   Mon Sep 2 13:43:00 2013 +0200

    HID: battery: don't do DMA from stack
    
    commit 6c2794a2984f4c17a58117a68703cc7640f01c5a upstream.
    
    Instead of using data from stack for DMA in hidinput_get_battery_property(),
    allocate the buffer dynamically.
    
    Reported-by: Richard Ryniker <ryniker@alum.mit.edu>
    Reported-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 69f2af2ddcfd0d9984e764bdf0953a8d9248755a
Author: Bruno Prémont <bonbons@linux-vserver.org>
Date:   Sat Aug 31 14:07:48 2013 +0200

    HID: picolcd: Prevent NULL pointer dereference on _remove()
    
    commit 1cde501bb4655e98fb832194beb88ac73be5a05d upstream.
    
    When picolcd is switched into bootloader mode (for FW flashing) make
    sure not to try to dereference NULL-pointers of feature-devices during
    unplug/unbind.
    
    This fixes following BUG:
      BUG: unable to handle kernel NULL pointer dereference at 00000298
      IP: [<f811f56b>] picolcd_exit_framebuffer+0x1b/0x80 [hid_picolcd]
      *pde = 00000000
      Oops: 0000 [#1]
      Modules linked in: hid_picolcd syscopyarea sysfillrect sysimgblt fb_sys_fops
      CPU: 0 PID: 15 Comm: khubd Not tainted 3.11.0-rc7-00002-g50d62d4 #2
      EIP: 0060:[<f811f56b>] EFLAGS: 00010292 CPU: 0
      EIP is at picolcd_exit_framebuffer+0x1b/0x80 [hid_picolcd]
      Call Trace:
       [<f811d1ab>] picolcd_remove+0xcb/0x120 [hid_picolcd]
       [<c1469b09>] hid_device_remove+0x59/0xc0
       [<c13464ca>] __device_release_driver+0x5a/0xb0
       [<c134653f>] device_release_driver+0x1f/0x30
       [<c134603d>] bus_remove_device+0x9d/0xd0
       [<c13439a5>] device_del+0xd5/0x150
       [<c14696a4>] hid_destroy_device+0x24/0x60
       [<c1474cbb>] usbhid_disconnect+0x1b/0x40
       ...
    
    Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7c91362f8c00c6fb75da374c749a024d6d3563fb
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 28 22:31:28 2013 +0200

    HID: ntrig: validate feature report details
    
    commit 875b4e3763dbc941f15143dd1a18d10bb0be303b upstream.
    
    A HID device could send a malicious feature report that would cause the
    ntrig HID driver to trigger a NULL dereference during initialization:
    
    [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001
    ...
    [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
    [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig]
    
    CVE-2013-2896
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Rafi Rubin <rafi@seas.upenn.edu>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0697d8057661db5032a55dd5b0d115262c883cb4
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 28 22:31:52 2013 +0200

    HID: picolcd_core: validate output report details
    
    commit 1e87a2456b0227ca4ab881e19a11bb99d164e792 upstream.
    
    A HID device could send a malicious output report that would cause the
    picolcd HID driver to trigger a NULL dereference during attr file writing.
    
    [jkosina@suse.cz: changed
    
    	report->maxfield < 1
    
    to
    
    	report->maxfield != 1
    
    as suggested by Bruno].
    
    CVE-2013-2899
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Bruno Prémont <bonbons@linux-vserver.org>
    Acked-by: Bruno Prémont <bonbons@linux-vserver.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 56085cec9ef90f5133effbcf71149d19ea2f5170
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 28 22:29:55 2013 +0200

    HID: validate HID report id size
    
    commit 43622021d2e2b82ea03d883926605bdd0525e1d1 upstream.
    
    The "Report ID" field of a HID report is used to build indexes of
    reports. The kernel's index of these is limited to 256 entries, so any
    malicious device that sets a Report ID greater than 255 will trigger
    memory corruption on the host:
    
    [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878
    [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b
    
    CVE-2013-2888
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a3957df756ccf3a46c24c8e2d4f8b26c932357b3
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 28 22:31:44 2013 +0200

    HID: sensor-hub: validate feature report details
    
    commit 9e8910257397372633e74b333ef891f20c800ee4 upstream.
    
    A HID device could send a malicious feature report that would cause the
    sensor-hub HID driver to read past the end of heap allocation, leaking
    kernel memory contents to the caller.
    
    CVE-2013-2898
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 469e7f80f25f79a4c11bed47027da81fcf30d045
Author: Stefan Kriwanek <dev@stefankriwanek.de>
Date:   Sun Aug 25 10:46:13 2013 +0200

    HID: Fix Speedlink VAD Cezanne support for some devices
    
    commit 06bb5219118fb098f4b0c7dcb484b28a52bf1c14 upstream.
    
    Some devices of the "Speedlink VAD Cezanne" model need more aggressive fixing
    than already done.
    
    I made sure through testing that this patch would not interfere with the proper
    working of a device that is bug-free. (The driver drops EV_REL events with
    abs(val) >= 256, which are not achievable even on the highest laser resolution
    hardware setting.)
    
    Signed-off-by: Stefan Kriwanek <mail@stefankriwanek.de>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 769eea247c41519e72675c72d0da8d95fd6b7c09
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 28 22:30:49 2013 +0200

    HID: pantherlord: validate output report details
    
    commit 412f30105ec6735224535791eed5cdc02888ecb4 upstream.
    
    A HID device could send a malicious output report that would cause the
    pantherlord HID driver to write beyond the output report allocation
    during initialization, causing a heap overflow:
    
    [  310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003
    ...
    [  315.980774] BUG kmalloc-192 (Tainted: G        W   ): Redzone overwritten
    
    CVE-2013-2892
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 32a190b73789d7d26846ca52d4d7eaacbf9ad6b7
Author: Henrik Rydberg <rydberg@euromail.se>
Date:   Sun Sep 1 15:31:44 2013 +0200

    HID: Correct the USB IDs for the new Macbook Air 6
    
    commit 8c89cc17b91992845bd635813cd162fe8dfcec6e upstream.
    
    A recent patch (9d9a04ee) added support for the new machine, but got
    the sequence of USB ids wrong. Reports from both Ian and Linus T show
    that the 0x0291 id is for ISO, not ANSI, which should have the missing
    number 0x0290. This patchs moves the three numbers accordingly, fixing
    the problem.
    
    Reported-and-tested-by: Ian Munsie <darkstarsword@gmail.com>
    Tested-by: Linus G Thiel <linus@hanssonlarsson.se>
    Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4bd13a76d67743f11e4f05c60340a333f54bb92b
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Tue Aug 13 12:33:28 2013 +0200

    ath9k: avoid accessing MRC registers on single-chain devices
    
    commit a1c781bb20ac1e03280e420abd47a99eb8bbdd3b upstream.
    
    They are not implemented, and accessing them might trigger errors
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8e4d4c932d23091953185297d40315e8ba76837f
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Sat Aug 10 15:59:15 2013 +0200

    ath9k: fix rx descriptor related race condition
    
    commit e96542e55a2aacf4bdeccfe2f17b77c4895b4df2 upstream.
    
    Similar to a race condition that exists in the tx path, the hardware
    might re-read the 'next' pointer of a descriptor of the last completed
    frame. This only affects non-EDMA (pre-AR93xx) devices.
    
    To deal with this race, defer clearing and re-linking a completed rx
    descriptor until the next one has been processed.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 31f34c79a7e8fb75c7bf7d61d56fc8eeff2a7886
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Tue Aug 6 14:18:10 2013 +0200

    ath9k: always clear ps filter bit on new assoc
    
    commit 026d5b07c03458f9c0ccd19c3850564a5409c325 upstream.
    
    Otherwise in some cases, EAPOL frames might be filtered during the
    initial handshake, causing delays and assoc failures.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d31a13c733d14114da0c7f6cf01396a6a2e1ccb2
Author: John W. Linville <linville@tuxdriver.com>
Date:   Fri Aug 9 13:36:21 2013 -0400

    brcmsmac: Fix WARNING caused by lack of calls to dma_mapping_error()
    
    commit 67d0cf50bd32b66eab709871714e55725ee30ce4 upstream.
    
    The driver fails to check the results of DMA mapping in twp places,
    which results in the following warning:
    
    [   28.078515] ------------[ cut here ]------------
    [   28.078529] WARNING: at lib/dma-debug.c:937 check_unmap+0x47e/0x930()
    [   28.078533] bcma-pci-bridge 0000:0e:00.0: DMA-API: device driver failed to check map error[device address=0x00000000b5d60d6c] [size=1876 bytes] [mapped as
     single]
    [   28.078536] Modules linked in: bnep bluetooth vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) ipv6 b43 brcmsmac rtl8192cu rtl8192c_common rtlwifi mac802
    11 brcmutil cfg80211 snd_hda_codec_conexant rng_core snd_hda_intel kvm_amd snd_hda_codec ssb kvm mmc_core snd_pcm snd_seq snd_timer snd_seq_device snd k8temp
     cordic joydev serio_raw hwmon sr_mod sg pcmcia pcmcia_core soundcore cdrom i2c_nforce2 i2c_core forcedeth bcma snd_page_alloc autofs4 ext4 jbd2 mbcache crc1
    6 scsi_dh_alua scsi_dh_hp_sw scsi_dh_rdac scsi_dh_emc scsi_dh ata_generic pata_amd
    [   28.078602] CPU: 1 PID: 2570 Comm: NetworkManager Tainted: G           O 3.10.0-rc7-wl+ #42
    [   28.078605] Hardware name: Hewlett-Packard HP Pavilion dv2700 Notebook PC/30D6, BIOS F.27 11/27/2008
    [   28.078607]  0000000000000009 ffff8800bbb03ad8 ffffffff8144f898 ffff8800bbb03b18
    [   28.078612]  ffffffff8103e1eb 0000000000000002 ffff8800b719f480 ffff8800b7b9c010
    [   28.078617]  ffffffff824204c0 ffffffff81754d57 0000000000000754 ffff8800bbb03b78
    [   28.078622] Call Trace:
    [   28.078624]  <IRQ>  [<ffffffff8144f898>] dump_stack+0x19/0x1b
    [   28.078634]  [<ffffffff8103e1eb>] warn_slowpath_common+0x6b/0xa0
    [   28.078638]  [<ffffffff8103e2c1>] warn_slowpath_fmt+0x41/0x50
    [   28.078650]  [<ffffffff8122d7ae>] check_unmap+0x47e/0x930
    [   28.078655]  [<ffffffff8122de4c>] debug_dma_unmap_page+0x5c/0x70
    [   28.078679]  [<ffffffffa04a808c>] dma64_getnextrxp+0x10c/0x190 [brcmsmac]
    [   28.078691]  [<ffffffffa04a9042>] dma_rx+0x62/0x240 [brcmsmac]
    [   28.078707]  [<ffffffffa0479101>] brcms_c_dpc+0x211/0x9d0 [brcmsmac]
    [   28.078717]  [<ffffffffa046d927>] ? brcms_dpc+0x27/0xf0 [brcmsmac]
    [   28.078731]  [<ffffffffa046d947>] brcms_dpc+0x47/0xf0 [brcmsmac]
    [   28.078736]  [<ffffffff81047dcc>] tasklet_action+0x6c/0xf0
    --snip--
    [   28.078974]  [<ffffffff813891bd>] SyS_sendmsg+0xd/0x20
    [   28.078979]  [<ffffffff81455c24>] tracesys+0xdd/0xe2
    [   28.078982] ---[ end trace 6164d1a08148e9c8 ]---
    [   28.078984] Mapped at:
    [   28.078985]  [<ffffffff8122c8fd>] debug_dma_map_page+0x9d/0x150
    [   28.078989]  [<ffffffffa04a9322>] dma_rxfill+0x102/0x3d0 [brcmsmac]
    [   28.079001]  [<ffffffffa047a13d>] brcms_c_init+0x87d/0x1100 [brcmsmac]
    [   28.079010]  [<ffffffffa046d851>] brcms_init+0x21/0x30 [brcmsmac]
    [   28.079018]  [<ffffffffa04786e0>] brcms_c_up+0x150/0x430 [brcmsmac]
    
    As the patch adds a new failure mechanism to dma_rxfill(). When I changed the
    comment at the start of the routine to add that information, I also polished
    the wording.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Brett Rudley <brudley@broadcom.com>
    Cc: Franky (Zhenhui) Lin <frankyl@broadcom.com>
    Cc: Hante Meuleman <meuleman@broadcom.com>
    Cc: brcm80211-dev-list@broadcom.com
    Acked-by: Arend van Spriel <arend@broadcom.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 263c784f2b66e18e34208a2f0e56df65c039d918
Author: Jan Kara <jack@suse.cz>
Date:   Sat Aug 17 10:07:17 2013 -0400

    ext4: simplify truncation code in ext4_setattr()
    
    commit 5208386c501276df18fee464e21d3c58d2d79517 upstream.
    
    Merge conditions in ext4_setattr() handling inode size changes, also
    move ext4_begin_ordered_truncate() call somewhat earlier because it
    simplifies error recovery in case of failure. Also add error handling in
    case i_disksize update fails.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 25a870d4dc930531f545aa1ae0cdca281d99f980
Author: Boris BREZILLON <b.brezillon@overkiz.com>
Date:   Tue Aug 27 15:19:21 2013 +0200

    pinctrl: at91: fix get_pullup/down function return
    
    commit 05d3534a321d7fe4524b3b83bb20318282f3ec2c upstream.
    
    In PIO_PUSR and PIO_PPDSR register if a given bit is set 1 this means the
    pullup/down for this pin (pin is represented as a bit position) is
    disabled.
    
    Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ff70cfafb27ead6e06ba3d2e2f648fee7137d9e8
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Sep 9 10:20:48 2013 +0200

    ALSA: hda - Add Toshiba Satellite C870 to MSI blacklist
    
    commit 83f72151352791836a1b9c1542614cc9bf71ac61 upstream.
    
    Toshiba Satellite C870 shows interrupt problems occasionally when
    certain mixer controls like "Mic Switch" is toggled.  This seems
    worked around by not using MSI.
    
    Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=833585
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 686edbc09d22070e8ff3edaf7a6f53f80b4517b0
Author: Anssi Hannula <anssi.hannula@iki.fi>
Date:   Sun Sep 1 14:36:47 2013 +0300

    ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA
    
    commit 18e391862cceaf43ddb8eb5cca05e1a83abdebaa upstream.
    
    hdmi_channel_allocation() tries to find a HDMI channel allocation that
    matches the number channels in the playback stream and contains only
    speakers that the HDMI sink has reported as available via EDID. If no
    such allocation is found, 0 (stereo audio) is used.
    
    Using CA 0 causes the audio causes the sink to discard everything except
    the first two channels (front left and front right).
    
    However, the sink may be capable of receiving more channels than it has
    speakers (and then perform downmix or discard the extra channels), in
    which case it is preferable to use a CA that contains extra channels
    than to use CA 0 which discards all the non-stereo channels.
    
    Additionally, it seems that HBR (HD) passthrough output does not work on
    Intel HDMI codecs when CA is set to 0 (possibly the codec zeroes
    channels not present in CA). This happens with all receivers that report
    a 5.1 speaker mask since a HBR stream is carried on 8 channels to the
    codec.
    
    Add a fallback in the CA selection so that the CA channel count at least
    matches the stream channel count, even if the stream contains channels
    not present in the sink speaker descriptor.
    
    Thanks to GrimGriefer at OpenELEC forums for discovering that changing
    the sink speaker mask allowed HBR output.
    
    Reported-by: GrimGriefer
    Reported-by: Ashecrow
    Reported-by: Frank Zafka <kafkaesque1978@gmail.com>
    Reported-by: Peter Frühberger <fritsch@xbmc.org>
    Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc780f7fc64b6ca11854cd5ac724b85fa1853495
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Sep 2 12:33:02 2013 +0200

    ALSA: hda - Re-setup HDMI pin and audio infoframe on stream switches
    
    commit b054087dbacee30a9dddaef2c9a96312146be04e upstream.
    
    When the transcoder:port mapping on Haswell HDMI/DP audio is changed
    during the stream playback, the sound gets lost.  Typically this
    problem is seen when the user switches the graphics mode from eDP+DP
    to DP-only configuration, where CRTC 1 is used for DP in the former
    while CRTC 0 is used for the latter.
    
    The graphics controller notifies the change via the normal ELD update
    procedure, so we get the intrinsic event.  For enabling the sound
    again, the HDMI audio driver needs to reset the pin and set up the
    audio infoframe again.
    
    This patch achieves it by:
    - keep the current status of channels and info frame setup in per_pin
      struct,
    - check the reconnection in the intrinsic event handler,
    - reset the pin and the re-invoke hdmi_setup_audio_infoframe()
      accordingly.
    
    The hdmi_setup_audio_infoframe() function has been changed, too, so
    that it can be invoked without passing the substream instance.
    
    The patch is mostly based on the work by Mengdong Lin.
    
    Cc: Mengdong Lin <mengdong.lin@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c18c0f9da9d97ea6710804971b981456a40cd01a
Author: Rik van Riel <riel@redhat.com>
Date:   Wed Jul 31 22:14:21 2013 -0400

    sched/x86: Optimize switch_mm() for multi-threaded workloads
    
    commit 8f898fbbe5ee5e20a77c4074472a1fd088dc47d1 upstream.
    
    Dick Fowles, Don Zickus and Joe Mario have been working on
    improvements to perf, and noticed heavy cache line contention
    on the mm_cpumask, running linpack on a 60 core / 120 thread
    system.
    
    The cause turned out to be unnecessary atomic accesses to the
    mm_cpumask. When in lazy TLB mode, the CPU is only removed from
    the mm_cpumask if there is a TLB flush event.
    
    Most of the time, no such TLB flush happens, and the kernel
    skips the TLB reload. It can also skip the atomic memory
    set & test.
    
    Here is a summary of Joe's test results:
    
     * The __schedule function dropped from 24% of all program cycles down
       to 5.5%.
    
     * The cacheline contention/hotness for accesses to that bitmask went
       from being the 1st/2nd hottest - down to the 84th hottest (0.3% of
       all shared misses which is now quite cold)
    
     * The average load latency for the bit-test-n-set instruction in
       __schedule dropped from 10k-15k cycles down to an average of 600 cycles.
    
     * The linpack program results improved from 133 GFlops to 144 GFlops.
       Peak GFlops rose from 133 to 153.
    
    Reported-by: Don Zickus <dzickus@redhat.com>
    Reported-by: Joe Mario <jmario@redhat.com>
    Tested-by: Joe Mario <jmario@redhat.com>
    Signed-off-by: Rik van Riel <riel@redhat.com>
    Reviewed-by: Paul Turner <pjt@google.com>
    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20130731221421.616d3d20@annuminas.surriel.com
    [ Made the comments consistent around the modified code. ]
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8ceb02f11454cf5102bfede5a6e112abe3990bb2
Author: Tony Luck <tony.luck@intel.com>
Date:   Wed Jul 24 13:54:20 2013 -0700

    x86/mce: Pay no attention to 'F' bit in MCACOD when parsing 'UC' errors
    
    commit 0ca06c0857aee11911f91621db14498496f2c2cd upstream.
    
    The 0x1000 bit of the MCACOD field of machine check MCi_STATUS
    registers is only defined for corrected errors (where it means
    that hardware may be filtering errors see SDM section 15.9.2.1).
    
    For uncorrected errors it may, or may not be set - so we should mask
    it out when checking for the architecturaly defined recoverable
    error signatures (see SDM 15.9.3.1 and 15.9.3.2)
    
    Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b50361f39ca5a27cdadbd53b7a7d46daa3cde151
Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Date:   Fri Aug 2 17:43:03 2013 -0500

    x86, amd_nb: Clarify F15h, model 30h GART and L3 support
    
    commit 7d64ac6422092adbbdaa279ab32f9d4c90a84558 upstream.
    
    F15h, models 0x30 and later don't have a GART. Note that. Also check
    CPUID leaf 0x80000006 for L3 prescence because there are models which
    don't sport an L3 cache.
    
    Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
    [ Boris: rewrite commit message, cleanup comments. ]
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e3db40138469c967ea0d323eeb8143f2d46a6aa
Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Date:   Fri Aug 2 17:43:02 2013 -0500

    pci_ids: Add PCI device ID functions 3 and 4 for newer F15h models.
    
    commit 6bdaa63c2957ac04e8d596880f732b79f9c06c3c upstream.
    
    Add PCI device IDs for AMD F15h, model 30h. They will be used in
    amd_nb.c and amd64_edac.c
    
    Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a168ad2687045d24e98b2525d1ee678c4f2a9a96
Author: Al Viro <viro@ZenIV.linux.org.uk>
Date:   Sun Sep 1 20:35:01 2013 +0100

    Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
    
    commit bd1c149aa9915b9abb6d83d0f01dfd2ace0680b5 upstream.
    
    For performance reasons, when SMAP is in use, SMAP is left open for an
    entire put_user_try { ... } put_user_catch(); block, however, calling
    __put_user() in the middle of that block will close SMAP as the
    STAC..CLAC constructs intentionally do not nest.
    
    Furthermore, using __put_user() rather than put_user_ex() here is bad
    for performance.
    
    Thus, introduce new [compat_]save_altstack_ex() helpers that replace
    __[compat_]save_altstack() for x86, being currently the only
    architecture which supports put_user_try { ... } put_user_catch().
    
    Reported-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Link: http://lkml.kernel.org/n/tip-es5p6y64if71k8p5u08agv9n@git.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1159cd1ded90b41db788f84bf94644a810dd322a
Author: H. Peter Anvin <hpa@linux.intel.com>
Date:   Fri Aug 30 15:43:03 2013 -0700

    x86, smap: Handle csum_partial_copy_*_user()
    
    commit 7263dda41b5a28ae6566fd126d9b06ada73dd721 upstream.
    
    Add SMAP annotations to csum_partial_copy_to/from_user().  These
    functions legitimately access user space and thus need to set the AC
    flag.
    
    TODO: add explicit checks that the side with the kernel space pointer
    really points into kernel space.
    
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Link: http://lkml.kernel.org/n/tip-2aps0u00eer658fd5xyanan7@git.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87d5b89a6a77f1e141d41c5447f6a4e83feb8d11
Author: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Date:   Mon Sep 9 18:09:12 2013 +0200

    ASoC: mc13783: add spi errata fix
    
    commit 9f6f0afbb9fdabf6dcac642dfec457f28981e3f8 upstream.
    
    The MC13783 Chip Errata, Rev. 4 says, that depending on SPI clock
    and main audio clock speed, the Audio Codec or Stereo DAC do sometimes
    not start when programmed to do so. This is due to an internal clock
    timing issue related to the loading of the SPI bits into the audio block.
    
    On an i.MX27 based system, this issue lead to switched audio channels under
    certain circumstances: RTC + Touch + Audio are used and loaded at startup.
    
    The mentioned workaround of writing registers 40 and 41 two times is implemented
    here.
    
    Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a1b8ce5ac7db6a7c29a4ca658d5aff5384bd073e
Author: Mike Dyer <mike.dyer@md-soft.co.uk>
Date:   Fri Aug 16 18:36:28 2013 +0100

    ASoC: wm8960: Fix PLL register writes
    
    commit 85fa532b6ef920b32598df86b194571a7059a77c upstream.
    
    Bit 9 of PLL2,3 and 4 is reserved as '0'. The 24bit fractional part
    should be split across each register in 8bit chunks.
    
    Signed-off-by: Mike Dyer <mike.dyer@md-soft.co.uk>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 215840ab83bfdd15deca0a8b0f140369afab7f52
Author: Tejun Heo <tj@kernel.org>
Date:   Fri Jun 28 10:34:48 2013 -0700

    rculist: list_first_or_null_rcu() should use list_entry_rcu()
    
    commit c34ac00caefbe49d40058ae7200bd58725cebb45 upstream.
    
    list_first_or_null() should test whether the list is empty and return
    pointer to the first entry if not in a RCU safe manner.  It's broken
    in several ways.
    
    * It compares __kernel @__ptr with __rcu @__next triggering the
      following sparse warning.
    
      net/core/dev.c:4331:17: error: incompatible types in comparison expression (different address spaces)
    
    * It doesn't perform rcu_dereference*() and computes the entry address
      using container_of() directly from the __rcu pointer which is
      inconsitent with other rculist interface.  As a result, all three
      in-kernel users - net/core/dev.c, macvlan, cgroup - are buggy.  They
      dereference the pointer w/o going through read barrier.
    
    * While ->next dereference passes through list_next_rcu(), the
      compiler is still free to fetch ->next more than once and thus
      nullify the "__ptr != __next" condition check.
    
    Fix it by making list_first_or_null_rcu() dereference ->next directly
    using ACCESS_ONCE() and then use list_entry_rcu() on it like other
    rculist accessors.
    
    v2: Paul pointed out that the compiler may fetch the pointer more than
        once nullifying the condition check.  ACCESS_ONCE() added on
        ->next dereference.
    
    v3: Restored () around macro param which was accidentally removed.
        Spotted by Paul.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Fengguang Wu <fengguang.wu@intel.com>
    Cc: Dipankar Sarma <dipankar@in.ibm.com>
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Li Zefan <lizefan@huawei.com>
    Cc: Patrick McHardy <kaber@trash.net>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Josh Triplett <josh@joshtriplett.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e083505592ec12ab57fd930e286607583ecc641c
Author: Lan Tianyu <tianyu.lan@intel.com>
Date:   Wed Jul 3 22:17:54 2013 +0800

    usb: don't check pm qos NO_POWER_OFF flag in usb_port_suspend()
    
    commit 98a4f1ff7bea8002ab79d6776e30d27932e88244 upstream.
    
    The pm qos NO_POWER_OFF flag is checked twice during usb device suspend
    to see if the usb port power off condition is met. This is redundant and
    also will prevent the port from being powered off if the NO_POWER_OFF
    flag is changed to 1 from 0 after the device was already suspended.
    
    More detail in the following link.
    	http://marc.info/?l=linux-usb&m=136543949130865&w=2
    
    This patch should be backported to kernels as old as 3.7, that
    contain the commit f7ac7787ad361e31a7972e2854ed8dc2eedfac3b "usb/acpi:
    Use ACPI methods to power off ports."
    
    Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b504b4a1e3484b4b40a25ff228432df55cb24758
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue Jul 30 15:39:02 2013 -0400

    USB: handle LPM errors during device suspend correctly
    
    commit aa5ceae24bf8dff1d6fe87c6c4b08e69c6d33550 upstream.
    
    The hub driver's usb_port_suspend() routine doesn't handle errors
    related to Link Power Management properly.  It always returns failure,
    it doesn't try to clean up the wakeup setting, (in the case of system
    sleep) it doesn't try to go ahead with the port suspend regardless,
    and it doesn't try to apply the new power-off mechanism.
    
    This patch fixes these problems.
    
    Note: Sarah fixed this patch to apply against 3.11, since the original
    commit (4fae6f0fa86f92e6bc7429371b1e177ad0aaac66 "USB: handle LPM errors
    during device suspend correctly") called usb_disable_remote_wakeup,
    which won't be added until 3.12.
    
    This patch should be backported to kernels as old as 3.5, that
    contain the commit 8306095fd2c1100e8244c09bf560f97aca5a311d "USB:
    Disable USB 3.0 LPM in critical sections.".  There will be merge
    conflicts, since LTM wasn't added until 3.6.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ef7198be2830f7d6951512724203326746756a86
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sat Aug 3 16:37:48 2013 +0200

    usb: config->desc.bLength may not exceed amount of data returned by the device
    
    commit b4f17a488ae2e09bfcf95c0e0b4219c246f1116a upstream.
    
    While reading the config parsing code I noticed this check is missing, without
    this check config->desc.wTotalLength can end up with a value larger then the
    dev->rawdescriptors length for the config, and when userspace then tries to
    get the rawdescriptors bad things may happen.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 94cc662c4bd9f8487d54262bbfc2307d9b1fc6b1
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Fri Aug 30 10:46:00 2013 -0400

    USB: fix build error when CONFIG_PM_SLEEP isn't enabled
    
    commit 9d8924297cd9c256c23c02abae40202563452453 upstream.
    
    This patch fixes a build error that occurs when CONFIG_PM is enabled
    and CONFIG_PM_SLEEP isn't:
    
    >> drivers/usb/host/ohci-pci.c:294:10: error: 'usb_hcd_pci_pm_ops' undeclared here (not in a function)
          .pm = &usb_hcd_pci_pm_ops
    
    Since the usb_hcd_pci_pm_ops structure is defined and used when
    CONFIG_PM is enabled, its declaration should not be protected by
    CONFIG_PM_SLEEP.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ddcc49fb2db6457861dbb0b99844b2a5b53b5c88
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Mon Aug 5 18:58:15 2013 -0700

    usb: Don't fail port power resume on device disconnect.
    
    commit d49dad3e11638f66be4e16573ffaa8c46a09e3b3 upstream.
    
    Userspace can tell the kernel to power off any USB port, including ones
    that are visible and connectible to users.  When an attached USB device
    goes into suspend, the port will be powered off if the
    pm_qos_no_port_poweroff file for its port is set to 0, the device does
    not have remote wakeup enabled, and the device is marked as persistent.
    
    If the user disconnects the USB device while the port is powered off,
    the current code does not handle that properly.  If you disconnect a
    device, and then run `lsusb -v -s` for the device, the device disconnect
    does not get handled by the USB core.  The runtime resume of the port
    fails, because hub_port_debounce_be_connected() returns -ETIMEDOUT.
    
    This means the port resume fails and khubd doesn't handle the USB device
    disconnect.  This leaves the device listed in lsusb, and the port's
    runtime_status will be permanently marked as "error".
    
    Fix this by ignoring the return value of hub_port_debounce_be_connected.
    Users can disconnect USB devices while the ports are powered off, and we
    must be able to handle that.
    
    This patch should be backported to kernels as old as 3.9, that
    contain the commit ad493e5e580546e6c3024b76a41535476da1546a "usb: add
    usb port auto power off mechanism"
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Cc: Lan Tianyu <tianyu.lan@intel.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ec7329b595fa4ef248e1ef9bbb6b49cee416ac7c
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date:   Mon Apr 29 22:18:01 2013 +0200

    usb: gadget: uvc: Fix error handling in uvc_queue_buffer()
    
    commit ebe864a6cb8e087ede047fa1fa6b6d06fcb9a9e4 upstream.
    
    The conversion to videobuf2 failed to check the return value of
    vb2_qbuf(). Fix it.
    
    Reported-by: Michael Grzeschik <mgr@pengutronix.de>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Tested-By: Michael Grzeschik <mgr@pengutronix.de>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c552e84c9bfd1b7feb5cd51e970b8110a31c4b89
Author: Oliver Neukum <oneukum@suse.de>
Date:   Tue Aug 6 14:22:59 2013 +0200

    USB: cdc-wdm: fix race between interrupt handler and tasklet
    
    commit 6dd433e6cf2475ce8abec1b467720858c24450eb upstream.
    
    Both could want to submit the same URB. Some checks of the flag
    intended to prevent that were missing.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b096d2211a059f6b22f089e3907e061409dbb6c5
Author: Daniel Mack <zonque@gmail.com>
Date:   Wed Aug 21 11:17:21 2013 +0200

    usb: ehci-mxc: check for pdata before dereferencing
    
    commit f375fc520d4df0cd9fcb570f33c103c6c0311f9e upstream.
    
    Commit 7e8d5cd93fac ("USB: Add EHCI support for MX27 and MX31 based
    boards") introduced code that could potentially lead to a NULL pointer
    dereference on driver removal.
    
    Fix this by checking for the value of pdata before dereferencing it.
    
    Signed-off-by: Daniel Mack <zonque@gmail.com>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7965eef853ccd9e30f1ee5d5df27a48b77a22a4b
Author: Johan Hovold <jhovold@gmail.com>
Date:   Mon Aug 19 13:05:45 2013 +0200

    USB: mos7720: fix big-endian control requests
    
    commit 3b716caf190ccc6f2a09387210e0e6a26c1d81a4 upstream.
    
    Fix endianess bugs in parallel-port code which caused corrupt
    control-requests to be issued on big-endian machines.
    
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3765762187edd49446c94884aa88c952cec41116
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Aug 16 10:16:59 2013 +0300

    USB: mos7720: use GFP_ATOMIC under spinlock
    
    commit d0bd9a41186e076ea543c397ad8a67a6cf604b55 upstream.
    
    The write_parport_reg_nonblock() function shouldn't sleep because it's
    called with spinlocks held.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3fa0d2f124263d0080f266c4c7bfc60153f29b91
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Date:   Mon Sep 2 13:30:25 2013 +0300

    ACPI / LPSS: don't crash if a device has no MMIO resources
    
    commit af65cfe9aeae03e0682bebdf4db94582d75562dd upstream.
    
    Intel LPSS devices that are enumerated from ACPI have both MMIO and IRQ
    resources returned in their _CRS method. However, Apple Macbook Air with
    Haswell has LPSS devices enumerated from PCI bus instead and _CRS method
    returns only an interrupt number (but the device has _HID set that causes
    the scan handler to match it).
    
    The current ACPI / LPSS code sets pdata->dev_desc only when MMIO resource
    is found for the device and in case of Macbook Air it is never found. That
    leads to a NULL pointer dereference in register_device_clock().
    
    Correct this by always setting the pdata->dev_desc.
    
    Reported-and-tested-by: Imre Kaloz <kaloz@openwrt.org>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f7e0ca347bcb540e2894833eccc33f9a65f4c822
Author: Marek Vasut <marex@denx.de>
Date:   Wed Jul 3 22:25:00 2013 +0100

    iio: mxs-lradc: Remove useless check in read_raw
    
    commit 2a961d0995cdadbfba565b28beada59c5ae7ebae upstream.
    
    The removed check in the read_raw implementation was always true,
    therefore remove it. This also fixes a bug, by closely inspecting
    the code, one can notice the iio_validate_scan_mask_onehot() will
    always return 1 and therefore the subsequent condition will always
    succeed, therefore making the mxs_lradc_read_raw() function always
    return -EINVAL; .
    
    Signed-off-by: Marek Vasut <marex@denx.de>
    Tested-by: Otavio Salvador <otavio@ossystems.com.br>
    Acked-by: Hector Palacios <hector.palacios@digi.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit abea758371f89b0cdb5f0b2dad24674e0148f2ee
Author: Marek Vasut <marex@denx.de>
Date:   Sat Jun 29 22:20:00 2013 +0100

    iio: mxs-lradc: Fix misuse of iio->trig
    
    commit e1b1fa66a0398f0b52ae79a2bdc7de87c205d074 upstream.
    
    The struct iio_dev .trig field is to be used only by the IIO core,
    the driver shall not fill this field. This fixes ugly crash when
    the driver is compiled as a module and the module is rmmod'd.
    
    Signed-off-by: Marek Vasut <marex@denx.de>
    Cc: Fabio Estevam <fabio.estevam@freescale.com>
    Cc: Jonathan Cameron <jic23@kernel.org>
    Cc: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6b844e7d601f709942cf15e5f5808953f5382402
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Aug 20 11:57:35 2013 +0300

    staging: comedi: dt282x: dt282x_ai_insn_read() always fails
    
    commit 2c4283ca7cdcc6605859c836fc536fcd83a4525f upstream.
    
    In dt282x_ai_insn_read() we call this macro like:
    wait_for(!mux_busy(), comedi_error(dev, "timeout\n"); return -ETIME;);
    Because the if statement doesn't have curly braces it means we always
    return -ETIME and the function never succeeds.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Ian Abbott <abbotti@mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 979ad974d2d7d1e98e21b582a11acdf0713914e6
Author: Andy Lutomirski <luto@amacapital.net>
Date:   Thu Aug 22 11:39:15 2013 -0700

    net: Check the correct namespace when spoofing pid over SCM_RIGHTS
    
    commit d661684cf6820331feae71146c35da83d794467e upstream.
    
    This is a security bug.
    
    The follow-up will fix nsproxy to discourage this type of issue from
    happening again.
    
    Signed-off-by: Andy Lutomirski <luto@amacapital.net>
    Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ac78ae630c039e548e2b8d41b6036f240386d770
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Mon Aug 26 15:01:40 2013 -0400

    USB: OHCI: Allow runtime PM without system sleep
    
    commit 69820e01aa756b8d228143d997f71523c1e97984 upstream.
    
    Since ohci-hcd supports runtime PM, the .pm field in its pci_driver
    structure should be protected by CONFIG_PM rather than
    CONFIG_PM_SLEEP.
    
    Without this change, OHCI controllers won't do runtime suspend if
    system suspend or hibernation isn't enabled.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b08d9b572074b3d0899349070bb61688ad6eb630
Author: Pavel Shilovsky <pshilovsky@samba.org>
Date:   Thu Sep 5 15:00:07 2013 +0400

    CIFS: Fix missing lease break
    
    commit 933d4b36576c951d0371bbfed05ec0135d516a6e upstream.
    
    If a server sends a lease break to a connection that doesn't have
    opens with a lease key specified in the server response, we can't
    find an open file to send an ack. Fix this by walking through
    all connections we have.
    
    Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit af66f40c4cb1d31b3b403d5f9a8471261a0cc945
Author: Pavel Shilovsky <pshilovsky@samba.org>
Date:   Thu Sep 5 15:04:04 2013 +0400

    CIFS: Fix a memory leak when a lease break comes
    
    commit 1a05096de82f3cd672c76389f63964952678506f upstream.
    
    This happens when we receive a lease break from a server, then
    find an appropriate lease key in opened files and schedule the
    oplock_break slow work. lw pointer isn't freed in this case.
    
    Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9b8ace6745bf4722ff9c48089f5b0723478a849b
Author: Jeff Layton <jlayton@redhat.com>
Date:   Thu Sep 5 08:38:10 2013 -0400

    cifs: ensure that srv_mutex is held when dealing with ssocket pointer
    
    commit 73e216a8a42c0ef3d08071705c946c38fdbe12b0 upstream.
    
    Oleksii reported that he had seen an oops similar to this:
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000088
    IP: [<ffffffff814dcc13>] sock_sendmsg+0x93/0xd0
    PGD 0
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in: ipt_MASQUERADE xt_REDIRECT xt_tcpudp iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x_tables carl9170 ath usb_storage f2fs nfnetlink_log nfnetlink md4 cifs dns_resolver hid_generic usbhid hid af_packet uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev rfcomm btusb bnep bluetooth qmi_wwan qcserial cdc_wdm usb_wwan usbnet usbserial mii snd_hda_codec_hdmi snd_hda_codec_realtek iwldvm mac80211 coretemp intel_powerclamp kvm_intel kvm iwlwifi snd_hda_intel cfg80211 snd_hda_codec xhci_hcd e1000e ehci_pci snd_hwdep sdhci_pci snd_pcm ehci_hcd microcode psmouse sdhci thinkpad_acpi mmc_core i2c_i801 pcspkr usbcore hwmon snd_timer snd_page_alloc snd ptp rfkill pps_core soundcore evdev usb_common vboxnetflt(O) vboxdrv(O)Oops#2 Part8
     loop tun binfmt_misc fuse msr acpi_call(O) ipv6 autofs4
    CPU: 0 PID: 21612 Comm: kworker/0:1 Tainted: G        W  O 3.10.1SIGN #28
    Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET92WW (2.52 ) 02/22/2013
    Workqueue: cifsiod cifs_echo_request [cifs]
    task: ffff8801e1f416f0 ti: ffff880148744000 task.ti: ffff880148744000
    RIP: 0010:[<ffffffff814dcc13>]  [<ffffffff814dcc13>] sock_sendmsg+0x93/0xd0
    RSP: 0000:ffff880148745b00  EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffff880148745b78 RCX: 0000000000000048
    RDX: ffff880148745c90 RSI: ffff880181864a00 RDI: ffff880148745b78
    RBP: ffff880148745c48 R08: 0000000000000048 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: ffff880181864a00
    R13: ffff880148745c90 R14: 0000000000000048 R15: 0000000000000048
    FS:  0000000000000000(0000) GS:ffff88021e200000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000088 CR3: 000000020c42c000 CR4: 00000000001407b0
    Oops#2 Part7
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Stack:
     ffff880148745b30 ffffffff810c4af9 0000004848745b30 ffff880181864a00
     ffffffff81ffbc40 0000000000000000 ffff880148745c90 ffffffff810a5aab
     ffff880148745bc0 ffffffff81ffbc40 ffff880148745b60 ffffffff815a9fb8
    Call Trace:
     [<ffffffff810c4af9>] ? finish_task_switch+0x49/0xe0
     [<ffffffff810a5aab>] ? lock_timer_base.isra.36+0x2b/0x50
     [<ffffffff815a9fb8>] ? _raw_spin_unlock_irqrestore+0x18/0x40
     [<ffffffff810a673f>] ? try_to_del_timer_sync+0x4f/0x70
     [<ffffffff815aa38f>] ? _raw_spin_unlock_bh+0x1f/0x30
     [<ffffffff814dcc87>] kernel_sendmsg+0x37/0x50
     [<ffffffffa081a0e0>] smb_send_kvec+0xd0/0x1d0 [cifs]
     [<ffffffffa081a263>] smb_send_rqst+0x83/0x1f0 [cifs]
     [<ffffffffa081ab6c>] cifs_call_async+0xec/0x1b0 [cifs]
     [<ffffffffa08245e0>] ? free_rsp_buf+0x40/0x40 [cifs]
    Oops#2 Part6
     [<ffffffffa082606e>] SMB2_echo+0x8e/0xb0 [cifs]
     [<ffffffffa0808789>] cifs_echo_request+0x79/0xa0 [cifs]
     [<ffffffff810b45b3>] process_one_work+0x173/0x4a0
     [<ffffffff810b52a1>] worker_thread+0x121/0x3a0
     [<ffffffff810b5180>] ? manage_workers.isra.27+0x2b0/0x2b0
     [<ffffffff810bae00>] kthread+0xc0/0xd0
     [<ffffffff810bad40>] ? kthread_create_on_node+0x120/0x120
     [<ffffffff815b199c>] ret_from_fork+0x7c/0xb0
     [<ffffffff810bad40>] ? kthread_create_on_node+0x120/0x120
    Code: 84 24 b8 00 00 00 4c 89 f1 4c 89 ea 4c 89 e6 48 89 df 4c 89 60 18 48 c7 40 28 00 00 00 00 4c 89 68 30 44 89 70 14 49 8b 44 24 28 <ff> 90 88 00 00 00 3d ef fd ff ff 74 10 48 8d 65 e0 5b 41 5c 41
     RIP  [<ffffffff814dcc13>] sock_sendmsg+0x93/0xd0
     RSP <ffff880148745b00>
    CR2: 0000000000000088
    
    The client was in the middle of trying to send a frame when the
    server->ssocket pointer got zeroed out. In most places, that we access
    that pointer, the srv_mutex is held. There's only one spot that I see
    that the server->ssocket pointer gets set and the srv_mutex isn't held.
    This patch corrects that.
    
    The upstream bug report was here:
    
        https://bugzilla.kernel.org/show_bug.cgi?id=60557
    
    Reported-by: Oleksii Shevchuk <alxchk@gmail.com>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d5cc290b92837eb9844579e297e969cc7a804da0
Author: Oleg Nesterov <oleg@redhat.com>
Date:   Sun Sep 15 17:50:26 2013 +0200

    tty: disassociate_ctty() sends the extra SIGCONT
    
    commit 03e1261778cca782d41a3d8e3945ca88cf93e01e upstream.
    
    Starting from v3.10 (probably commit f91e2590410b: "tty: Signal
    foreground group processes in hangup") disassociate_ctty() sends SIGCONT
    if tty && on_exit.  This breaks LSB test-suite, in particular test8 in
    _exit.c and test40 in sigcon5.c.
    
    Put the "!on_exit" check back to restore the old behaviour.
    
    Review by Peter Hurley:
     "Yes, this regression was introduced by me in that commit.  The effect
      of the regression is that ptys will receive a SIGCONT when, in similar
      circumstances, ttys would not.
    
      The fact that two test vectors accidentally tripped over this
      regression suggests that some other apps may as well.
    
      Thanks for catching this"
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Reported-by: Karel Srot <ksrot@redhat.com>
    Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 734b2fe93f4bcce29f7d971a106ea94e263e8676
Author: Felipe Balbi <balbi@ti.com>
Date:   Thu Jun 27 10:00:18 2013 +0300

    usb: dwc3: gadget: don't request IRQs in atomic
    
    commit b0d7ffd44ba9cd2dfbf299674418193a5f9ed21a upstream.
    
    We cannot request an IRQ with spinlocks held
    as that would trigger a sleeping inside
    spinlock warning.
    
    Reported-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 54d8c40da1d8763cfa5699516626f8ed37db3eed
Author: Shawn Nematbakhsh <shawnn@chromium.org>
Date:   Mon Aug 19 10:36:13 2013 -0700

    usb: xhci: Disable runtime PM suspend for quirky controllers
    
    commit c8476fb855434c733099079063990e5bfa7ecad6 upstream.
    
    If a USB controller with XHCI_RESET_ON_RESUME goes to runtime suspend,
    a reset will be performed upon runtime resume. Any previously suspended
    devices attached to the controller will be re-enumerated at this time.
    This will cause problems, for example, if an open system call on the
    device triggered the resume (the open call will fail).
    
    Note that this change is only relevant when persist_enabled is not set
    for USB devices.
    
    This patch should be backported to kernels as old as 3.0, that
    contain the commit c877b3b2ad5cb9d4fe523c5496185cc328ff3ae9 "xhci: Add
    reset on resume quirk for asrock p67 host".
    
    Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a6025b95e6d05833f19eaca2f4e181bf77a854ed
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Thu Aug 8 10:08:34 2013 -0700

    xhci-plat: Don't enable legacy PCI interrupts.
    
    commit 52fb61250a7a132b0cfb9f4a1060a1f3c49e5a25 upstream.
    
    The xHCI platform driver calls into usb_add_hcd to register the irq for
    its platform device.  It does not want the xHCI generic driver to
    register an interrupt for it at all.  The original code did that by
    setting the XHCI_BROKEN_MSI quirk, which tells the xHCI driver to not
    enable MSI or MSI-X for a PCI host.
    
    Unfortunately, if CONFIG_PCI is enabled, and CONFIG_USB_DW3 is enabled,
    the xHCI generic driver will attempt to register a legacy PCI interrupt
    for the xHCI platform device in xhci_try_enable_msi().  This will result
    in a bogus irq being registered, since the underlying device is a
    platform_device, not a pci_device, and thus the pci_device->irq pointer
    will be bogus.
    
    Add a new quirk, XHCI_PLAT, so that the xHCI generic driver can
    distinguish between a PCI device that can't handle MSI or MSI-X, and a
    platform device that should not have its interrupts touched at all.
    This quirk may be useful in the future, in case other corner cases like
    this arise.
    
    This patch should be backported to kernels as old as 3.9, that
    contain the commit 00eed9c814cb8f281be6f0f5d8f45025dc0a97eb "USB: xhci:
    correctly enable interrupts".
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reported-by: Yu Y Wang <yu.y.wang@intel.com>
    Tested-by: Yu Y Wang <yu.y.wang@intel.com>
    Reviewed-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit faa94b0365522a939cd10d05d526a355a7eeaadf
Author: Paul Mackerras <paulus@samba.org>
Date:   Tue Aug 6 14:13:44 2013 +1000

    KVM: PPC: Book3S: Fix compile error in XICS emulation
    
    commit 7bfa9ad55d691f2b836b576769b11eca2cf50816 upstream.
    
    Commit 8e44ddc3f3 ("powerpc/kvm/book3s: Add support for H_IPOLL and
    H_XIRR_X in XICS emulation") added a call to get_tb() but didn't
    include the header that defines it, and on some configs this means
    book3s_xics.c fails to compile:
    
    arch/powerpc/kvm/book3s_xics.c: In function ‘kvmppc_xics_hcall’:
    arch/powerpc/kvm/book3s_xics.c:812:3: error: implicit declaration of function ‘get_tb’ [-Werror=implicit-function-declaration]
    
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d9a004a0a3bb56b62f36a460ec61c76112dd8442
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Thu Aug 22 17:47:50 2013 +0100

    ARM: PCI: versatile: Fix SMAP register offsets
    
    commit 99f2b130370b904ca5300079243fdbcafa2c708b upstream.
    
    The SMAP register offsets in the versatile PCI controller code were
    all off by four.  (This didn't have any observable bad effects
    because on this board PHYS_OFFSET is zero, and (a) writing zero to
    the flags register at offset 0x10 has no effect and (b) the reset
    value of the SMAP register is zero anyway, so failing to write SMAP2
    didn't matter.)
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Kevin Hilman <khilman@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d6e770beb3489067fc68e0d468c99f0e44a42052
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Thu Aug 22 17:47:49 2013 +0100

    ARM: PCI: versatile: Fix PCI I/O
    
    commit 829f9fedee30cde2ec15e88d57ec11074db791e2 upstream.
    
    The versatile PCI controller code was confused between the
    PCI I/O window (at 0x43000000) and the first PCI memory
    window (at 0x44000000). Pass the correct base address to
    pci_remap_io() so that PCI I/O accesses work.
    
    Since the first PCI memory window isn't used at all (it's
    an odd size), rename the associated variables and labels
    so that it's clear that it isn't related to the I/O window.
    
    This has been tested and confirmed to fix PCI I/O accesses
    both on physical PB926+PCI backplane hardware and on QEMU.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Kevin Hilman <khilman@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3e4d5c23583779763a3393ba1bcc2ad4ba481fa2
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Thu Aug 22 17:47:48 2013 +0100

    ARM: PCI: versatile: Fix map_irq function to match hardware
    
    commit f9b71fef12f0d6ac5c7051cfd87f7700f78c56b6 upstream.
    
    The PCI controller code for the Versatile board has never had the
    correct IRQ mapping for hardware.  For many years it had an odd
    mapping ("all interrupts are int 27") which aligned with the
    equivalent bug in QEMU.  However as of commit 1bc39ac5dab265
    the mapping changed and no longer matched either hardware or QEMU,
    with the result that any PCI card beyond the first in QEMU would
    not have functioning interrupts; for example a boot with a SCSI
    controller would time out as follows:
    
     ------------
     sym0: <895a> rev 0x0 at pci 0000:00:0d.0 irq 92
     sym0: SCSI BUS has been reset.
     scsi0 : sym-2.2.3
     [...]
     scsi 0:0:0:0: ABORT operation started
     scsi 0:0:0:0: ABORT operation timed-out.
     scsi 0:0:0:0: DEVICE RESET operation started
     scsi 0:0:0:0: DEVICE RESET operation timed-out.
     scsi 0:0:0:0: BUS RESET operation started
     scsi 0:0:0:0: BUS RESET operation timed-out.
     scsi 0:0:0:0: HOST RESET operation started
     sym0: SCSI BUS has been reset
     ------------
    
    Fix the mapping so that it matches real hardware (checked against the
    schematics for PB926 and backplane, and tested against the hardware).
    This allows PCI cards using interrupts to work on hardware for the
    first time; this change will also work with QEMU 1.5 or later, where
    the equivalent bugs in the modelling of the hardware have been fixed.
    
    Although QEMU will attempt to autodetect whether the kernel is
    expecting the long-standing "everything is int 27" mapping or the one
    hardware has, for certainty we force it into "definitely behave like
    hardware mode"; this will avoid unexpected surprises later if we
    implement sparse irqs. This is harmless on hardware.
    
    Thanks to Paul Gortmaker for bisecting the problem and finding an initial
    solution, to Russell King for providing the correct interrupt mapping,
    and to Guenter Roeck for providing an initial version of this patch
    and prodding me into relocating the hardware and retesting everything.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Kevin Hilman <khilman@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0fe9a0dc92a64c088e76fcd3d35b2ba36b4d7f3c
Author: Will Deacon <will.deacon@arm.com>
Date:   Tue Aug 20 11:47:42 2013 +0100

    arm64: perf: fix ARMv8 EVTYPE_MASK to include NSH bit
    
    commit 178cd9ce377232518ec17ff2ecab2e80fa60784c upstream.
    
    This is a port of f2fe09b055e2 ("ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK
    to include NSH bit") to arm64, which fixes the broken evtype mask to
    include the NSH bit, allowing profiling at EL2.
    
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1f96d83b38937294584ede9473c2b2961528f287
Author: Will Deacon <will.deacon@arm.com>
Date:   Tue Aug 20 11:47:41 2013 +0100

    arm64: perf: fix group validation when using enable_on_exec
    
    commit 8455e6ec70f33b0e8c3ffd47067e00481f09f454 upstream.
    
    This is a port of cb2d8b342aa0 ("ARM: 7698/1: perf: fix group validation
    when using enable_on_exec") to arm64, which fixes the event validation
    checking so that events in the OFF state are still considered when
    enable_on_exec is true.
    
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 008fe511c11fa20d1060c9e2ddb9c829ac44e0a7
Author: Christoffer Dall <christoffer.dall@linaro.org>
Date:   Mon Aug 5 18:08:41 2013 -0700

    ARM: KVM: Fix 64-bit coprocessor handling
    
    commit 240e99cbd00aa541b572480e3ea7ecb0d480bc79 upstream.
    
    The PAR was exported as CRn == 7 and CRm == 0, but in fact the primary
    coprocessor register number was determined by CRm for 64-bit coprocessor
    registers as the user space API was modeled after the coprocessor
    access instructions (see the ARM ARM rev. C - B3-1445).
    
    However, just changing the CRn to CRm breaks the sorting check when
    booting the kernel, because the internal kernel logic always treats CRn
    as the primary register number, and it makes the table sorting
    impossible to understand for humans.
    
    Alternatively we could change the logic to always have CRn == CRm, but
    that becomes unclear in the number of ways we do look up of a coprocessor
    register.  We could also have a separate 64-bit table but that feels
    somewhat over-engineered.  Instead, keep CRn the primary representation
    of the primary coproc. register number in-kernel and always export the
    primary number as CRm as per the existing user space ABI.
    
    Note: The TTBR registers just magically worked because they happened to
    follow the CRn(0) regs and were considered CRn(0) in the in-kernel
    representation.
    
    Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
    Signed-off-by: Kim Phillips <kim.phillips@linaro.org>
    Cc: Gleb Natapov <gleb@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: Jonghwan Choi <jhbird.choi@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 464de2dc1539e6355fad1342ad106f08f7642edd
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Jun 10 16:48:36 2013 +0200

    ARM: dts: add missing cpu #address-cell values
    
    commit 8b2efa896cc618e055e90c9d9600e7c8388ae3b7 upstream.
    
    A recent series has added CPU numbers to a lot of dts files,
    but unfortunately in a few cases the #address-cells
    and #size-cells values are missing, which causes build warnings.
    This adds the missing ones for sunxi and sama5 that I found
    through build testing.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
    Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ed58fb796257c770cd9f1de07b49ed9a054f93eb
Author: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Date:   Thu Apr 18 18:41:57 2013 +0100

    ARM: dts: sunxi: cpus/cpu nodes dts updates
    
    commit 14c44aa541744d4cf06db89c27a1e6df293c64d5 upstream.
    
    This patch updates the in-kernel dts files according to the latest cpus
    and cpu bindings updates for ARM.
    
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0fc9593a11f12e1c8cbe28cecf7a0ef3b2797822
Author: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Date:   Thu Apr 18 18:31:35 2013 +0100

    ARM: dts: at91: cpus/cpu node dts updates
    
    commit e757a6ee3e6fc1583b12b156588e8583f798d35c upstream.
    
    This patch updates the in-kernel dts files according to the latest cpus
    and cpu bindings updates for ARM.
    
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 736899ab702dc85345217e124686b661a56ecb6a
Author: Colin Cross <ccross@android.com>
Date:   Fri Aug 23 12:45:12 2013 -0700

    cpuidle: coupled: fix race condition between pokes and safe state
    
    commit 9e19b73c30a5fa42a53583a1f7817dd857126156 upstream.
    
    The coupled cpuidle waiting loop clears pending pokes before
    entering the safe state.  If a poke arrives just before the
    pokes are cleared, but after the while loop condition checks,
    the poke will be lost and the cpu will stay in the safe state
    until another interrupt arrives.  This may cause the cpu that
    sent the poke to spin in the ready loop with interrupts off
    until another cpu receives an interrupt, and if no other cpus
    have interrupts routed to them it can spin forever.
    
    Change the return value of cpuidle_coupled_clear_pokes to
    return if a poke was cleared, and move the need_resched()
    checks into the callers.  In the waiting loop, if
    a poke was cleared restart the loop to repeat the while
    condition checks.
    
    Reported-by: Neil Zhang <zhangwm@marvell.com>
    Signed-off-by: Colin Cross <ccross@android.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 61704f036693ca93a7d916899288eba9a98b006f
Author: Colin Cross <ccross@android.com>
Date:   Wed Aug 28 18:41:47 2013 -0700

    cpuidle: coupled: abort idle if pokes are pending
    
    commit f983827bcb9d2c34c4d8935861a1e9128aec2baf upstream.
    
    Joseph Lo <josephl@nvidia.com> reported a lockup on Tegra20 caused
    by a race condition in coupled cpuidle.  When two or more cpus
    enter idle at the same time, the first cpus to arrive may go to the
    ready loop without processing pending pokes from the last cpu to
    arrive.
    
    This patch adds a check for pending pokes once all cpus have been
    synchronized in the ready loop and resets the coupled state and
    retries if any cpus failed to handle their pending poke.
    
    Retrying on all cpus may trigger the same issue again, so this patch
    also adds a check to ensure that each cpu has received at least one
    poke between when it enters the waiting loop and when it moves on to
    the ready loop.
    
    Reported-and-tested-by: Joseph Lo <josephl@nvidia.com>
    Tested-by: Stephen Warren <swarren@nvidia.com>
    Signed-off-by: Colin Cross <ccross@android.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 863008a9b50259d3a4b1c9a387804f9509413de4
Author: Rob Herring <rob.herring@calxeda.com>
Date:   Thu Aug 29 07:43:52 2013 -0500

    ARM: xen: only set pm function ptrs for Xen guests
    
    commit 9dd4b2944c46e1fdbd0a516c221c8a2670cbf005 upstream.
    
    xen_pm_init was unconditionally setting pm_power_off and arm_pm_restart
    function pointers. This breaks multi-platform kernels. Make this
    conditional on running as a Xen guest and make it a late_initcall to
    ensure it is setup after platform code for Dom0.
    
    Signed-off-by: Rob Herring <rob.herring@calxeda.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93326685f124a1b2a71843b1c41328be13f97bbb
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Wed Jul 31 17:00:42 2013 +0200

    xen-gnt: prevent adding duplicate gnt callbacks
    
    commit 5f338d9001094a56cf87bd8a280b4e7ff953bb59 upstream.
    
    With the current implementation, the callback in the tail of the list
    can be added twice, because the check done in
    gnttab_request_free_callback is bogus, callback->next can be NULL if
    it is the last callback in the list. If we add the same callback twice
    we end up with an infinite loop, were callback == callback->next.
    
    Replace this check with a proper one that iterates over the list to
    see if the callback has already been added.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: David Vrabel <david.vrabel@citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Reviewed-by: David Vrabel <david.vrabel@citrix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d08bfff9ef39c029befa68b2641ad2f7a2c894b6
Author: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Date:   Fri Sep 6 00:25:06 2013 +0530

    powerpc: Default arch idle could cede processor on pseries
    
    commit 363edbe2614aa90df706c0f19ccfa2a6c06af0be upstream.
    
    When adding cpuidle support to pSeries, we introduced two
    regressions:
    
      - The new cpuidle backend driver only works under hypervisors
        supporting the "SLPLAR" option, which isn't the case of the
        old POWER4 hypervisor and the HV "light" used on js2x blades
    
      - The cpuidle driver registers fairly late, meaning that for
        a significant portion of the boot process, we end up having
        all threads spinning. This slows down the boot process and
        increases the overall resource usage if the hypervisor has
        shared processors.
    
    This fixes both by implementing a "default" idle that will cede
    to the hypervisor when possible, in a very simple way without
    all the bells and whisles of cpuidle.
    
    Reported-by: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
    Acked-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d8ba750f9a2feb07bb6f0448807907b674ca4525
Author: Anton Blanchard <anton@samba.org>
Date:   Wed Aug 7 02:01:19 2013 +1000

    powerpc: Handle unaligned ldbrx/stdbrx
    
    commit 230aef7a6a23b6166bd4003bfff5af23c9bd381f upstream.
    
    Normally when we haven't implemented an alignment handler for
    a load or store instruction the process will be terminated.
    
    The alignment handler uses the DSISR (or a pseudo one) to locate
    the right handler. Unfortunately ldbrx and stdbrx overlap lfs and
    stfs so we incorrectly think ldbrx is an lfs and stdbrx is an
    stfs.
    
    This bug is particularly nasty - instead of terminating the
    process we apply an incorrect fixup and continue on.
    
    With more and more overlapping instructions we should stop
    creating a pseudo DSISR and index using the instruction directly,
    but for now add a special case to catch ldbrx/stdbrx.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 139653e11c9eec4d5eff614e688d6bec99b78d7f
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Sun Sep 8 14:33:50 2013 +1000

    crypto: api - Fix race condition in larval lookup
    
    commit 77dbd7a95e4a4f15264c333a9e9ab97ee27dc2aa upstream.
    
    crypto_larval_lookup should only return a larval if it created one.
    Any larval created by another entity must be processed through
    crypto_larval_wait before being returned.
    
    Otherwise this will lead to a larval being killed twice, which
    will most likely lead to a crash.
    
    Reported-by: Kees Cook <keescook@chromium.org>
    Tested-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 13915e203f991e77eb5a52bcd4c61e5f155e3bbc
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Fri Sep 6 11:49:51 2013 -0400

    SCSI: sd: Fix potential out-of-bounds access
    
    commit 984f1733fcee3fbc78d47e26c5096921c5d9946a upstream.
    
    This patch fixes an out-of-bounds error in sd_read_cache_type(), found
    by Google's AddressSanitizer tool.  When the loop ends, we know that
    "offset" lies beyond the end of the data in the buffer, so no Caching
    mode page was found.  In theory it may be present, but the buffer size
    is limited to 512 bytes.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e7d63334e76b3cbb0ef599fef1643701fdb28aad
Author: Richard Weinberger <richard@nod.at>
Date:   Mon Aug 19 08:48:12 2013 +0200

    UBI: Fix PEB leak in wear_leveling_worker()
    
    commit 5ef4414f4bc26a19cfd5cd11aee9697a863e4d51 upstream.
    
    get_peb_for_wl() removes the PEB from the free list.
    If the WL subsystem detects that no wear leveling is needed
    it cancels the operation and drops the gained PEB.
    In this case we have to put the PEB back into the free list.
    
    This issue was introduced with commit ed4b7021c
    (UBI: remove PEB from free tree in get_peb_for_wl()).
    
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e62b0f0196a7ea462d04e320cdd727aed51dd60f
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue Sep 3 15:00:11 2013 -0700

    SCSI: Allow MPT Fusion SAS 3.0 driver to be built into the kernel
    
    commit 9807b4d94911be4e4efb9a08481b24292a9edf8a upstream.
    
    Right now the Makefile for the mpt3sas driver does not even allow the
    driver to be built into the kernel.  So fix that up, as there doesn't
    seem to be any obvious reason why this shouldn't be done.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Acked-by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>