commit 22da7ca81a3aad1af021c770b578acad86d63681
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Jun 26 07:13:24 2017 +0200

    Linux 4.4.74

commit 1f2284fac2180d7a9442c796d9755e3ce7ab0bd9
Author: Hugh Dickins <hughd@google.com>
Date:   Tue Jun 20 02:10:44 2017 -0700

    mm: fix new crash in unmapped_area_topdown()
    
    commit f4cb767d76cf7ee72f97dd76f6cfa6c76a5edc89 upstream.
    
    Trinity gets kernel BUG at mm/mmap.c:1963! in about 3 minutes of
    mmap testing.  That's the VM_BUG_ON(gap_end < gap_start) at the
    end of unmapped_area_topdown().  Linus points out how MAP_FIXED
    (which does not have to respect our stack guard gap intentions)
    could result in gap_end below gap_start there.  Fix that, and
    the similar case in its alternative, unmapped_area().
    
    Fixes: 1be7107fbe18 ("mm: larger stack guard gap, between vmas")
    Reported-by: Dave Jones <davej@codemonkey.org.uk>
    Debugged-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f41512c6acb71c63cf4e3bd50934365ae2a23891
Author: Helge Deller <deller@gmx.de>
Date:   Mon Jun 19 17:34:05 2017 +0200

    Allow stack to grow up to address space limit
    
    commit bd726c90b6b8ce87602208701b208a208e6d5600 upstream.
    
    Fix expand_upwards() on architectures with an upward-growing stack (parisc,
    metag and partly IA-64) to allow the stack to reliably grow exactly up to
    the address space limit given by TASK_SIZE.
    
    Signed-off-by: Helge Deller <deller@gmx.de>
    Acked-by: Hugh Dickins <hughd@google.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4b359430674caa2c98d0049a6941f157d2a33741
Author: Hugh Dickins <hughd@google.com>
Date:   Mon Jun 19 04:03:24 2017 -0700

    mm: larger stack guard gap, between vmas
    
    commit 1be7107fbe18eed3e319a6c3e83c78254b693acb upstream.
    
    Stack guard page is a useful feature to reduce a risk of stack smashing
    into a different mapping. We have been using a single page gap which
    is sufficient to prevent having stack adjacent to a different mapping.
    But this seems to be insufficient in the light of the stack usage in
    userspace. E.g. glibc uses as large as 64kB alloca() in many commonly
    used functions. Others use constructs liks gid_t buffer[NGROUPS_MAX]
    which is 256kB or stack strings with MAX_ARG_STRLEN.
    
    This will become especially dangerous for suid binaries and the default
    no limit for the stack size limit because those applications can be
    tricked to consume a large portion of the stack and a single glibc call
    could jump over the guard page. These attacks are not theoretical,
    unfortunatelly.
    
    Make those attacks less probable by increasing the stack guard gap
    to 1MB (on systems with 4k pages; but make it depend on the page size
    because systems with larger base pages might cap stack allocations in
    the PAGE_SIZE units) which should cover larger alloca() and VLA stack
    allocations. It is obviously not a full fix because the problem is
    somehow inherent, but it should reduce attack space a lot.
    
    One could argue that the gap size should be configurable from userspace,
    but that can be done later when somebody finds that the new 1MB is wrong
    for some special case applications.  For now, add a kernel command line
    option (stack_guard_gap) to specify the stack gap size (in page units).
    
    Implementation wise, first delete all the old code for stack guard page:
    because although we could get away with accounting one extra page in a
    stack vma, accounting a larger gap can break userspace - case in point,
    a program run with "ulimit -S -v 20000" failed when the 1MB gap was
    counted for RLIMIT_AS; similar problems could come with RLIMIT_MLOCK
    and strict non-overcommit mode.
    
    Instead of keeping gap inside the stack vma, maintain the stack guard
    gap as a gap between vmas: using vm_start_gap() in place of vm_start
    (or vm_end_gap() in place of vm_end if VM_GROWSUP) in just those few
    places which need to respect the gap - mainly arch_get_unmapped_area(),
    and and the vma tree's subtree_gap support for that.
    
    Original-patch-by: Oleg Nesterov <oleg@redhat.com>
    Original-patch-by: Michal Hocko <mhocko@suse.com>
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Tested-by: Helge Deller <deller@gmx.de> # parisc
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    [wt: backport to 4.11: adjust context]
    [wt: backport to 4.9: adjust context ; kernel doc was not in admin-guide]
    [wt: backport to 4.4: adjust context ; drop ppc hugetlb_radix changes]
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    [gkh: minor build fixes for 4.4]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 26605a06dd921df52e2395af853367e670e6381b
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue May 30 23:15:35 2017 +0200

    alarmtimer: Rate limit periodic intervals
    
    commit ff86bf0c65f14346bf2440534f9ba5ac232c39a0 upstream.
    
    The alarmtimer code has another source of potentially rearming itself too
    fast. Interval timers with a very samll interval have a similar CPU hog
    effect as the previously fixed overflow issue.
    
    The reason is that alarmtimers do not implement the normal protection
    against this kind of problem which the other posix timer use:
    
      timer expires -> queue signal -> deliver signal -> rearm timer
    
    This scheme brings the rearming under scheduler control and prevents
    permanently firing timers which hog the CPU.
    
    Bringing this scheme to the alarm timer code is a major overhaul because it
    lacks all the necessary mechanisms completely.
    
    So for a quick fix limit the interval to one jiffie. This is not
    problematic in practice as alarmtimers are usually backed by an RTC for
    suspend which have 1 second resolution. It could be therefor argued that
    the resolution of this clock should be set to 1 second in general, but
    that's outside the scope of this fix.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Kostya Serebryany <kcc@google.com>
    Cc: syzkaller <syzkaller@googlegroups.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Link: http://lkml.kernel.org/r/20170530211655.896767100@linutronix.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c24159adf2226709053c48b3d536e756bf033e31
Author: Paul Burton <paul.burton@imgtec.com>
Date:   Fri Jun 2 11:35:01 2017 -0700

    MIPS: Fix bnezc/jialc return address calculation
    
    commit 1a73d9310e093fc3adffba4d0a67b9fab2ee3f63 upstream.
    
    The code handling the pop76 opcode (ie. bnezc & jialc instructions) in
    __compute_return_epc_for_insn() needs to set the value of $31 in the
    jialc case, which is encoded with rs = 0. However its check to
    differentiate bnezc (rs != 0) from jialc (rs = 0) was unfortunately
    backwards, meaning that if we emulate a bnezc instruction we clobber $31
    & if we emulate a jialc instruction it actually behaves like a jic
    instruction.
    
    Fix this by inverting the check of rs to match the way the instructions
    are actually encoded.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Fixes: 28d6f93d201d ("MIPS: Emulate the new MIPS R6 BNEZC and JIALC instructions")
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16178/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 94695386c79caccd82bf4048da642e6c9643fb92
Author: Shuah Khan <shuahkh@osg.samsung.com>
Date:   Tue Jan 10 16:05:28 2017 -0700

    usb: dwc3: exynos fix axius clock error path to do cleanup
    
    commit 8ae584d1951f241efd45499f8774fd7066f22823 upstream.
    
    Axius clock error path returns without disabling clock and suspend clock.
    Fix it to disable them before returning error.
    
    Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aac7fa215e8fc795287328c2914aa123e7538690
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue May 30 23:15:34 2017 +0200

    alarmtimer: Prevent overflow of relative timers
    
    commit f4781e76f90df7aec400635d73ea4c35ee1d4765 upstream.
    
    Andrey reported a alartimer related RCU stall while fuzzing the kernel with
    syzkaller.
    
    The reason for this is an overflow in ktime_add() which brings the
    resulting time into negative space and causes immediate expiry of the
    timer. The following rearm with a small interval does not bring the timer
    back into positive space due to the same issue.
    
    This results in a permanent firing alarmtimer which hogs the CPU.
    
    Use ktime_add_safe() instead which detects the overflow and clamps the
    result to KTIME_SEC_MAX.
    
    Reported-by: Andrey Konovalov <andreyknvl@google.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Kostya Serebryany <kcc@google.com>
    Cc: syzkaller <syzkaller@googlegroups.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Link: http://lkml.kernel.org/r/20170530211655.802921648@linutronix.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4d4d501cd7079d9052bb9ea6778f15491508f95e
Author: Heiner Kallweit <hkallweit1@gmail.com>
Date:   Sun Jun 11 00:38:36 2017 +0200

    genirq: Release resources in __setup_irq() error path
    
    commit fa07ab72cbb0d843429e61bf179308aed6cbe0dd upstream.
    
    In case __irq_set_trigger() fails the resources requested via
    irq_request_resources() are not released.
    
    Add the missing release call into the error handling path.
    
    Fixes: c1bacbae8192 ("genirq: Provide irq_request/release_resources chip callbacks")
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/655538f5-cb20-a892-ff15-fbd2dd1fa4ec@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6af90091b61050c022c952696180c5adda217e7c
Author: Yu Zhao <yuzhao@google.com>
Date:   Fri Jun 16 14:02:31 2017 -0700

    swap: cond_resched in swap_cgroup_prepare()
    
    commit ef70762948dde012146926720b70e79736336764 upstream.
    
    I saw need_resched() warnings when swapping on large swapfile (TBs)
    because continuously allocating many pages in swap_cgroup_prepare() took
    too long.
    
    We already cond_resched when freeing page in swap_cgroup_swapoff().  Do
    the same for the page allocation.
    
    Link: http://lkml.kernel.org/r/20170604200109.17606-1-yuzhao@google.com
    Signed-off-by: Yu Zhao <yuzhao@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Vladimir Davydov <vdavydov.dev@gmail.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 bfbd244c5f1889061b4a3f66519cb6dde8400877
Author: James Morse <james.morse@arm.com>
Date:   Fri Jun 16 14:02:29 2017 -0700

    mm/memory-failure.c: use compound_head() flags for huge pages
    
    commit 7258ae5c5a2ce2f5969e8b18b881be40ab55433d upstream.
    
    memory_failure() chooses a recovery action function based on the page
    flags.  For huge pages it uses the tail page flags which don't have
    anything interesting set, resulting in:
    
    > Memory failure: 0x9be3b4: Unknown page state
    > Memory failure: 0x9be3b4: recovery action for unknown page: Failed
    
    Instead, save a copy of the head page's flags if this is a huge page,
    this means if there are no relevant flags for this tail page, we use the
    head pages flags instead.  This results in the me_huge_page() recovery
    action being called:
    
    > Memory failure: 0x9b7969: recovery action for huge page: Delayed
    
    For hugepages that have not yet been allocated, this allows the hugepage
    to be dequeued.
    
    Fixes: 524fca1e7356 ("HWPOISON: fix misjudgement of page_action() for errors on mlocked pages")
    Link: http://lkml.kernel.org/r/20170524130204.21845-1-james.morse@arm.com
    Signed-off-by: James Morse <james.morse@arm.com>
    Tested-by: Punit Agrawal <punit.agrawal@arm.com>
    Acked-by: Punit Agrawal <punit.agrawal@arm.com>
    Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.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 f5dc61753d0e27705ff79813f0f0714fd5bd37bb
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue Jun 13 15:23:42 2017 -0400

    USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks
    
    commit f16443a034c7aa359ddf6f0f9bc40d01ca31faea upstream.
    
    Using the syzkaller kernel fuzzer, Andrey Konovalov generated the
    following error in gadgetfs:
    
    > BUG: KASAN: use-after-free in __lock_acquire+0x3069/0x3690
    > kernel/locking/lockdep.c:3246
    > Read of size 8 at addr ffff88003a2bdaf8 by task kworker/3:1/903
    >
    > CPU: 3 PID: 903 Comm: kworker/3:1 Not tainted 4.12.0-rc4+ #35
    > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
    > Workqueue: usb_hub_wq hub_event
    > Call Trace:
    >  __dump_stack lib/dump_stack.c:16 [inline]
    >  dump_stack+0x292/0x395 lib/dump_stack.c:52
    >  print_address_description+0x78/0x280 mm/kasan/report.c:252
    >  kasan_report_error mm/kasan/report.c:351 [inline]
    >  kasan_report+0x230/0x340 mm/kasan/report.c:408
    >  __asan_report_load8_noabort+0x19/0x20 mm/kasan/report.c:429
    >  __lock_acquire+0x3069/0x3690 kernel/locking/lockdep.c:3246
    >  lock_acquire+0x22d/0x560 kernel/locking/lockdep.c:3855
    >  __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
    >  _raw_spin_lock+0x2f/0x40 kernel/locking/spinlock.c:151
    >  spin_lock include/linux/spinlock.h:299 [inline]
    >  gadgetfs_suspend+0x89/0x130 drivers/usb/gadget/legacy/inode.c:1682
    >  set_link_state+0x88e/0xae0 drivers/usb/gadget/udc/dummy_hcd.c:455
    >  dummy_hub_control+0xd7e/0x1fb0 drivers/usb/gadget/udc/dummy_hcd.c:2074
    >  rh_call_control drivers/usb/core/hcd.c:689 [inline]
    >  rh_urb_enqueue drivers/usb/core/hcd.c:846 [inline]
    >  usb_hcd_submit_urb+0x92f/0x20b0 drivers/usb/core/hcd.c:1650
    >  usb_submit_urb+0x8b2/0x12c0 drivers/usb/core/urb.c:542
    >  usb_start_wait_urb+0x148/0x5b0 drivers/usb/core/message.c:56
    >  usb_internal_control_msg drivers/usb/core/message.c:100 [inline]
    >  usb_control_msg+0x341/0x4d0 drivers/usb/core/message.c:151
    >  usb_clear_port_feature+0x74/0xa0 drivers/usb/core/hub.c:412
    >  hub_port_disable+0x123/0x510 drivers/usb/core/hub.c:4177
    >  hub_port_init+0x1ed/0x2940 drivers/usb/core/hub.c:4648
    >  hub_port_connect drivers/usb/core/hub.c:4826 [inline]
    >  hub_port_connect_change drivers/usb/core/hub.c:4999 [inline]
    >  port_event drivers/usb/core/hub.c:5105 [inline]
    >  hub_event+0x1ae1/0x3d40 drivers/usb/core/hub.c:5185
    >  process_one_work+0xc08/0x1bd0 kernel/workqueue.c:2097
    >  process_scheduled_works kernel/workqueue.c:2157 [inline]
    >  worker_thread+0xb2b/0x1860 kernel/workqueue.c:2233
    >  kthread+0x363/0x440 kernel/kthread.c:231
    >  ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:424
    >
    > Allocated by task 9958:
    >  save_stack_trace+0x1b/0x20 arch/x86/kernel/stacktrace.c:59
    >  save_stack+0x43/0xd0 mm/kasan/kasan.c:513
    >  set_track mm/kasan/kasan.c:525 [inline]
    >  kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:617
    >  kmem_cache_alloc_trace+0x87/0x280 mm/slub.c:2745
    >  kmalloc include/linux/slab.h:492 [inline]
    >  kzalloc include/linux/slab.h:665 [inline]
    >  dev_new drivers/usb/gadget/legacy/inode.c:170 [inline]
    >  gadgetfs_fill_super+0x24f/0x540 drivers/usb/gadget/legacy/inode.c:1993
    >  mount_single+0xf6/0x160 fs/super.c:1192
    >  gadgetfs_mount+0x31/0x40 drivers/usb/gadget/legacy/inode.c:2019
    >  mount_fs+0x9c/0x2d0 fs/super.c:1223
    >  vfs_kern_mount.part.25+0xcb/0x490 fs/namespace.c:976
    >  vfs_kern_mount fs/namespace.c:2509 [inline]
    >  do_new_mount fs/namespace.c:2512 [inline]
    >  do_mount+0x41b/0x2d90 fs/namespace.c:2834
    >  SYSC_mount fs/namespace.c:3050 [inline]
    >  SyS_mount+0xb0/0x120 fs/namespace.c:3027
    >  entry_SYSCALL_64_fastpath+0x1f/0xbe
    >
    > Freed by task 9960:
    >  save_stack_trace+0x1b/0x20 arch/x86/kernel/stacktrace.c:59
    >  save_stack+0x43/0xd0 mm/kasan/kasan.c:513
    >  set_track mm/kasan/kasan.c:525 [inline]
    >  kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:590
    >  slab_free_hook mm/slub.c:1357 [inline]
    >  slab_free_freelist_hook mm/slub.c:1379 [inline]
    >  slab_free mm/slub.c:2961 [inline]
    >  kfree+0xed/0x2b0 mm/slub.c:3882
    >  put_dev+0x124/0x160 drivers/usb/gadget/legacy/inode.c:163
    >  gadgetfs_kill_sb+0x33/0x60 drivers/usb/gadget/legacy/inode.c:2027
    >  deactivate_locked_super+0x8d/0xd0 fs/super.c:309
    >  deactivate_super+0x21e/0x310 fs/super.c:340
    >  cleanup_mnt+0xb7/0x150 fs/namespace.c:1112
    >  __cleanup_mnt+0x1b/0x20 fs/namespace.c:1119
    >  task_work_run+0x1a0/0x280 kernel/task_work.c:116
    >  exit_task_work include/linux/task_work.h:21 [inline]
    >  do_exit+0x18a8/0x2820 kernel/exit.c:878
    >  do_group_exit+0x14e/0x420 kernel/exit.c:982
    >  get_signal+0x784/0x1780 kernel/signal.c:2318
    >  do_signal+0xd7/0x2130 arch/x86/kernel/signal.c:808
    >  exit_to_usermode_loop+0x1ac/0x240 arch/x86/entry/common.c:157
    >  prepare_exit_to_usermode arch/x86/entry/common.c:194 [inline]
    >  syscall_return_slowpath+0x3ba/0x410 arch/x86/entry/common.c:263
    >  entry_SYSCALL_64_fastpath+0xbc/0xbe
    >
    > The buggy address belongs to the object at ffff88003a2bdae0
    >  which belongs to the cache kmalloc-1024 of size 1024
    > The buggy address is located 24 bytes inside of
    >  1024-byte region [ffff88003a2bdae0, ffff88003a2bdee0)
    > The buggy address belongs to the page:
    > page:ffffea0000e8ae00 count:1 mapcount:0 mapping:          (null)
    > index:0x0 compound_mapcount: 0
    > flags: 0x100000000008100(slab|head)
    > raw: 0100000000008100 0000000000000000 0000000000000000 0000000100170017
    > raw: ffffea0000ed3020 ffffea0000f5f820 ffff88003e80efc0 0000000000000000
    > page dumped because: kasan: bad access detected
    >
    > Memory state around the buggy address:
    >  ffff88003a2bd980: fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    >  ffff88003a2bda00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    > >ffff88003a2bda80: fc fc fc fc fc fc fc fc fc fc fc fc fb fb fb fb
    >                                                                 ^
    >  ffff88003a2bdb00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
    >  ffff88003a2bdb80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
    > ==================================================================
    
    What this means is that the gadgetfs_suspend() routine was trying to
    access dev->lock after it had been deallocated.  The root cause is a
    race in the dummy_hcd driver; the dummy_udc_stop() routine can race
    with the rest of the driver because it contains no locking.  And even
    when proper locking is added, it can still race with the
    set_link_state() function because that function incorrectly drops the
    private spinlock before invoking any gadget driver callbacks.
    
    The result of this race, as seen above, is that set_link_state() can
    invoke a callback in gadgetfs even after gadgetfs has been unbound
    from dummy_hcd's UDC and its private data structures have been
    deallocated.
    
    include/linux/usb/gadget.h documents that the ->reset, ->disconnect,
    ->suspend, and ->resume callbacks may be invoked in interrupt context.
    In general this is necessary, to prevent races with gadget driver
    removal.  This patch fixes dummy_hcd to retain the spinlock across
    these calls, and it adds a spinlock acquisition to dummy_udc_stop() to
    prevent the race.
    
    The net2280 driver makes the same mistake of dropping the private
    spinlock for its ->disconnect and ->reset callback invocations.  The
    patch fixes it too.
    
    Lastly, since gadgetfs_suspend() may be invoked in interrupt context,
    it cannot assume that interrupts are enabled when it runs.  It must
    use spin_lock_irqsave() instead of spin_lock_irq().  The patch fixes
    that bug as well.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: Andrey Konovalov <andreyknvl@google.com>
    Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 89c15994a06d996f4917c3c122a4e8446a205422
Author: Corentin Labbe <clabbe.montjoie@gmail.com>
Date:   Fri Jun 9 14:48:41 2017 +0300

    usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk
    
    commit d2f48f05cd2a2a0a708fbfa45f1a00a87660d937 upstream.
    
    When plugging an USB webcam I see the following message:
    [106385.615559] xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
    [106390.583860] handle_tx_event: 913 callbacks suppressed
    
    With this patch applied, I get no more printing of this message.
    
    Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5efd37fe72186ef821f265dd50779ad1e2bbbec6
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon May 8 15:55:17 2017 -0700

    drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR()
    
    commit 8128a31eaadbcdfa37774bbd28f3f00bac69996a upstream.
    
    c2port_device_register() never returns NULL, it uses error pointers.
    
    Link: http://lkml.kernel.org/r/20170412083321.GC3250@mwanda
    Fixes: 65131cd52b9e ("c2port: add c2port support for Eurotech Duramar 2150")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Rodolfo Giometti <giometti@linux.it>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.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 ab29b21a47ae9a057f66b58b06353ec459dcfb3a
Author: Chris Brandt <chris.brandt@renesas.com>
Date:   Thu Apr 27 12:12:49 2017 -0700

    usb: r8a66597-hcd: decrease timeout
    
    commit dd14a3e9b92ac6f0918054f9e3477438760a4fa6 upstream.
    
    The timeout for BULK packets was 300ms which is a long time if other
    endpoints or devices are waiting for their turn. Changing it to 50ms
    greatly increased the overall performance for multi-endpoint devices.
    
    Fixes: 5d3043586db4 ("usb: r8a66597-hcd: host controller driver for R8A6659")
    Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4c7a6dd205cc7e6e7e95f5d7b7b0a9a7a3fcf5e9
Author: Chris Brandt <chris.brandt@renesas.com>
Date:   Thu Apr 27 12:12:02 2017 -0700

    usb: r8a66597-hcd: select a different endpoint on timeout
    
    commit 1f873d857b6c2fefb4dada952674aa01bcfb92bd upstream.
    
    If multiple endpoints on a single device have pending IN URBs and one
    endpoint times out due to NAKs (perfectly legal), select a different
    endpoint URB to try.
    The existing code only checked to see another device address has pending
    URBs and ignores other IN endpoints on the current device address. This
    leads to endpoints never getting serviced if one endpoint is using NAK as
    a flow control method.
    
    Fixes: 5d3043586db4 ("usb: r8a66597-hcd: host controller driver for R8A6659")
    Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 42c8b4b5fdca31b47d2c55e716f651e2600690ca
Author: Johan Hovold <johan@kernel.org>
Date:   Wed May 10 18:18:25 2017 +0200

    USB: gadget: dummy_hcd: fix hub-descriptor removable fields
    
    commit d81182ce30dbd497a1e7047d7fda2af040347790 upstream.
    
    Flag the first and only port as removable while also leaving the
    remaining bits (including the reserved bit zero) unset in accordance
    with the specifications:
    
            "Within a byte, if no port exists for a given location, the bit
            field representing the port characteristics shall be 0."
    
    Also add a comment marking the legacy PortPwrCtrlMask field.
    
    Fixes: 1cd8fd2887e1 ("usb: gadget: dummy_hcd: add SuperSpeed support")
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Cc: Tatyana Brokhman <tlinder@codeaurora.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc6ecba3f6c14f493ea3be29b09415d26c8783c2
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Feb 2 12:53:04 2017 -0200

    pvrusb2: reduce stack usage pvr2_eeprom_analyze()
    
    commit 6830733d53a4517588e56227b9c8538633f0c496 upstream.
    
    The driver uses a relatively large data structure on the stack, which
    showed up on my radar as we get a warning with the "latent entropy"
    GCC plugin:
    
    drivers/media/usb/pvrusb2/pvrusb2-eeprom.c:153:1: error: the frame size of 1376 bytes is larger than 1152 bytes [-Werror=frame-larger-than=]
    
    The warning is usually hidden as we raise the warning limit to 2048
    when the plugin is enabled, but I'd like to lower that again in the
    future, and making this function smaller helps to do that without
    build regressions.
    
    Further analysis shows that putting an 'i2c_client' structure on
    the stack is not really supported, as the embedded 'struct device'
    is not initialized here, and we are only saved by the fact that
    the function that is called here does not use the pointer at all.
    
    Fixes: d855497edbfb ("V4L/DVB (4228a): pvrusb2 to kernel 2.6.18")
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e33e866d1593281d9122fa1769ea01f4ec4e7dec
Author: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
Date:   Sun May 7 01:53:46 2017 +0200

    usb: core: fix potential memory leak in error path during hcd creation
    
    commit 1a744d2eb76aaafb997fda004ae3ae62a1538f85 upstream.
    
    Free memory allocated for address0_mutex if allocation of bandwidth_mutex
    failed.
    
    Fixes: feb26ac31a2a ("usb: core: hub: hub_port_init lock controller instead of bus")
    
    Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ec443ee0c2aa3c1748de683bcda3714bb4d37010
Author: Johan Hovold <johan@kernel.org>
Date:   Wed May 10 18:18:29 2017 +0200

    USB: hub: fix SS max number of ports
    
    commit 93491ced3c87c94b12220dbac0527e1356702179 upstream.
    
    Add define for the maximum number of ports on a SuperSpeed hub as per
    USB 3.1 spec Table 10-5, and use it when verifying the retrieved hub
    descriptor.
    
    This specifically avoids benign attempts to update the DeviceRemovable
    mask for non-existing ports (should we get that far).
    
    Fixes: dbe79bbe9dcb ("USB 3.0 Hub Changes")
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7e2ad8b207f23a28cd3af7f0661fc1141c5a2375
Author: Matt Ranostay <matt.ranostay@konsulko.com>
Date:   Fri Apr 14 16:38:19 2017 -0700

    iio: proximity: as3935: recalibrate RCO after resume
    
    commit 6272c0de13abf1480f701d38288f28a11b4301c4 upstream.
    
    According to the datasheet the RCO must be recalibrated
    on every power-on-reset. Also remove mutex locking in the
    calibration function since callers other than the probe
    function (which doesn't need it) will have a lock.
    
    Fixes: 24ddb0e4bba4 ("iio: Add AS3935 lightning sensor support")
    Cc: George McCollister <george.mccollister@gmail.com>
    Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0c967139e8320293819277b0dddf401192b5649f
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Sat Apr 22 13:47:23 2017 +0300

    staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data()
    
    commit 784047eb2d3405a35087af70cba46170c5576b25 upstream.
    
    The "len" could be as low as -14 so we should check for negatives.
    
    Fixes: 9a7fe54ddc3a ("staging: r8188eu: Add source files for new driver - part 1")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e59d91144545ee6810593fdb69d2df82f61f46a6
Author: Tony Lindgren <tony@atomide.com>
Date:   Sat Apr 15 10:05:08 2017 -0700

    mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
    
    commit 8b8a84c54aff4256d592dc18346c65ecf6811b45 upstream.
    
    Commit 16fa3dc75c22 ("mfd: omap-usb-tll: HOST TLL platform driver")
    added support for USB TLL, but uses OMAP_TLL_CHANNEL_CONF_ULPINOBITSTUFF
    bit the wrong way. The comments in the code are correct, but the inverted
    use of OMAP_TLL_CHANNEL_CONF_ULPINOBITSTUFF causes the register to be
    enabled instead of disabled unlike what the comments say.
    
    Without this change the Wrigley 3G LTE modem on droid 4 EHCI bus can
    be only pinged few times before it stops responding.
    
    Fixes: 16fa3dc75c22 ("mfd: omap-usb-tll: HOST TLL platform driver")
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Acked-by: Roger Quadros <rogerq@ti.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93d022e25642036406983d9608852c605bfd5227
Author: Laura Abbott <labbott@redhat.com>
Date:   Mon May 8 14:23:16 2017 -0700

    x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init()
    
    commit 861ce4a3244c21b0af64f880d5bfe5e6e2fb9e4a upstream.
    
    '__vmalloc_start_set' currently only gets set in initmem_init() when
    !CONFIG_NEED_MULTIPLE_NODES. This breaks detection of vmalloc address
    with virt_addr_valid() with CONFIG_NEED_MULTIPLE_NODES=y, causing
    a kernel crash:
    
      [mm/usercopy] 517e1fbeb6: kernel BUG at arch/x86/mm/physaddr.c:78!
    
    Set '__vmalloc_start_set' appropriately for that case as well.
    
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: dc16ecf7fd1f ("x86-32: use specific __vmalloc_start_set flag in __virt_addr_valid")
    Link: http://lkml.kernel.org/r/1494278596-30373-1-git-send-email-labbott@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c79aab7007d87c4c57b3538ac2dd2b04508fcbf8
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Fri May 12 16:35:45 2017 +0200

    serial: efm32: Fix parity management in 'efm32_uart_console_get_options()'
    
    commit be40597a1bc173bf9dadccdf5388b956f620ae8f upstream.
    
    UARTn_FRAME_PARITY_ODD is 0x0300
    UARTn_FRAME_PARITY_EVEN is 0x0200
    So if the UART is configured for EVEN parity, it would be reported as ODD.
    Fix it by correctly testing if the 2 bits are set.
    
    Fixes: 3afbd89c9639 ("serial/efm32: add new driver")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit daebcf9871eb2be387527e8c6cb23ad74dcb3b02
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Thu Apr 27 13:19:04 2017 +0200

    mac80211: fix IBSS presp allocation size
    
    commit f1f3e9e2a50a70de908f9dfe0d870e9cdc67e042 upstream.
    
    When VHT IBSS support was added, the size of the extra elements
    wasn't considered in ieee80211_ibss_build_presp(), which makes
    it possible that it would overrun the allocated buffer. Fix it
    by allocating the necessary space.
    
    Fixes: abcff6ef01f9 ("mac80211: add VHT support for IBSS")
    Reported-by: Shaul Triebitz <shaul.triebitz@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bb8428f4c954ae12e8874be18826e16ba96ad1c9
Author: Koen Vandeputte <koen.vandeputte@ncentric.com>
Date:   Wed Feb 8 15:32:05 2017 +0100

    mac80211: fix CSA in IBSS mode
    
    commit f181d6a3bcc35633facf5f3925699021c13492c5 upstream.
    
    Add the missing IBSS capability flag during capability init as it needs
    to be inserted into the generated beacon in order for CSA to work.
    
    Fixes: cd7760e62c2ac ("mac80211: add support for CSA in IBSS mode")
    Signed-off-by: Piotr Gawlowicz <gawlowicz@tkn.tu-berlin.de>
    Signed-off-by: Mikołaj Chwalisz <chwalisz@tkn.tu-berlin.de>
    Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5f1f39023c2a439204d47e7e33d94b5baf561ca8
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Sat Jun 10 04:59:12 2017 +0200

    mac80211/wpa: use constant time memory comparison for MACs
    
    commit 98c67d187db7808b1f3c95f2110dd4392d034182 upstream.
    
    Otherwise, we enable all sorts of forgeries via timing attack.
    
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Cc: linux-wireless@vger.kernel.org
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 156f00663af610f740e22d494d8ff855f12cd8a5
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Thu Jun 8 14:00:49 2017 +0300

    mac80211: don't look at the PM bit of BAR frames
    
    commit 769dc04db3ed8484798aceb015b94deacc2ba557 upstream.
    
    When a peer sends a BAR frame with PM bit clear, we should
    not modify its PM state as madated by the spec in
    802.11-20012 10.2.1.2.
    
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a8686c968fe3dd25b6f1f88d88de00c95545c931
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Fri Apr 28 01:51:40 2017 -0300

    vb2: Fix an off by one error in 'vb2_plane_vaddr'
    
    commit 5ebb6dd36c9f5fb37b1077b393c254d70a14cb46 upstream.
    
    We should ensure that 'plane_no' is '< vb->num_planes' as done in
    'vb2_plane_cookie' just a few lines below.
    
    Fixes: e23ccc0ad925 ("[media] v4l: add videobuf2 Video for Linux 2 driver framework")
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fa90f02d511dcc85f77c110cb0c6f3555e885863
Author: Tomasz Wilczyński <twilczynski@naver.com>
Date:   Sun Jun 11 17:28:39 2017 +0900

    cpufreq: conservative: Allow down_threshold to take values from 1 to 10
    
    commit b8e11f7d2791bd9320be1c6e772a60b2aa093e45 upstream.
    
    Commit 27ed3cd2ebf4 (cpufreq: conservative: Fix the logic in frequency
    decrease checking) removed the 10 point substraction when comparing the
    load against down_threshold but did not remove the related limit for the
    down_threshold value.  As a result, down_threshold lower than 11 is not
    allowed even though values from 1 to 10 do work correctly too. The
    comment ("cannot be lower than 11 otherwise freq will not fall") also
    does not apply after removing the substraction.
    
    For this reason, allow down_threshold to take any value from 1 to 99
    and fix the related comment.
    
    Fixes: 27ed3cd2ebf4 (cpufreq: conservative: Fix the logic in frequency decrease checking)
    Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 58ab7a86cdc29de64cea665fa97f02829756b554
Author: Marc Kleine-Budde <mkl@pengutronix.de>
Date:   Sun Jun 4 14:03:42 2017 +0200

    can: gs_usb: fix memory leak in gs_cmd_reset()
    
    commit 5cda3ee5138e91ac369ed9d0b55eab0dab077686 upstream.
    
    This patch adds the missing kfree() in gs_cmd_reset() to free the
    memory that is not used anymore after usb_control_msg().
    
    Cc: Maximilian Schneider <max@schneidersoft.net>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0ad134d81c070a391783f84d7ab9dd13ad6ef7e9
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Thu Jun 8 04:51:54 2017 +0000

    configfs: Fix race between create_link and configfs_rmdir
    
    commit ba80aa909c99802c428682c352b0ee0baac0acd3 upstream.
    
    This patch closes a long standing race in configfs between
    the creation of a new symlink in create_link(), while the
    symlink target's config_item is being concurrently removed
    via configfs_rmdir().
    
    This can happen because the symlink target's reference
    is obtained by config_item_get() in create_link() before
    the CONFIGFS_USET_DROPPING bit set by configfs_detach_prep()
    during configfs_rmdir() shutdown is actually checked..
    
    This originally manifested itself on ppc64 on v4.8.y under
    heavy load using ibmvscsi target ports with Novalink API:
    
    [ 7877.289863] rpadlpar_io: slot U8247.22L.212A91A-V1-C8 added
    [ 7879.893760] ------------[ cut here ]------------
    [ 7879.893768] WARNING: CPU: 15 PID: 17585 at ./include/linux/kref.h:46 config_item_get+0x7c/0x90 [configfs]
    [ 7879.893811] CPU: 15 PID: 17585 Comm: targetcli Tainted: G           O 4.8.17-customv2.22 #12
    [ 7879.893812] task: c00000018a0d3400 task.stack: c0000001f3b40000
    [ 7879.893813] NIP: d000000002c664ec LR: d000000002c60980 CTR: c000000000b70870
    [ 7879.893814] REGS: c0000001f3b43810 TRAP: 0700   Tainted: G O     (4.8.17-customv2.22)
    [ 7879.893815] MSR: 8000000000029033 <SF,EE,ME,IR,DR,RI,LE>  CR: 28222242  XER: 00000000
    [ 7879.893820] CFAR: d000000002c664bc SOFTE: 1
                    GPR00: d000000002c60980 c0000001f3b43a90 d000000002c70908 c0000000fbc06820
                    GPR04: c0000001ef1bd900 0000000000000004 0000000000000001 0000000000000000
                    GPR08: 0000000000000000 0000000000000001 d000000002c69560 d000000002c66d80
                    GPR12: c000000000b70870 c00000000e798700 c0000001f3b43ca0 c0000001d4949d40
                    GPR16: c00000014637e1c0 0000000000000000 0000000000000000 c0000000f2392940
                    GPR20: c0000001f3b43b98 0000000000000041 0000000000600000 0000000000000000
                    GPR24: fffffffffffff000 0000000000000000 d000000002c60be0 c0000001f1dac490
                    GPR28: 0000000000000004 0000000000000000 c0000001ef1bd900 c0000000f2392940
    [ 7879.893839] NIP [d000000002c664ec] config_item_get+0x7c/0x90 [configfs]
    [ 7879.893841] LR [d000000002c60980] check_perm+0x80/0x2e0 [configfs]
    [ 7879.893842] Call Trace:
    [ 7879.893844] [c0000001f3b43ac0] [d000000002c60980] check_perm+0x80/0x2e0 [configfs]
    [ 7879.893847] [c0000001f3b43b10] [c000000000329770] do_dentry_open+0x2c0/0x460
    [ 7879.893849] [c0000001f3b43b70] [c000000000344480] path_openat+0x210/0x1490
    [ 7879.893851] [c0000001f3b43c80] [c00000000034708c] do_filp_open+0xfc/0x170
    [ 7879.893853] [c0000001f3b43db0] [c00000000032b5bc] do_sys_open+0x1cc/0x390
    [ 7879.893856] [c0000001f3b43e30] [c000000000009584] system_call+0x38/0xec
    [ 7879.893856] Instruction dump:
    [ 7879.893858] 409d0014 38210030 e8010010 7c0803a6 4e800020 3d220000 e94981e0 892a0000
    [ 7879.893861] 2f890000 409effe0 39200001 992a0000 <0fe00000> 4bffffd0 60000000 60000000
    [ 7879.893866] ---[ end trace 14078f0b3b5ad0aa ]---
    
    To close this race, go ahead and obtain the symlink's target
    config_item reference only after the existing CONFIGFS_USET_DROPPING
    check succeeds.
    
    This way, if configfs_rmdir() wins create_link() will return -ENONET,
    and if create_link() wins configfs_rmdir() will return -EBUSY.
    
    Reported-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
    Tested-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>