commit 1e8e6b30d014eb77278edb4cd9bee72f0255996f
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Oct 18 09:15:17 2017 +0200

    Linux 3.18.76

commit cbe4d8c077e7ad4345c12bdded0c54f9e4979a9f
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue Oct 17 16:12:49 2017 +0200

    Revert "usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write"
    
    This reverts commit abb540b5397674243994c5327146b6fed7339b71 which is
    commit b7bd98b7db9f upstream.  I had added it to make another patch
    apply cleanly, but as Ben points out, that was wrong.
    
    Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Cc: David Eccher <d.eccher@gmail.com>
    Cc: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org

commit 954e2ed41fec684048824230eb51bed0eae449ba
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jan 12 12:38:02 2016 +0100

    ALSA: seq: Fix missing NULL check at remove_events ioctl
    
    commit 030e2c78d3a91dd0d27fef37e91950dde333eba1 upstream.
    
    snd_seq_ioctl_remove_events() calls snd_seq_fifo_clear()
    unconditionally even if there is no FIFO assigned, and this leads to
    an Oops due to NULL dereference.  The fix is just to add a proper NULL
    check.
    
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Tested-by: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Cc: Mark Salyzyn <salyzyn@google.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8ae04f638496b7a9b0381aecf5c47dcb5a3bd6fc
Author: Johan Hovold <johan@kernel.org>
Date:   Wed Oct 4 11:01:13 2017 +0200

    USB: serial: console: fix use-after-free after failed setup
    
    commit 299d7572e46f98534033a9e65973f13ad1ce9047 upstream.
    
    Make sure to reset the USB-console port pointer when console setup fails
    in order to avoid having the struct usb_serial be prematurely freed by
    the console code when the device is later disconnected.
    
    Fixes: 73e487fdb75f ("[PATCH] USB console: fix disconnection issues")
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2d0ffe43f2b9c99ca1dd67d4911e62c83487362c
Author: Shrirang Bagul <shrirang.bagul@canonical.com>
Date:   Fri Sep 29 12:39:51 2017 +0800

    USB: serial: qcserial: add Dell DW5818, DW5819
    
    commit f5d9644c5fca7d8e8972268598bb516a7eae17f9 upstream.
    
    Dell Wireless 5819/5818 devices are re-branded Sierra Wireless MC74
    series which will by default boot with vid 0x413c and pid's 0x81cf,
    0x81d0, 0x81d1, 0x81d2.
    
    Signed-off-by: Shrirang Bagul <shrirang.bagul@canonical.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 740ffa11b45a27415204f674e975f2b3dae1afc1
Author: Henryk Heisig <hyniu@o2.pl>
Date:   Mon Sep 11 17:57:34 2017 +0200

    USB: serial: option: add support for TP-Link LTE module
    
    commit 837ddc4793a69b256ac5e781a5e729b448a8d983 upstream.
    
    This commit adds support for TP-Link LTE mPCIe module is used
    in in TP-Link MR200v1, MR6400v1 and v2 routers.
    
    Signed-off-by: Henryk Heisig <hyniu@o2.pl>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 704e5f08e7af2410fe7b07f568944a8e24966fa4
Author: Andreas Engel <anen-nospam@gmx.net>
Date:   Mon Sep 18 21:11:57 2017 +0200

    USB: serial: cp210x: add support for ELV TFD500
    
    commit c496ad835c31ad639b6865714270b3003df031f6 upstream.
    
    Add the USB device id for the ELV TFD500 data logger.
    
    Signed-off-by: Andreas Engel <anen-nospam@gmx.net>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d7795bf6a9d8b004dbbd1f081f3eff18ff49276d
Author: Vitaly Mayatskikh <v.mayatskih@gmail.com>
Date:   Fri Sep 22 01:18:39 2017 -0400

    fix unbalanced page refcounting in bio_map_user_iov
    
    commit 95d78c28b5a85bacbc29b8dba7c04babb9b0d467 upstream.
    
    bio_map_user_iov and bio_unmap_user do unbalanced pages refcounting if
    IO vector has small consecutive buffers belonging to the same page.
    bio_add_pc_page merges them into one, but the page reference is never
    dropped.
    
    Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2159252e70e95ba59e926423a006b95c313a0eea
Author: Andreas Gruenbacher <agruenba@redhat.com>
Date:   Mon Oct 9 11:13:18 2017 +0200

    direct-io: Prevent NULL pointer access in submit_page_section
    
    commit 899f0429c7d3eed886406cd72182bee3b96aa1f9 upstream.
    
    In the code added to function submit_page_section by commit b1058b981,
    sdio->bio can currently be NULL when calling dio_bio_submit.  This then
    leads to a NULL pointer access in dio_bio_submit, so check for a NULL
    bio in submit_page_section before trying to submit it instead.
    
    Fixes xfstest generic/250 on gfs2.
    
    Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a2b295db33d4371bf80cadede1965138a90883db
Author: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Date:   Sat Sep 30 08:55:55 2017 -0700

    usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
    
    commit aec17e1e249567e82b26dafbb86de7d07fde8729 upstream.
    
    KASAN enabled configuration reports an error
    
        BUG: KASAN: use-after-free in usb_composite_overwrite_options+...
                    [libcomposite] at addr ...
        Read of size 1 by task ...
    
    when some driver is un-bound and then bound again.
    For example, this happens with FunctionFS driver when "ffs-test"
    test application is run several times in a row.
    
    If the driver has empty manufacturer ID string in initial static data,
    it is then replaced with generated string. After driver unbinding
    the generated string is freed, but the driver data still keep that
    pointer. And if the driver is then bound again, that pointer
    is re-used for string emptiness check.
    
    The fix is to clean up the driver string data upon its unbinding
    to drop the pointer to freed memory.
    
    Fixes: cc2683c318a5 ("usb: gadget: Provide a default implementation of default manufacturer string")
    Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c57f813cb8807f07eab5f3048aa3445386c78387
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Oct 11 16:39:02 2017 +0200

    ALSA: caiaq: Fix stray URB at probe error path
    
    commit 99fee508245825765ff60155fed43f970ff83a8f upstream.
    
    caiaq driver doesn't kill the URB properly at its error path during
    the probe, which may lead to a use-after-free error later.  This patch
    addresses it.
    
    Reported-by: Johan Hovold <johan@kernel.org>
    Reviewed-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f12baf790258076b7f1f5b12e809124eafb730b0
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Oct 9 10:02:56 2017 +0200

    ALSA: seq: Fix copy_from_user() call inside lock
    
    commit 5803b023881857db32ffefa0d269c90280a67ee0 upstream.
    
    The event handler in the virmidi sequencer code takes a read-lock for
    the linked list traverse, while it's calling snd_seq_dump_var_event()
    in the loop.  The latter function may expand the user-space data
    depending on the event type.  It eventually invokes copy_from_user(),
    which might be a potential dead-lock.
    
    The sequencer core guarantees that the user-space data is passed only
    with atomic=0 argument, but snd_virmidi_dev_receive_event() ignores it
    and always takes read-lock().  For avoiding the problem above, this
    patch introduces rwsem for non-atomic case, while keeping rwlock for
    atomic case.
    
    Also while we're at it: the superfluous irq flags is dropped in
    snd_virmidi_input_open().
    
    Reported-by: Jia-Ju Bai <baijiaju1990@163.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 035e6d0b5b192ff5e168ed322304d29db108d790
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Oct 9 11:09:20 2017 +0200

    ALSA: seq: Fix use-after-free at creating a port
    
    commit 71105998845fb012937332fe2e806d443c09e026 upstream.
    
    There is a potential race window opened at creating and deleting a
    port via ioctl, as spotted by fuzzing.  snd_seq_create_port() creates
    a port object and returns its pointer, but it doesn't take the
    refcount, thus it can be deleted immediately by another thread.
    Meanwhile, snd_seq_ioctl_create_port() still calls the function
    snd_seq_system_client_ev_port_start() with the created port object
    that is being deleted, and this triggers use-after-free like:
    
     BUG: KASAN: use-after-free in snd_seq_ioctl_create_port+0x504/0x630 [snd_seq] at addr ffff8801f2241cb1
     =============================================================================
     BUG kmalloc-512 (Tainted: G    B          ): kasan: bad access detected
     -----------------------------------------------------------------------------
     INFO: Allocated in snd_seq_create_port+0x94/0x9b0 [snd_seq] age=1 cpu=3 pid=4511
            ___slab_alloc+0x425/0x460
            __slab_alloc+0x20/0x40
            kmem_cache_alloc_trace+0x150/0x190
            snd_seq_create_port+0x94/0x9b0 [snd_seq]
            snd_seq_ioctl_create_port+0xd1/0x630 [snd_seq]
            snd_seq_do_ioctl+0x11c/0x190 [snd_seq]
            snd_seq_ioctl+0x40/0x80 [snd_seq]
            do_vfs_ioctl+0x54b/0xda0
            SyS_ioctl+0x79/0x90
            entry_SYSCALL_64_fastpath+0x16/0x75
     INFO: Freed in port_delete+0x136/0x1a0 [snd_seq] age=1 cpu=2 pid=4717
            __slab_free+0x204/0x310
            kfree+0x15f/0x180
            port_delete+0x136/0x1a0 [snd_seq]
            snd_seq_delete_port+0x235/0x350 [snd_seq]
            snd_seq_ioctl_delete_port+0xc8/0x180 [snd_seq]
            snd_seq_do_ioctl+0x11c/0x190 [snd_seq]
            snd_seq_ioctl+0x40/0x80 [snd_seq]
            do_vfs_ioctl+0x54b/0xda0
            SyS_ioctl+0x79/0x90
            entry_SYSCALL_64_fastpath+0x16/0x75
     Call Trace:
      [<ffffffff81b03781>] dump_stack+0x63/0x82
      [<ffffffff81531b3b>] print_trailer+0xfb/0x160
      [<ffffffff81536db4>] object_err+0x34/0x40
      [<ffffffff815392d3>] kasan_report.part.2+0x223/0x520
      [<ffffffffa07aadf4>] ? snd_seq_ioctl_create_port+0x504/0x630 [snd_seq]
      [<ffffffff815395fe>] __asan_report_load1_noabort+0x2e/0x30
      [<ffffffffa07aadf4>] snd_seq_ioctl_create_port+0x504/0x630 [snd_seq]
      [<ffffffffa07aa8f0>] ? snd_seq_ioctl_delete_port+0x180/0x180 [snd_seq]
      [<ffffffff8136be50>] ? taskstats_exit+0xbc0/0xbc0
      [<ffffffffa07abc5c>] snd_seq_do_ioctl+0x11c/0x190 [snd_seq]
      [<ffffffffa07abd10>] snd_seq_ioctl+0x40/0x80 [snd_seq]
      [<ffffffff8136d433>] ? acct_account_cputime+0x63/0x80
      [<ffffffff815b515b>] do_vfs_ioctl+0x54b/0xda0
      .....
    
    We may fix this in a few different ways, and in this patch, it's fixed
    simply by taking the refcount properly at snd_seq_create_port() and
    letting the caller unref the object after use.  Also, there is another
    potential use-after-free by sprintf() call in snd_seq_create_port(),
    and this is moved inside the lock.
    
    This fix covers CVE-2017-15265.
    
    Reported-and-tested-by: Michael23 Yu <ycqzsy@gmail.com>
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9d263dba25284b31f2544970964decf65b79a2e8
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Oct 10 14:10:32 2017 +0200

    ALSA: usb-audio: Kill stray URB at exiting
    
    commit 124751d5e63c823092060074bd0abaae61aaa9c4 upstream.
    
    USB-audio driver may leave a stray URB for the mixer interrupt when it
    exits by some error during probe.  This leads to a use-after-free
    error as spotted by syzkaller like:
      ==================================================================
      BUG: KASAN: use-after-free in snd_usb_mixer_interrupt+0x604/0x6f0
      Call Trace:
       <IRQ>
       __dump_stack lib/dump_stack.c:16
       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
       kasan_report+0x23d/0x350 mm/kasan/report.c:409
       __asan_report_load8_noabort+0x19/0x20 mm/kasan/report.c:430
       snd_usb_mixer_interrupt+0x604/0x6f0 sound/usb/mixer.c:2490
       __usb_hcd_giveback_urb+0x2e0/0x650 drivers/usb/core/hcd.c:1779
       ....
    
      Allocated by task 1484:
       save_stack_trace+0x1b/0x20 arch/x86/kernel/stacktrace.c:59
       save_stack+0x43/0xd0 mm/kasan/kasan.c:447
       set_track mm/kasan/kasan.c:459
       kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:551
       kmem_cache_alloc_trace+0x11e/0x2d0 mm/slub.c:2772
       kmalloc ./include/linux/slab.h:493
       kzalloc ./include/linux/slab.h:666
       snd_usb_create_mixer+0x145/0x1010 sound/usb/mixer.c:2540
       create_standard_mixer_quirk+0x58/0x80 sound/usb/quirks.c:516
       snd_usb_create_quirk+0x92/0x100 sound/usb/quirks.c:560
       create_composite_quirk+0x1c4/0x3e0 sound/usb/quirks.c:59
       snd_usb_create_quirk+0x92/0x100 sound/usb/quirks.c:560
       usb_audio_probe+0x1040/0x2c10 sound/usb/card.c:618
       ....
    
      Freed by task 1484:
       save_stack_trace+0x1b/0x20 arch/x86/kernel/stacktrace.c:59
       save_stack+0x43/0xd0 mm/kasan/kasan.c:447
       set_track mm/kasan/kasan.c:459
       kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:524
       slab_free_hook mm/slub.c:1390
       slab_free_freelist_hook mm/slub.c:1412
       slab_free mm/slub.c:2988
       kfree+0xf6/0x2f0 mm/slub.c:3919
       snd_usb_mixer_free+0x11a/0x160 sound/usb/mixer.c:2244
       snd_usb_mixer_dev_free+0x36/0x50 sound/usb/mixer.c:2250
       __snd_device_free+0x1ff/0x380 sound/core/device.c:91
       snd_device_free_all+0x8f/0xe0 sound/core/device.c:244
       snd_card_do_free sound/core/init.c:461
       release_card_device+0x47/0x170 sound/core/init.c:181
       device_release+0x13f/0x210 drivers/base/core.c:814
       ....
    
    Actually such a URB is killed properly at disconnection when the
    device gets probed successfully, and what we need is to apply it for
    the error-path, too.
    
    In this patch, we apply snd_usb_mixer_disconnect() at releasing.
    Also introduce a new flag, disconnected, to struct usb_mixer_interface
    for not performing the disconnection procedure twice.
    
    Reported-by: Andrey Konovalov <andreyknvl@google.com>
    Tested-by: Andrey Konovalov <andreyknvl@google.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4207aada9b813b36d876ab497953e46c94d7b215
Author: Joerg Roedel <jroedel@suse.de>
Date:   Fri Oct 13 14:32:37 2017 +0200

    iommu/amd: Finish TLB flush in amd_iommu_unmap()
    
    commit ce76353f169a6471542d999baf3d29b121dce9c0 upstream.
    
    The function only sends the flush command to the IOMMU(s),
    but does not wait for its completion when it returns. Fix
    that.
    
    Fixes: 601367d76bd1 ('x86/amd-iommu: Remove iommu_flush_domain function')
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2b15a69dc20c9c7d29074038ad16a118abb40d7f
Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
Date:   Mon Oct 2 14:01:41 2017 +0900

    usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
    
    commit 29c7f3e68eec4ae94d85ad7b5dfdafdb8089f513 upstream.
    
    The DREQE bit of the DnFIFOSEL should be set to 1 after the DE bit of
    USB-DMAC on R-Car SoCs is set to 1 after the USB-DMAC received a
    zero-length packet. Otherwise, a transfer completion interruption
    of USB-DMAC doesn't happen. Even if the driver changes the sequence,
    normal operations (transmit/receive without zero-length packet) will
    not cause any side-effects. So, this patch fixes the sequence anyway.
    
    Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
    [shimoda: revise the commit log]
    Fixes: e73a9891b3a1 ("usb: renesas_usbhs: add DMAEngine support")
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e4a25d305457fcb7119ceaa94f85c1a82d1e0076
Author: Haozhong Zhang <haozhong.zhang@intel.com>
Date:   Tue Oct 10 15:01:22 2017 +0800

    KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
    
    commit 8eb3f87d903168bdbd1222776a6b1e281f50513e upstream.
    
    When KVM emulates an exit from L2 to L1, it loads L1 CR4 into the
    guest CR4. Before this CR4 loading, the guest CR4 refers to L2
    CR4. Because these two CR4's are in different levels of guest, we
    should vmx_set_cr4() rather than kvm_set_cr4() here. The latter, which
    is used to handle guest writes to its CR4, checks the guest change to
    CR4 and may fail if the change is invalid.
    
    The failure may cause trouble. Consider we start
      a L1 guest with non-zero L1 PCID in use,
         (i.e. L1 CR4.PCIDE == 1 && L1 CR3.PCID != 0)
    and
      a L2 guest with L2 PCID disabled,
         (i.e. L2 CR4.PCIDE == 0)
    and following events may happen:
    
    1. If kvm_set_cr4() is used in load_vmcs12_host_state() to load L1 CR4
       into guest CR4 (in VMCS01) for L2 to L1 exit, it will fail because
       of PCID check. As a result, the guest CR4 recorded in L0 KVM (i.e.
       vcpu->arch.cr4) is left to the value of L2 CR4.
    
    2. Later, if L1 attempts to change its CR4, e.g., clearing VMXE bit,
       kvm_set_cr4() in L0 KVM will think L1 also wants to enable PCID,
       because the wrong L2 CR4 is used by L0 KVM as L1 CR4. As L1
       CR3.PCID != 0, L0 KVM will inject GP to L1 guest.
    
    Fixes: 4704d0befb072 ("KVM: nVMX: Exiting from L2 to L1")
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 43c9d794871f95464fe6d1c6c1f5adc4c23b047d
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Mon Oct 9 23:30:02 2017 +0800

    crypto: shash - Fix zero-length shash ahash digest crash
    
    commit b61907bb42409adf9b3120f741af7c57dd7e3db2 upstream.
    
    The shash ahash digest adaptor function may crash if given a
    zero-length input together with a null SG list.  This is because
    it tries to read the SG list before looking at the length.
    
    This patch fixes it by checking the length first.
    
    Reported-by: Stephan Müller<smueller@chronox.de>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Tested-by: Stephan Müller <smueller@chronox.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f4cf5d75416ae3d79e03179fe6f4b9f1231ae42c
Author: Jaejoong Kim <climbbb.kim@gmail.com>
Date:   Thu Sep 28 19:16:30 2017 +0900

    HID: usbhid: fix out-of-bounds bug
    
    commit f043bfc98c193c284e2cd768fefabe18ac2fed9b upstream.
    
    The hid descriptor identifies the length and type of subordinate
    descriptors for a device. If the received hid descriptor is smaller than
    the size of the struct hid_descriptor, it is possible to cause
    out-of-bounds.
    
    In addition, if bNumDescriptors of the hid descriptor have an incorrect
    value, this can also cause out-of-bounds while approaching hdesc->desc[n].
    
    So check the size of hid descriptor and bNumDescriptors.
    
            BUG: KASAN: slab-out-of-bounds in usbhid_parse+0x9b1/0xa20
            Read of size 1 at addr ffff88006c5f8edf by task kworker/1:2/1261
    
            CPU: 1 PID: 1261 Comm: kworker/1:2 Not tainted
            4.14.0-rc1-42251-gebb2c2437d80 #169
            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
            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
            kasan_report+0x22f/0x340 mm/kasan/report.c:409
            __asan_report_load1_noabort+0x19/0x20 mm/kasan/report.c:427
            usbhid_parse+0x9b1/0xa20 drivers/hid/usbhid/hid-core.c:1004
            hid_add_device+0x16b/0xb30 drivers/hid/hid-core.c:2944
            usbhid_probe+0xc28/0x1100 drivers/hid/usbhid/hid-core.c:1369
            usb_probe_interface+0x35d/0x8e0 drivers/usb/core/driver.c:361
            really_probe drivers/base/dd.c:413
            driver_probe_device+0x610/0xa00 drivers/base/dd.c:557
            __device_attach_driver+0x230/0x290 drivers/base/dd.c:653
            bus_for_each_drv+0x161/0x210 drivers/base/bus.c:463
            __device_attach+0x26e/0x3d0 drivers/base/dd.c:710
            device_initial_probe+0x1f/0x30 drivers/base/dd.c:757
            bus_probe_device+0x1eb/0x290 drivers/base/bus.c:523
            device_add+0xd0b/0x1660 drivers/base/core.c:1835
            usb_set_configuration+0x104e/0x1870 drivers/usb/core/message.c:1932
            generic_probe+0x73/0xe0 drivers/usb/core/generic.c:174
            usb_probe_device+0xaf/0xe0 drivers/usb/core/driver.c:266
            really_probe drivers/base/dd.c:413
            driver_probe_device+0x610/0xa00 drivers/base/dd.c:557
            __device_attach_driver+0x230/0x290 drivers/base/dd.c:653
            bus_for_each_drv+0x161/0x210 drivers/base/bus.c:463
            __device_attach+0x26e/0x3d0 drivers/base/dd.c:710
            device_initial_probe+0x1f/0x30 drivers/base/dd.c:757
            bus_probe_device+0x1eb/0x290 drivers/base/bus.c:523
            device_add+0xd0b/0x1660 drivers/base/core.c:1835
            usb_new_device+0x7b8/0x1020 drivers/usb/core/hub.c:2457
            hub_port_connect drivers/usb/core/hub.c:4903
            hub_port_connect_change drivers/usb/core/hub.c:5009
            port_event drivers/usb/core/hub.c:5115
            hub_event+0x194d/0x3740 drivers/usb/core/hub.c:5195
            process_one_work+0xc7f/0x1db0 kernel/workqueue.c:2119
            worker_thread+0x221/0x1850 kernel/workqueue.c:2253
            kthread+0x3a1/0x470 kernel/kthread.c:231
            ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431
    
    Reported-by: Andrey Konovalov <andreyknvl@google.com>
    Signed-off-by: Jaejoong Kim <climbbb.kim@gmail.com>
    Tested-by: Andrey Konovalov <andreyknvl@google.com>
    Acked-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 f74c7fb21ee597e6ba5ff7ecb2b1021fa2a6212c
Author: Pavel Shilovsky <pshilov@microsoft.com>
Date:   Sat Jul 8 14:32:00 2017 -0700

    CIFS: Reconnect expired SMB sessions
    
    commit 511c54a2f69195b28afb9dd119f03787b1625bb4 upstream.
    
    According to the MS-SMB2 spec (3.2.5.1.6) once the client receives
    STATUS_NETWORK_SESSION_EXPIRED error code from a server it should
    reconnect the current SMB session. Currently the client doesn't do
    that. This can result in subsequent client requests failing by
    the server. The patch adds an additional logic to the demultiplex
    thread to identify expired sessions and reconnect them.
    
    Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6d1c3f7ed291c3139eccc3248d908aa7e0ac9e91
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Thu Aug 24 13:22:06 2017 -0400

    ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
    
    commit 1bd8d6cd3e413d64e543ec3e69ff43e75a1cf1ea upstream.
    
    In the ext4 implementations of SEEK_HOLE and SEEK_DATA, make sure we
    return -ENXIO for negative offsets instead of banging around inside
    the extent code and returning -EFSCORRUPTED.
    
    Reported-by: Mateusz S <muttdini@gmail.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>