commit c9cc129b6976b178041deaa3f68dc6c3784ef16d
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed May 13 05:15:52 2015 -0700

    Linux 3.10.78

commit eb7b2163c2c1bbac738be514e696d1b1a385c826
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Thu Mar 26 11:14:41 2015 +0530

    ARC: signal handling robustify
    
    commit e4140819dadc3624accac8294881bca8a3cba4ed upstream.
    
    A malicious signal handler / restorer can DOS the system by fudging the
    user regs saved on stack, causing weird things such as sigreturn returning
    to user mode PC but cpu state still being kernel mode....
    
    Ensure that in sigreturn path status32 always has U bit; any other bogosity
    (gargbage PC etc) will be taken care of by normal user mode exceptions mechanisms.
    
    Reproducer signal handler:
    
        void handle_sig(int signo, siginfo_t *info, void *context)
        {
    	ucontext_t *uc = context;
    	struct user_regs_struct *regs = &(uc->uc_mcontext.regs);
    
    	regs->scratch.status32 = 0;
        }
    
    Before the fix, kernel would go off to weeds like below:
    
        --------->8-----------
        [ARCLinux]$ ./signal-test
        Path: /signal-test
        CPU: 0 PID: 61 Comm: signal-test Not tainted 4.0.0-rc5+ #65
        task: 8f177880 ti: 5ffe6000 task.ti: 8f15c000
    
        [ECR   ]: 0x00220200 => Invalid Write @ 0x00000010 by insn @ 0x00010698
        [EFA   ]: 0x00000010
        [BLINK ]: 0x2007c1ee
        [ERET  ]: 0x10698
        [STAT32]: 0x00000000 :                                   <--------
        BTA: 0x00010680	 SP: 0x5ffe7e48	 FP: 0x00000000
        LPS: 0x20003c6c	LPE: 0x20003c70	LPC: 0x00000000
        ...
        --------->8-----------
    
    Reported-by: Alexey Brodkin <abrodkin@synopsys.com>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ad233850c2fa3057c0ba86e674ed9c26cc96ddd5
Author: hujianyang <hujianyang@huawei.com>
Date:   Tue Dec 30 11:56:09 2014 +0800

    UBI: fix soft lockup in ubi_check_volume()
    
    commit 9aa272b492e7551a9ee0e2c83c720ea013698485 upstream.
    
    Running mtd-utils/tests/ubi-tests/io_basic.c could cause
    soft lockup or watchdog reset. It is because *updatevol*
    will perform ubi_check_volume() after updating finish
    and this function will full scan the updated lebs if the
    volume is initialized as STATIC_VOLUME.
    
    This patch adds *cond_resched()* in the loop of lebs scan
    to avoid soft lockup.
    
    Helped by Richard Weinberger <richard@nod.at>
    
    [ 2158.067096] INFO: rcu_sched self-detected stall on CPU { 1}  (t=2101 jiffies g=1606 c=1605 q=56)
    [ 2158.172867] CPU: 1 PID: 2073 Comm: io_basic Tainted: G           O 3.10.53 #21
    [ 2158.172898] [<c000f624>] (unwind_backtrace+0x0/0x120) from [<c000c294>] (show_stack+0x10/0x14)
    [ 2158.172918] [<c000c294>] (show_stack+0x10/0x14) from [<c008ac3c>] (rcu_check_callbacks+0x1c0/0x660)
    [ 2158.172936] [<c008ac3c>] (rcu_check_callbacks+0x1c0/0x660) from [<c002b480>] (update_process_times+0x38/0x64)
    [ 2158.172953] [<c002b480>] (update_process_times+0x38/0x64) from [<c005ff38>] (tick_sched_handle+0x54/0x60)
    [ 2158.172966] [<c005ff38>] (tick_sched_handle+0x54/0x60) from [<c00601ac>] (tick_sched_timer+0x44/0x74)
    [ 2158.172978] [<c00601ac>] (tick_sched_timer+0x44/0x74) from [<c003f348>] (__run_hrtimer+0xc8/0x1b8)
    [ 2158.172992] [<c003f348>] (__run_hrtimer+0xc8/0x1b8) from [<c003fd9c>] (hrtimer_interrupt+0x128/0x2a4)
    [ 2158.173007] [<c003fd9c>] (hrtimer_interrupt+0x128/0x2a4) from [<c0246f1c>] (arch_timer_handler_virt+0x28/0x30)
    [ 2158.173022] [<c0246f1c>] (arch_timer_handler_virt+0x28/0x30) from [<c0086214>] (handle_percpu_devid_irq+0x9c/0x124)
    [ 2158.173036] [<c0086214>] (handle_percpu_devid_irq+0x9c/0x124) from [<c0082bd8>] (generic_handle_irq+0x20/0x30)
    [ 2158.173049] [<c0082bd8>] (generic_handle_irq+0x20/0x30) from [<c000969c>] (handle_IRQ+0x64/0x8c)
    [ 2158.173060] [<c000969c>] (handle_IRQ+0x64/0x8c) from [<c0008544>] (gic_handle_irq+0x3c/0x60)
    [ 2158.173074] [<c0008544>] (gic_handle_irq+0x3c/0x60) from [<c02f0f80>] (__irq_svc+0x40/0x50)
    [ 2158.173083] Exception stack(0xc4043c98 to 0xc4043ce0)
    [ 2158.173092] 3c80:                                                       c4043ce4 00000019
    [ 2158.173102] 3ca0: 1f8a865f c050ad10 1f8a864c 00000031 c04b5970 0003ebce 00000000 f3550000
    [ 2158.173113] 3cc0: bf00bc68 00000800 0003ebce c4043ce0 c0186d14 c0186cb8 80000013 ffffffff
    [ 2158.173130] [<c02f0f80>] (__irq_svc+0x40/0x50) from [<c0186cb8>] (read_current_timer+0x4/0x38)
    [ 2158.173145] [<c0186cb8>] (read_current_timer+0x4/0x38) from [<1f8a865f>] (0x1f8a865f)
    [ 2183.927097] BUG: soft lockup - CPU#1 stuck for 22s! [io_basic:2073]
    [ 2184.002229] Modules linked in: nandflash(O) [last unloaded: nandflash]
    
    Signed-off-by: Wang Kai <morgan.wang@huawei.com>
    Signed-off-by: hujianyang <hujianyang@huawei.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b5837189c92212ed5b14a0cc7aca4e477d230bd8
Author: K. Y. Srinivasan <kys@microsoft.com>
Date:   Thu Mar 19 08:11:34 2015 -0700

    Drivers: hv: vmbus: Don't wait after requesting offers
    
    commit 73cffdb65e679b98893f484063462c045adcf212 upstream.
    
    Don't wait after sending request for offers to the host. This wait is
    unnecessary and simply adds 5 seconds to the boot time.
    
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0fe8926482939a49ea62ec4b8803f1b67eb26f6c
Author: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Date:   Tue Feb 17 19:52:04 2015 +0100

    ARM: dts: dove: Fix uart[23] reg property
    
    commit a74cd13b807029397f7232449df929bac11fb228 upstream.
    
    Fix Dove's register addresses of uart2 and uart3 nodes that seem to
    be broken since ages due to a copy-and-paste error.
    
    Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
    Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b68cec9dc947f92bf8cdbe9cadcbb7583f5b3d14
Author: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date:   Tue Mar 24 16:29:32 2015 +0530

    staging: panel: fix lcd type
    
    commit 2c20d92dad5db6440cfa88d811b69fd605240ce4 upstream.
    
    the lcd type as defined in the Kconfig is not matching in the code.
    as a result the rs, rw and en pins were getting interchanged.
    Kconfig defines the value of PANEL_LCD to be 1 if we select custom
    configuration but in the code LCD_TYPE_CUSTOM is defined as 5.
    
    my hardware is LCD_TYPE_CUSTOM, but the pins were assigned to it
    as pins of LCD_TYPE_OLD, and it was not working.
    Now values are corrected with referenece to the values defined in
    Kconfig and it is working.
    checked on JHD204A lcd with LCD_TYPE_CUSTOM configuration.
    
    Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
    Acked-by: Willy Tarreau <w@1wt.eu>
    [wt: backport to 3.10 and 3.14]
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit db8349883cf762fe8862b514c1b510d04cb39928
Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Date:   Tue Mar 3 10:52:05 2015 +0100

    usb: gadget: printer: enqueue printer's response for setup request
    
    commit eb132ccbdec5df46e29c9814adf76075ce83576b upstream.
    
    Function-specific setup requests should be handled in such a way, that
    apart from filling in the data buffer, the requests are also actually
    enqueued: if function-specific setup is called from composte_setup(),
    the "usb_ep_queue()" block of code in composite_setup() is skipped.
    
    The printer function lacks this part and it results in e.g. get device id
    requests failing: the host expects some response, the device prepares it
    but does not equeue it for sending to the host, so the host finally asserts
    timeout.
    
    This patch adds enqueueing the prepared responses.
    
    Fixes: 2e87edf49227: "usb: gadget: make g_printer use composite"
    Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    [ported to stable 3.10 and 3.14]
    Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 228dae652188ab1e5ca96a6bb1adeb6acc2c43fd
Author: Felipe Balbi <balbi@ti.com>
Date:   Fri Feb 13 14:57:54 2015 -0600

    usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
    
    commit 84c0d178eb9f3a3ae4d63dc97a440266cf17f7f5 upstream.
    
    Make sure we're using the new macro, so our
    resume signaling will always pass certification.
    
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7332f3217887bf622efd06ef39e59dbae60d63e3
Author: Christoph Hellwig <hch@lst.de>
Date:   Thu Apr 23 09:48:49 2015 +0200

    3w-sas: fix command completion race
    
    commit 579d69bc1fd56d5af5761969aa529d1d1c188300 upstream.
    
    The 3w-sas driver needs to tear down the dma mappings before returning
    the command to the midlayer, as there is no guarantee the sglist and
    count are valid after that point.  Also remove the dma mapping helpers
    which have another inherent race due to the request_id index.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reported-by: Torsten Luettgert <ml-lkml@enda.eu>
    Tested-by: Bernd Kardatzki <Bernd.Kardatzki@med.uni-tuebingen.de>
    Acked-by: Adam Radford <aradford@gmail.com>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ea5f56ae530677ac4a671c6aff9f0c270b1b12ad
Author: Christoph Hellwig <hch@lst.de>
Date:   Thu Apr 23 09:48:51 2015 +0200

    3w-9xxx: fix command completion race
    
    commit 118c855b5623f3e2e6204f02623d88c09e0c34de upstream.
    
    The 3w-9xxx driver needs to tear down the dma mappings before returning
    the command to the midlayer, as there is no guarantee the sglist and
    count are valid after that point.  Also remove the dma mapping helpers
    which have another inherent race due to the request_id index.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Adam Radford <aradford@gmail.com>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1dff8de4ceeab5ea88372ec10966faa8e5817d51
Author: Christoph Hellwig <hch@lst.de>
Date:   Thu Apr 23 09:48:50 2015 +0200

    3w-xxxx: fix command completion race
    
    commit 9cd9554615cba14f0877cc9972a6537ad2bdde61 upstream.
    
    The 3w-xxxx driver needs to tear down the dma mappings before returning
    the command to the midlayer, as there is no guarantee the sglist and
    count are valid after that point.  Also remove the dma mapping helpers
    which have another inherent race due to the request_id index.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Adam Radford <aradford@gmail.com>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5a7d1e16a425786d8f6f5d4f707bb4dc879499d1
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Sat May 2 21:36:55 2015 -0400

    ext4: fix data corruption caused by unwritten and delayed extents
    
    commit d2dc317d564a46dfc683978a2e5a4f91434e9711 upstream.
    
    Currently it is possible to lose whole file system block worth of data
    when we hit the specific interaction with unwritten and delayed extents
    in status extent tree.
    
    The problem is that when we insert delayed extent into extent status
    tree the only way to get rid of it is when we write out delayed buffer.
    However there is a limitation in the extent status tree implementation
    so that when inserting unwritten extent should there be even a single
    delayed block the whole unwritten extent would be marked as delayed.
    
    At this point, there is no way to get rid of the delayed extents,
    because there are no delayed buffers to write out. So when a we write
    into said unwritten extent we will convert it to written, but it still
    remains delayed.
    
    When we try to write into that block later ext4_da_map_blocks() will set
    the buffer new and delayed and map it to invalid block which causes
    the rest of the block to be zeroed loosing already written data.
    
    For now we can fix this by simply not allowing to set delayed status on
    written extent in the extent status tree. Also add WARN_ON() to make
    sure that we notice if this happens in the future.
    
    This problem can be easily reproduced by running the following xfs_io.
    
    xfs_io -f -c "pwrite -S 0xaa 4096 2048" \
              -c "falloc 0 131072" \
              -c "pwrite -S 0xbb 65536 2048" \
              -c "fsync" /mnt/test/fff
    
    echo 3 > /proc/sys/vm/drop_caches
    xfs_io -c "pwrite -S 0xdd 67584 2048" /mnt/test/fff
    
    This can be theoretically also reproduced by at random by running fsx,
    but it's not very reliable, though on machines with bigger page size
    (like ppc) this can be seen more often (especially xfstest generic/127)
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be13cfbdf094e1303333e4adf41bd7cd749db4a0
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Sat Apr 25 15:56:15 2015 +0300

    rbd: end I/O the entire obj_request on error
    
    commit 082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6 upstream.
    
    When we end I/O struct request with error, we need to pass
    obj_request->length as @nr_bytes so that the entire obj_request worth
    of bytes is completed.  Otherwise block layer ends up confused and we
    trip on
    
        rbd_assert(more ^ (which == img_request->obj_request_count));
    
    in rbd_img_obj_callback() due to more being true no matter what.  We
    already do it in most cases but we are missing some, in particular
    those where we don't even get a chance to submit any obj_requests, due
    to an early -ENOMEM for example.
    
    A number of obj_request->xferred assignments seem to be redundant but
    I haven't touched any of obj_request->xferred stuff to keep this small
    and isolated.
    
    Cc: Alex Elder <elder@linaro.org>
    Reported-by: Shawn Edwards <lesser.evil@gmail.com>
    Reviewed-by: Sage Weil <sage@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 31608b7e75bf65e0ca6a50e1d27c5583a223e283
Author: Michal Simek <michal.simek@xilinx.com>
Date:   Tue Apr 14 12:03:09 2015 +0200

    serial: of-serial: Remove device_type = "serial" registration
    
    commit 6befa9d883385c580369a2cc9e53fbf329771f6d upstream.
    
    Do not probe all serial drivers by of_serial.c which are using
    device_type = "serial"; property. Only drivers which have valid
    compatible strings listed in the driver should be probed.
    
    When PORT_UNKNOWN is setup probe will fail anyway.
    
    Arnd quotation about driver historical background:
    "when I wrote that driver initially, the idea was that it would
    get used as a stub to hook up all other serial drivers but after
    that, the common code learned to create platform devices from DT"
    
    This patch fix the problem with on the system with xilinx_uartps and
    16550a where of_serial failed to register for xilinx_uartps and because
    of irq_dispose_mapping() removed irq_desc. Then when xilinx_uartps was asking
    for irq with request_irq() EINVAL is returned.
    
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4453c82b204f8ba4d3c107f04bd4f83c3132bde6
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Apr 27 10:36:11 2015 +0200

    ALSA: hda - Fix mute-LED fixed mode
    
    commit ee52e56e7b12834476cd0031c5986254ba1b6317 upstream.
    
    The mute-LED mode control has the fixed on/off states that are
    supposed to remain on/off regardless of the master switch.  However,
    this doesn't work actually because the vmaster hook is called in the
    vmaster code itself.
    
    This patch fixes it by calling the hook indirectly after checking the
    mute LED mode.
    
    Reported-and-tested-by: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b68ed131b3e4f3cdb740ea70fe216ca8789419d7
Author: Peter Zubaj <pzubaj@marticonet.sk>
Date:   Tue Apr 28 21:57:29 2015 +0200

    ALSA: emu10k1: Emu10k2 32 bit DMA mode
    
    commit 7241ea558c6715501e777396b5fc312c372e11d9 upstream.
    
    Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two
    modes for DMA. Second mode is useful for 64 bit os with more then 2 GB
    of ram (fixes problems with big soundfont loading)
    
    1) 32MB from 2 GB address space using 8192 pages (used now as default)
    2) 16MB from 4 GB address space using 4096 pages
    
    Mode is set using HCFG_EXPANDED_MEM flag in HCFG register.
    Also format of emu10k2 page table is then different.
    
    Signed-off-by: Peter Zubaj <pzubaj@marticonet.sk>
    Tested-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0da12e28a60087aaaa3fb4a11c12795b228bdad1
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Apr 27 13:00:09 2015 +0200

    ALSA: emu10k1: Fix card shortname string buffer overflow
    
    commit d02260824e2cad626fb2a9d62e27006d34b6dedc upstream.
    
    Some models provide too long string for the shortname that has 32bytes
    including the terminator, and it results in a non-terminated string
    exposed to the user-space.  This isn't too critical, though, as the
    string is stopped at the succeeding longname string.
    
    This patch fixes such entries by dropping "SB" prefix (it's enough to
    fit within 32 bytes, so far).  Meanwhile, it also changes strcpy()
    with strlcpy() to make sure that this kind of problem won't happen in
    future, too.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c542e91572c54d2127ab3da723a922893fef1fb6
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Apr 28 17:11:44 2015 +0200

    ALSA: emux: Fix mutex deadlock in OSS emulation
    
    commit 1c94e65c668f44d2c69ae7e7fc268ab3268fba3e upstream.
    
    The OSS emulation in synth-emux helper has a potential AB/BA deadlock
    at the simultaneous closing and opening:
    
      close ->
        snd_seq_release() ->
          sne_seq_free_client() ->
            snd_seq_delete_all_ports(): takes client->ports_mutex ->
    	  port_delete() ->
    	    snd_emux_unuse(): takes emux->register_mutex
    
      open ->
        snd_seq_oss_open() ->
          snd_emux_open_seq_oss(): takes emux->register_mutex ->
            snd_seq_event_port_attach() ->
    	  snd_seq_create_port(): takes client->ports_mutex
    
    This patch addresses the deadlock by reducing the rance taking
    emux->register_mutex in snd_emux_open_seq_oss().  The lock is needed
    for the refcount handling, so move it locally.  The calls in
    emux_seq.c are already with the mutex, thus they are replaced with the
    version without mutex lock/unlock.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c19e77907dc450c69028c03c4058e5a5688ab2a9
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Apr 27 14:50:39 2015 +0200

    ALSA: emux: Fix mutex deadlock at unloading
    
    commit 07b0e5d49d227e3950cb13a3e8caf248ef2a310e upstream.
    
    The emux-synth driver has a possible AB/BA mutex deadlock at unloading
    the emu10k1 driver:
    
      snd_emux_free() ->
        snd_emux_detach_seq(): mutex_lock(&emu->register_mutex) ->
          snd_seq_delete_kernel_client() ->
            snd_seq_free_client(): mutex_lock(&register_mutex)
    
      snd_seq_release() ->
        snd_seq_free_client(): mutex_lock(&register_mutex) ->
          snd_seq_delete_all_ports() ->
            snd_emux_unuse(): mutex_lock(&emu->register_mutex)
    
    Basically snd_emux_detach_seq() doesn't need a protection of
    emu->register_mutex as it's already being unregistered.  So, we can
    get rid of this for avoiding the deadlock.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cf30cd6bbc0c82854e0b5551e57ee02d001e61db
Author: David S. Miller <davem@davemloft.net>
Date:   Fri May 1 22:02:47 2015 -0400

    ipv4: Missing sk_nulls_node_init() in ping_unhash().
    
    [ Upstream commit a134f083e79fb4c3d0a925691e732c56911b4326 ]
    
    If we don't do that, then the poison value is left in the ->pprev
    backlink.
    
    This can cause crashes if we do a disconnect, followed by a connect().
    
    Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reported-by: Wen Xu <hotdog3645@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>