commit cde3537bd1098cd4df322c397ef016015890913c
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Feb 7 11:07:58 2018 -0800

    Linux 3.18.94

commit 9c194a6a8ac2047e1504329838e7b49e2210f077
Author: Richard Weinberger <richard@nod.at>
Date:   Sun Jun 28 22:55:26 2015 +0200

    um: Fix out-of-tree build
    
    commit 0b5aedfe0e6654ec54f35109e1929a1cf7fc4cdd upstream.
    
    Commit 30b11ee9a (um: Remove copy&paste code from init.h)
    uncovered an issue wrt. out-of-tree builds.
    For out-of-tree builds, we must not rely on relative paths.
    Before 30b11ee9a it worked by chance as no host code included
    generated header files.
    
    Acked-by: Randy Dunlap <rdunlap@infradead.org>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e69660008e384de9d2da8c6d8c24ea1897850d59
Author: Jesse Chan <jc@linux.com>
Date:   Sun Nov 19 23:45:49 2017 -0800

    ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
    
    commit 0cab20cec0b663b7be8e2be5998d5a4113647f86 upstream.
    
    This change resolves a new compile-time warning
    when built as a loadable module:
    
    WARNING: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm512x-spi.o
    see include/linux/module.h for more information
    
    This adds the license as "GPL v2", which matches the header of the file.
    
    MODULE_DESCRIPTION and MODULE_AUTHOR are also added.
    
    Signed-off-by: Jesse Chan <jc@linux.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 28ae79a518421348abfc2a2dffd6a6b6e3699476
Author: Stefan Agner <stefan@agner.ch>
Date:   Sun Jan 7 15:05:49 2018 +0100

    spi: imx: do not access registers while clocks disabled
    
    commit d593574aff0ab846136190b1729c151c736727ec upstream.
    
    Since clocks are disabled except during message transfer clocks
    are also disabled when spi_imx_remove gets called. Accessing
    registers leads to a freeeze at least on a i.MX 6ULL. Enable
    clocks before disabling accessing the MXC_CSPICTRL register.
    
    Fixes: 9e556dcc55774 ("spi: spi-imx: only enable the clocks when we start to transfer a message")
    Signed-off-by: Stefan Agner <stefan@agner.ch>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 669d070536f377c2dd21c3d7488539239fd3f7f5
Author: Mark Salyzyn <salyzyn@android.com>
Date:   Thu Feb 1 07:37:04 2018 -0800

    selinux: general protection fault in sock_has_perm
    
    In the absence of commit a4298e4522d6 ("net: add SOCK_RCU_FREE socket
    flag") and all the associated infrastructure changes to take advantage
    of a RCU grace period before freeing, there is a heightened
    possibility that a security check is performed while an ill-timed
    setsockopt call races in from user space.  It then is prudent to null
    check sk_security, and if the case, reject the permissions.
    
    Because of the nature of this problem, hard to duplicate, no clear
    path, this patch is a simplified band-aid for stable trees lacking the
    infrastructure for the series of commits leading up to providing a
    suitable RCU grace period.  This adjustment is orthogonal to
    infrastructure improvements that may nullify the needed check, but
    could be added as good code hygiene in all trees.
    
    general protection fault: 0000 [#1] PREEMPT SMP KASAN
    CPU: 1 PID: 14233 Comm: syz-executor2 Not tainted 4.4.112-g5f6325b #28
    task: ffff8801d1095f00 task.stack: ffff8800b5950000
    RIP: 0010:[<ffffffff81b69b7e>]  [<ffffffff81b69b7e>] sock_has_perm+0x1fe/0x3e0 security/selinux/hooks.c:4069
    RSP: 0018:ffff8800b5957ce0  EFLAGS: 00010202
    RAX: dffffc0000000000 RBX: 1ffff10016b2af9f RCX: ffffffff81b69b51
    RDX: 0000000000000002 RSI: 0000000000000000 RDI: 0000000000000010
    RBP: ffff8800b5957de0 R08: 0000000000000001 R09: 0000000000000001
    R10: 0000000000000000 R11: 1ffff10016b2af68 R12: ffff8800b5957db8
    R13: 0000000000000000 R14: ffff8800b7259f40 R15: 00000000000000d7
    FS:  00007f72f5ae2700(0000) GS:ffff8801db300000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000a2fa38 CR3: 00000001d7980000 CR4: 0000000000160670
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Stack:
     ffffffff81b69a1f ffff8800b5957d58 00008000b5957d30 0000000041b58ab3
     ffffffff83fc82f2 ffffffff81b69980 0000000000000246 ffff8801d1096770
     ffff8801d3165668 ffffffff8157844b ffff8801d1095f00
     ffff880000000001
    Call Trace:
    [<ffffffff81b6a19d>] selinux_socket_setsockopt+0x4d/0x80 security/selinux/hooks.c:4338
    [<ffffffff81b4873d>] security_socket_setsockopt+0x7d/0xb0 security/security.c:1257
    [<ffffffff82df1ac8>] SYSC_setsockopt net/socket.c:1757 [inline]
    [<ffffffff82df1ac8>] SyS_setsockopt+0xe8/0x250 net/socket.c:1746
    [<ffffffff83776499>] entry_SYSCALL_64_fastpath+0x16/0x92
    Code: c2 42 9b b6 81 be 01 00 00 00 48 c7 c7 a0 cb 2b 84 e8
    f7 2f 6d ff 49 8d 7d 10 48 b8 00 00 00 00 00 fc ff df 48 89
    fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 83 01 00
    00 41 8b 75 10 31
    RIP  [<ffffffff81b69b7e>] sock_has_perm+0x1fe/0x3e0 security/selinux/hooks.c:4069
    RSP <ffff8800b5957ce0>
    ---[ end trace 7b5aaf788fef6174 ]---
    
    Signed-off-by: Mark Salyzyn <salyzyn@android.com>
    Acked-by: Paul Moore <paul@paul-moore.com>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Stephen Smalley <sds@tycho.nsa.gov>
    Cc: selinux@tycho.nsa.gov
    Cc: linux-security-module@vger.kernel.org
    Cc: Eric Paris <eparis@parisplace.org>
    Cc: Serge E. Hallyn <serge@hallyn.com>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fc6fd81a9e56b38cac9c37d557331c28daba1f4b
Author: Oliver Neukum <oneukum@suse.com>
Date:   Thu Jan 11 13:10:16 2018 +0100

    usb: uas: unconditionally bring back host after reset
    
    commit cbeef22fd611c4f47c494b821b2b105b8af970bb upstream.
    
    Quoting Hans:
    
    If we return 1 from our post_reset handler, then our disconnect handler
    will be called immediately afterwards. Since pre_reset blocks all scsi
    requests our disconnect handler will then hang in the scsi_remove_host
    call.
    
    This is esp. bad because our disconnect handler hanging for ever also
    stops the USB subsys from enumerating any new USB devices, causes commands
    like lsusb to hang, etc.
    
    In practice this happens when unplugging some uas devices because the hub
    code may see the device as needing a warm-reset and calls usb_reset_device
    before seeing the disconnect. In this case uas_configure_endpoints fails
    with -ENODEV. We do not want to print an error for this, so this commit
    also silences the shost_printk for -ENODEV.
    
    ENDQUOTE
    
    However, if we do that we better drop any unconditional execution
    and report to the SCSI subsystem that we have undergone a reset
    but we are not operational now.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Reported-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 512b79f1410fd05c2c7f2aab9fb4b0050560db89
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Tue Jan 9 12:30:53 2018 +0530

    usb: f_fs: Prevent gadget unbind if it is already unbound
    
    commit ce5bf9a50daf2d9078b505aca1cea22e88ecb94a upstream.
    
    Upon usb composition switch there is possibility of ep0 file
    release happening after gadget driver bind. In case of composition
    switch from adb to a non-adb composition gadget will never gets
    bound again resulting into failure of usb device enumeration. Fix
    this issue by checking FFS_FL_BOUND flag and avoid extra
    gadget driver unbind if it is already done as part of composition
    switch.
    
    This fixes adb reconnection error reported on Android running
    v4.4 and above kernel versions. Verified on Hikey running vanilla
    v4.15-rc7 + few out of tree Mali patches.
    
    Reviewed-at: https://android-review.googlesource.com/#/c/582632/
    
    Cc: Felipe Balbi <balbi@kernel.org>
    Cc: Greg KH <gregkh@linux-foundation.org>
    Cc: Michal Nazarewicz <mina86@mina86.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Dmitry Shmidt <dimitrysh@google.com>
    Cc: Badhri <badhri@google.com>
    Cc: Android Kernel Team <kernel-team@android.com>
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    [AmitP: Cherry-picked it from android-4.14 and updated the commit log]
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f180fa08aa474626b6853d8dc4e4ec2e8e4b3fc3
Author: Johan Hovold <johan@kernel.org>
Date:   Thu Jan 18 14:46:41 2018 +1100

    USB: serial: simple: add Motorola Tetra driver
    
    commit 46fe895e22ab3845515ec06b01eaf1282b342e29 upstream.
    
    Add new Motorola Tetra (simple) driver for Motorola Solutions TETRA PEI
    devices.
    
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=0cad ProdID=9011 Rev=24.16
    S:  Manufacturer=Motorola Solutions Inc.
    S:  Product=Motorola Solutions TETRA PEI interface
    C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
    I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
    
    Note that these devices do not support the CDC SET_CONTROL_LINE_STATE
    request (for any interface).
    
    Reported-by: Max Schulze <max.schulze@posteo.de>
    Tested-by: Max Schulze <max.schulze@posteo.de>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 466d964b7a196b3e5a6657678d983f5f97909d3f
Author: Shuah Khan <shuahkh@osg.samsung.com>
Date:   Wed Jan 17 12:08:03 2018 -0700

    usbip: list: don't list devices attached to vhci_hcd
    
    commit ef824501f50846589f02173d73ce3fe6021a9d2a upstream.
    
    usbip host lists devices attached to vhci_hcd on the same server
    when user does attach over localhost or specifies the server as the
    remote.
    
    usbip attach -r localhost -b busid
    or
    usbip attach -r servername (or server IP)
    
    Fix it to check and not list devices that are attached to vhci_hcd.
    
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 96ea4192d4f8f69d960090568601c2f51d83c800
Author: Shuah Khan <shuahkh@osg.samsung.com>
Date:   Wed Jan 17 12:07:30 2018 -0700

    usbip: prevent bind loops on devices attached to vhci_hcd
    
    commit ef54cf0c600fb8f5737fb001a9e357edda1a1de8 upstream.
    
    usbip host binds to devices attached to vhci_hcd on the same server
    when user does attach over localhost or specifies the server as the
    remote.
    
    usbip attach -r localhost -b busid
    or
    usbip attach -r servername (or server IP)
    
    Unbind followed by bind works, however device is left in a bad state with
    accesses via the attached busid result in errors and system hangs during
    shutdown.
    
    Fix it to check and bail out if the device is already attached to vhci_hcd.
    
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 464bab18479200df3582da84f4cf6861186e7a9a
Author: Jia-Ju Bai <baijiaju1990@gmail.com>
Date:   Wed Dec 13 20:34:36 2017 +0800

    USB: serial: io_edgeport: fix possible sleep-in-atomic
    
    commit c7b8f77872c73f69a16528a9eb87afefcccdc18b upstream.
    
    According to drivers/usb/serial/io_edgeport.c, the driver may sleep
    under a spinlock.
    The function call path is:
    edge_bulk_in_callback (acquire the spinlock)
       process_rcvd_data
         process_rcvd_status
           change_port_settings
             send_iosp_ext_cmd
               write_cmd_usb
                 usb_kill_urb --> may sleep
    
    To fix it, the redundant usb_kill_urb() is removed from the error path
    after usb_submit_urb() fails.
    
    This possible bug is found by my static analysis tool (DSAC) and checked
    by my code review.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d1cfbc6e33647497f08b3d7bcceb400f49802bdb
Author: Oliver Neukum <oneukum@suse.com>
Date:   Thu Jan 18 12:13:45 2018 +0100

    CDC-ACM: apply quirk for card reader
    
    commit df1cc78a52491f71d8170d513d0f6f114faa1bda upstream.
    
    This devices drops random bytes from messages if you talk to it
    too fast.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0a5e1547d1351bc4897066c330ce6af7f9962c59
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Sun Jan 14 16:09:00 2018 +0100

    USB: cdc-acm: Do not log urb submission errors on disconnect
    
    commit f0386c083c2ce85284dc0b419d7b89c8e567c09f upstream.
    
    When disconnected sometimes the cdc-acm driver logs errors like these:
    
    [20278.039417] cdc_acm 2-2:2.1: urb 9 failed submission with -19
    [20278.042924] cdc_acm 2-2:2.1: urb 10 failed submission with -19
    [20278.046449] cdc_acm 2-2:2.1: urb 11 failed submission with -19
    [20278.049920] cdc_acm 2-2:2.1: urb 12 failed submission with -19
    [20278.053442] cdc_acm 2-2:2.1: urb 13 failed submission with -19
    [20278.056915] cdc_acm 2-2:2.1: urb 14 failed submission with -19
    [20278.060418] cdc_acm 2-2:2.1: urb 15 failed submission with -19
    
    Silence these by not logging errors when the result is -ENODEV.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Oliver Neukum <oneukum@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit af5850d18ef65eb023bba1b79e28fbf3318e3d51
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Thu Jan 25 09:48:55 2018 +0100

    USB: serial: pl2303: new device id for Chilitag
    
    commit d08dd3f3dd2ae351b793fc5b76abdbf0fd317b12 upstream.
    
    This adds a new device id for Chilitag devices to the pl2303 driver.
    
    Reported-by: "Chu.Mike [朱堅宜]" <Mike-Chu@prolific.com.tw>
    Acked-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c478e3e8e93e4339439dc628d3b3ec6c2aba9ae3
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Sat Nov 25 13:32:38 2017 -0600

    staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID
    
    
    [ Upstream commit b77992d2df9e47144354d1b25328b180afa33442 ]
    
    When not associated with an AP, wifi device drivers should respond to the
    SIOCGIWESSID ioctl with a zero-length string for the SSID, which is the
    behavior expected by dhcpcd.
    
    Currently, this driver returns an error code (-1) from the ioctl call,
    which causes dhcpcd to assume that the device is not a wireless interface
    and therefore it fails to work correctly with it thereafter.
    
    This problem was reported and tested at
    https://github.com/lwfinger/rtl8188eu/issues/234.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5becc7c07bcca18bb2c29788cc1e98596fcca96c
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Nov 14 16:18:28 2017 +0000

    usb: gadget: don't dereference g until after it has been null checked
    
    
    [ Upstream commit b2fc059fa549fe6881d4c1f8d698b0f50bcd16ec ]
    
    Avoid dereferencing pointer g until after g has been sanity null checked;
    move the assignment of cdev much later when it is required into a more
    local scope.
    
    Detected by CoverityScan, CID#1222135 ("Dereference before null check")
    
    Fixes: b785ea7ce662 ("usb: gadget: composite: fix ep->maxburst initialization")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aba82d11275ae37564fcb2dd6a4e611795efd0d0
Author: Icenowy Zheng <icenowy@aosc.io>
Date:   Sun Apr 16 02:51:16 2017 -0400

    media: usbtv: add a new usbid
    
    
    [ Upstream commit 04226916d2360f56d57ad00bc48d2d1854d1e0b0 ]
    
    A new usbid of UTV007 is found in a newly bought device.
    
    The usbid is 1f71:3301.
    
    The ID on the chip is:
    UTV007
    A89029.1
    1520L18K1
    
    Both video and audio is tested with the modified usbtv driver.
    
    Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
    Acked-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0bac8214c01f7dfbb2a3de94ac20bb2366edddb2
Author: Gustavo A. R. Silva <garsilva@embeddedor.com>
Date:   Mon Nov 20 08:12:29 2017 -0600

    scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg
    
    
    [ Upstream commit 727535903bea924c4f73abb202c4b3e85fff0ca4 ]
    
    _vreg_ is being dereferenced before it is null checked, hence there is a
    potential null pointer dereference.
    
    Fix this by moving the pointer dereference after _vreg_ has been null
    checked.
    
    This issue was detected with the help of Coccinelle.
    
    Fixes: aa4976130934 ("ufs: Add regulator enable support")
    Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
    Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 33e592e7a793bd73c59c53f2cc4f0ca25c978c69
Author: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date:   Wed Nov 29 22:34:50 2017 +0900

    quota: Check for register_shrinker() failure.
    
    
    [ Upstream commit 88bc0ede8d35edc969350852894dc864a2dc1859 ]
    
    register_shrinker() might return -ENOMEM error since Linux 3.12.
    Call panic() as with other failure checks in this function if
    register_shrinker() failed.
    
    Fixes: 1d3d4437eae1 ("vmscan: per-node deferred work")
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Cc: Jan Kara <jack@suse.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Reviewed-by: Michal Hocko <mhocko@suse.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d5b5f8b30aee9939e837817bb9d0de317160482e
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Wed Nov 29 11:01:09 2017 +0100

    net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit
    
    
    [ Upstream commit 15bfe05c8d6386f1a90e9340d15336e85e32aad6 ]
    
    On 64-bit (e.g. powerpc64/allmodconfig):
    
        drivers/net/ethernet/xilinx/ll_temac_main.c: In function 'temac_start_xmit_done':
        drivers/net/ethernet/xilinx/ll_temac_main.c:633:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
            dev_kfree_skb_irq((struct sk_buff *)cur_p->app4);
                              ^
    
    cdmac_bd.app4 is u32, so it is too small to hold a kernel pointer.
    
    Note that several other fields in struct cdmac_bd are also too small to
    hold physical addresses on 64-bit platforms.
    
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d395c1bb7f92d2bd37a47f28659f49394acf93e6
Author: Robert Lippert <roblip@gmail.com>
Date:   Mon Nov 27 15:51:55 2017 -0800

    hwmon: (pmbus) Use 64bit math for DIRECT format values
    
    
    [ Upstream commit bd467e4eababe4c04272c1e646f066db02734c79 ]
    
    Power values in the 100s of watt range can easily blow past
    32bit math limits when processing everything in microwatts.
    
    Use 64bit math instead to avoid these issues on common 32bit ARM
    BMC platforms.
    
    Fixes: 442aba78728e ("hwmon: PMBus device driver")
    Signed-off-by: Robert Lippert <rlippert@google.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 07397e4f9b4da7de809103278cbd3a82d8793b54
Author: Andrew Elble <aweits@rit.edu>
Date:   Thu Nov 9 13:41:10 2017 -0500

    nfsd: check for use of the closed special stateid
    
    
    [ Upstream commit ae254dac721d44c0bfebe2795df87459e2e88219 ]
    
    Prevent the use of the closed (invalid) special stateid by clients.
    
    Signed-off-by: Andrew Elble <aweits@rit.edu>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1f71aa238fcde9356376d6d885d216adbf19d18a
Author: Trond Myklebust <trond.myklebust@primarydata.com>
Date:   Fri Nov 3 08:00:12 2017 -0400

    nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0)
    
    
    [ Upstream commit fb500a7cfee7f2f447d2bbf30cb59629feab6ac1 ]
    
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f2dc0da2c28194bc7f8722ad54565f90bcbd8b3a
Author: Eduardo Otubo <otubo@redhat.com>
Date:   Thu Nov 23 15:18:35 2017 +0100

    xen-netfront: remove warning when unloading module
    
    
    [ Upstream commit 5b5971df3bc2775107ddad164018a8a8db633b81 ]
    
    v2:
     * Replace busy wait with wait_event()/wake_up_all()
     * Cannot garantee that at the time xennet_remove is called, the
       xen_netback state will not be XenbusStateClosed, so added a
       condition for that
     * There's a small chance for the xen_netback state is
       XenbusStateUnknown by the time the xen_netfront switches to Closed,
       so added a condition for that.
    
    When unloading module xen_netfront from guest, dmesg would output
    warning messages like below:
    
      [  105.236836] xen:grant_table: WARNING: g.e. 0x903 still in use!
      [  105.236839] deferring g.e. 0x903 (pfn 0x35805)
    
    This problem relies on netfront and netback being out of sync. By the time
    netfront revokes the g.e.'s netback didn't have enough time to free all of
    them, hence displaying the warnings on dmesg.
    
    The trick here is to make netfront to wait until netback frees all the g.e.'s
    and only then continue to cleanup for the module removal, and this is done by
    manipulating both device states.
    
    Signed-off-by: Eduardo Otubo <otubo@redhat.com>
    Acked-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 577a0df9a63fd30c269c78bd0347a9059771bf36
Author: Wanpeng Li <wanpeng.li@hotmail.com>
Date:   Mon Nov 20 14:52:21 2017 -0800

    KVM: VMX: Fix rflags cache during vCPU reset
    
    
    [ Upstream commit c37c28730bb031cc8a44a130c2555c0f3efbe2d0 ]
    
    Reported by syzkaller:
    
       *** Guest State ***
       CR0: actual=0x0000000080010031, shadow=0x0000000060000010, gh_mask=fffffffffffffff7
       CR4: actual=0x0000000000002061, shadow=0x0000000000000000, gh_mask=ffffffffffffe8f1
       CR3 = 0x000000002081e000
       RSP = 0x000000000000fffa  RIP = 0x0000000000000000
       RFLAGS=0x00023000         DR7 = 0x00000000000000
              ^^^^^^^^^^
       ------------[ cut here ]------------
       WARNING: CPU: 6 PID: 24431 at /home/kernel/linux/arch/x86/kvm//x86.c:7302 kvm_arch_vcpu_ioctl_run+0x651/0x2ea0 [kvm]
       CPU: 6 PID: 24431 Comm: reprotest Tainted: G        W  OE   4.14.0+ #26
       RIP: 0010:kvm_arch_vcpu_ioctl_run+0x651/0x2ea0 [kvm]
       RSP: 0018:ffff880291d179e0 EFLAGS: 00010202
       Call Trace:
        kvm_vcpu_ioctl+0x479/0x880 [kvm]
        do_vfs_ioctl+0x142/0x9a0
        SyS_ioctl+0x74/0x80
        entry_SYSCALL_64_fastpath+0x23/0x9a
    
    The failed vmentry is triggered by the following beautified testcase:
    
        #include <unistd.h>
        #include <sys/syscall.h>
        #include <string.h>
        #include <stdint.h>
        #include <linux/kvm.h>
        #include <fcntl.h>
        #include <sys/ioctl.h>
    
        long r[5];
        int main()
        {
            struct kvm_debugregs dr = { 0 };
    
            r[2] = open("/dev/kvm", O_RDONLY);
            r[3] = ioctl(r[2], KVM_CREATE_VM, 0);
            r[4] = ioctl(r[3], KVM_CREATE_VCPU, 7);
            struct kvm_guest_debug debug = {
                    .control = 0xf0403,
                    .arch = {
                            .debugreg[6] = 0x2,
                            .debugreg[7] = 0x2
                    }
            };
            ioctl(r[4], KVM_SET_GUEST_DEBUG, &debug);
            ioctl(r[4], KVM_RUN, 0);
        }
    
    which testcase tries to setup the processor specific debug
    registers and configure vCPU for handling guest debug events through
    KVM_SET_GUEST_DEBUG.  The KVM_SET_GUEST_DEBUG ioctl will get and set
    rflags in order to set TF bit if single step is needed. All regs' caches
    are reset to avail and GUEST_RFLAGS vmcs field is reset to 0x2 during vCPU
    reset. However, the cache of rflags is not reset during vCPU reset. The
    function vmx_get_rflags() returns an unreset rflags cache value since
    the cache is marked avail, it is 0 after boot. Vmentry fails if the
    rflags reserved bit 1 is 0.
    
    This patch fixes it by resetting both the GUEST_RFLAGS vmcs field and
    its cache to 0x2 during vCPU reset.
    
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Tested-by: Dmitry Vyukov <dvyukov@google.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Nadav Amit <nadav.amit@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f3ca475ce752c5f8232b3629010571a978f8f97d
Author: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Date:   Tue Nov 14 23:20:05 2017 +0800

    mac80211: fix the update of path metric for RANN frame
    
    
    [ Upstream commit fbbdad5edf0bb59786a51b94a9d006bc8c2da9a2 ]
    
    The previous path metric update from RANN frame has not considered
    the own link metric toward the transmitting mesh STA. Fix this.
    
    Reported-by: Michael65535
    Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ed996209f0209d8863e135252a5c392aa5e775fe
Author: Michael Lyle <mlyle@lyle.org>
Date:   Fri Nov 24 15:14:27 2017 -0800

    bcache: check return value of register_shrinker
    
    
    [ Upstream commit 6c4ca1e36cdc1a0a7a84797804b87920ccbebf51 ]
    
    register_shrinker is now __must_check, so check it to kill a warning.
    Caller of bch_btree_cache_alloc in super.c appropriately checks return
    value so this is fully plumbed through.
    
    This V2 fixes checkpatch warnings and improves the commit description,
    as I was too hasty getting the previous version out.
    
    Signed-off-by: Michael Lyle <mlyle@lyle.org>
    Reviewed-by: Vojtech Pavlik <vojtech@suse.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f0705804d8ee13573ed34e6f86a5debfb15ba346
Author: Wanpeng Li <wanpeng.li@hotmail.com>
Date:   Sun Nov 5 16:54:47 2017 -0800

    KVM: X86: Fix operand/address-size during instruction decoding
    
    
    [ Upstream commit 3853be2603191829b442b64dac6ae8ba0c027bf9 ]
    
    Pedro reported:
      During tests that we conducted on KVM, we noticed that executing a "PUSH %ES"
      instruction under KVM produces different results on both memory and the SP
      register depending on whether EPT support is enabled. With EPT the SP is
      reduced by 4 bytes (and the written value is 0-padded) but without EPT support
      it is only reduced by 2 bytes. The difference can be observed when the CS.DB
      field is 1 (32-bit) but not when it's 0 (16-bit).
    
    The internal segment descriptor cache exist even in real/vm8096 mode. The CS.D
    also should be respected instead of just default operand/address-size/66H
    prefix/67H prefix during instruction decoding. This patch fixes it by also
    adjusting operand/address-size according to CS.D.
    
    Reported-by: Pedro Fonseca <pfonseca@cs.washington.edu>
    Tested-by: Pedro Fonseca <pfonseca@cs.washington.edu>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Nadav Amit <nadav.amit@gmail.com>
    Cc: Pedro Fonseca <pfonseca@cs.washington.edu>
    Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
    Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6ca9bcfea80df3c6ad81d2c091155c5204a047c8
Author: Liran Alon <liran.alon@oracle.com>
Date:   Sun Nov 5 16:56:34 2017 +0200

    KVM: x86: Don't re-execute instruction when not passing CR2 value
    
    
    [ Upstream commit 9b8ae63798cb97e785a667ff27e43fa6220cb734 ]
    
    In case of instruction-decode failure or emulation failure,
    x86_emulate_instruction() will call reexecute_instruction() which will
    attempt to use the cr2 value passed to x86_emulate_instruction().
    However, when x86_emulate_instruction() is called from
    emulate_instruction(), cr2 is not passed (passed as 0) and therefore
    it doesn't make sense to execute reexecute_instruction() logic at all.
    
    Fixes: 51d8b66199e9 ("KVM: cleanup emulate_instruction")
    
    Signed-off-by: Liran Alon <liran.alon@oracle.com>
    Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Reviewed-by: Wanpeng Li <wanpeng.li@hotmail.com>
    Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c786c16d615a1ba42d91858c3a73a1eb434c7f4d
Author: Liran Alon <liran.alon@oracle.com>
Date:   Sun Nov 5 16:56:33 2017 +0200

    KVM: x86: emulator: Return to user-mode on L1 CPL=0 emulation failure
    
    
    [ Upstream commit 1f4dcb3b213235e642088709a1c54964d23365e9 ]
    
    On this case, handle_emulation_failure() fills kvm_run with
    internal-error information which it expects to be delivered
    to user-mode for further processing.
    However, the code reports a wrong return-value which makes KVM to never
    return to user-mode on this scenario.
    
    Fixes: 6d77dbfc88e3 ("KVM: inject #UD if instruction emulation fails and exit to
    userspace")
    
    Signed-off-by: Liran Alon <liran.alon@oracle.com>
    Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Reviewed-by: Wanpeng Li <wanpeng.li@hotmail.com>
    Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f7c2ce3d42bc18fce799f9144cc28328a896c7b1
Author: Lyude Paul <lyude@redhat.com>
Date:   Tue Dec 12 14:31:30 2017 -0500

    igb: Free IRQs when device is hotplugged
    
    commit 888f22931478a05bc81ceb7295c626e1292bf0ed upstream.
    
    Recently I got a Caldigit TS3 Thunderbolt 3 dock, and noticed that upon
    hotplugging my kernel would immediately crash due to igb:
    
    [  680.825801] kernel BUG at drivers/pci/msi.c:352!
    [  680.828388] invalid opcode: 0000 [#1] SMP
    [  680.829194] Modules linked in: igb(O) thunderbolt i2c_algo_bit joydev vfat fat btusb btrtl btbcm btintel bluetooth ecdh_generic hp_wmi sparse_keymap rfkill wmi_bmof iTCO_wdt intel_rapl x86_pkg_temp_thermal coretemp crc32_pclmul snd_pcm rtsx_pci_ms mei_me snd_timer memstick snd pcspkr mei soundcore i2c_i801 tpm_tis psmouse shpchp wmi tpm_tis_core tpm video hp_wireless acpi_pad rtsx_pci_sdmmc mmc_core crc32c_intel serio_raw rtsx_pci mfd_core xhci_pci xhci_hcd i2c_hid i2c_core [last unloaded: igb]
    [  680.831085] CPU: 1 PID: 78 Comm: kworker/u16:1 Tainted: G           O     4.15.0-rc3Lyude-Test+ #6
    [  680.831596] Hardware name: HP HP ZBook Studio G4/826B, BIOS P71 Ver. 01.03 06/09/2017
    [  680.832168] Workqueue: kacpi_hotplug acpi_hotplug_work_fn
    [  680.832687] RIP: 0010:free_msi_irqs+0x180/0x1b0
    [  680.833271] RSP: 0018:ffffc9000030fbf0 EFLAGS: 00010286
    [  680.833761] RAX: ffff8803405f9c00 RBX: ffff88033e3d2e40 RCX: 000000000000002c
    [  680.834278] RDX: 0000000000000000 RSI: 00000000000000ac RDI: ffff880340be2178
    [  680.834832] RBP: 0000000000000000 R08: ffff880340be1ff0 R09: ffff8803405f9c00
    [  680.835342] R10: 0000000000000000 R11: 0000000000000040 R12: ffff88033d63a298
    [  680.835822] R13: ffff88033d63a000 R14: 0000000000000060 R15: ffff880341959000
    [  680.836332] FS:  0000000000000000(0000) GS:ffff88034f440000(0000) knlGS:0000000000000000
    [  680.836817] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [  680.837360] CR2: 000055e64044afdf CR3: 0000000001c09002 CR4: 00000000003606e0
    [  680.837954] Call Trace:
    [  680.838853]  pci_disable_msix+0xce/0xf0
    [  680.839616]  igb_reset_interrupt_capability+0x5d/0x60 [igb]
    [  680.840278]  igb_remove+0x9d/0x110 [igb]
    [  680.840764]  pci_device_remove+0x36/0xb0
    [  680.841279]  device_release_driver_internal+0x157/0x220
    [  680.841739]  pci_stop_bus_device+0x7d/0xa0
    [  680.842255]  pci_stop_bus_device+0x2b/0xa0
    [  680.842722]  pci_stop_bus_device+0x3d/0xa0
    [  680.843189]  pci_stop_and_remove_bus_device+0xe/0x20
    [  680.843627]  trim_stale_devices+0xf3/0x140
    [  680.844086]  trim_stale_devices+0x94/0x140
    [  680.844532]  trim_stale_devices+0xa6/0x140
    [  680.845031]  ? get_slot_status+0x90/0xc0
    [  680.845536]  acpiphp_check_bridge.part.5+0xfe/0x140
    [  680.846021]  acpiphp_hotplug_notify+0x175/0x200
    [  680.846581]  ? free_bridge+0x100/0x100
    [  680.847113]  acpi_device_hotplug+0x8a/0x490
    [  680.847535]  acpi_hotplug_work_fn+0x1a/0x30
    [  680.848076]  process_one_work+0x182/0x3a0
    [  680.848543]  worker_thread+0x2e/0x380
    [  680.848963]  ? process_one_work+0x3a0/0x3a0
    [  680.849373]  kthread+0x111/0x130
    [  680.849776]  ? kthread_create_worker_on_cpu+0x50/0x50
    [  680.850188]  ret_from_fork+0x1f/0x30
    [  680.850601] Code: 43 14 85 c0 0f 84 d5 fe ff ff 31 ed eb 0f 83 c5 01 39 6b 14 0f 86 c5 fe ff ff 8b 7b 10 01 ef e8 b7 e4 d2 ff 48 83 78 70 00 74 e3 <0f> 0b 49 8d b5 a0 00 00 00 e8 62 6f d3 ff e9 c7 fe ff ff 48 8b
    [  680.851497] RIP: free_msi_irqs+0x180/0x1b0 RSP: ffffc9000030fbf0
    
    As it turns out, normally the freeing of IRQs that would fix this is called
    inside of the scope of __igb_close(). However, since the device is
    already gone by the point we try to unregister the netdevice from the
    driver due to a hotplug we end up seeing that the netif isn't present
    and thus, forget to free any of the device IRQs.
    
    So: make sure that if we're in the process of dismantling the netdev, we
    always allow __igb_close() to be called so that IRQs may be freed
    normally. Additionally, only allow igb_close() to be called from
    __igb_close() if it hasn't already been called for the given adapter.
    
    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Fixes: 9474933caf21 ("igb: close/suspend race in netif_device_detach")
    Cc: Todd Fujinaka <todd.fujinaka@intel.com>
    Cc: Stephen Hemminger <stephen@networkplumber.org>
    Tested-by: Aaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d7e2fda23eb9e3625a70a48e2cb7a84ef0b2c6e2
Author: Jesse Chan <jc@linux.com>
Date:   Mon Nov 20 12:54:52 2017 -0800

    gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
    
    commit 97b03136e1b637d7a9d2274c099e44ecf23f1103 upstream.
    
    This change resolves a new compile-time warning
    when built as a loadable module:
    
    WARNING: modpost: missing MODULE_LICENSE() in drivers/gpio/gpio-iop.o
    see include/linux/module.h for more information
    
    This adds the license as "GPL", which matches the header of the file.
    
    MODULE_DESCRIPTION and MODULE_AUTHOR are also added.
    
    Signed-off-by: Jesse Chan <jc@linux.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6aab3aa52366a0051e5abf8aae4616c42053fd8e
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jan 9 23:11:03 2018 +0100

    ALSA: seq: Make ioctls race-free
    
    commit b3defb791b26ea0683a93a4f49c77ec45ec96f10 upstream.
    
    The ALSA sequencer ioctls have no protection against racy calls while
    the concurrent operations may lead to interfere with each other.  As
    reported recently, for example, the concurrent calls of setting client
    pool with a combination of write calls may lead to either the
    unkillable dead-lock or UAF.
    
    As a slightly big hammer solution, this patch introduces the mutex to
    make each ioctl exclusive.  Although this may reduce performance via
    parallel ioctl calls, usually it's not demanded for sequencer usages,
    hence it should be negligible.
    
    Reported-by: Luo Quan <a4651386@163.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    [bwh: Backported to 4.4: ioctl dispatch is done from snd_seq_do_ioctl();
     take the mutex and add ret variable there.]
    Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 524a6efbd1234439ba00176006ed95ad7d007da6
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Jan 5 16:26:00 2018 -0800

    loop: fix concurrent lo_open/lo_release
    
    commit ae6650163c66a7eff1acd6eb8b0f752dcfa8eba5 upstream.
    
    范龙飞 reports that KASAN can report a use-after-free in __lock_acquire.
    The reason is due to insufficient serialization in lo_release(), which
    will continue to use the loop device even after it has decremented the
    lo_refcnt to zero.
    
    In the meantime, another process can come in, open the loop device
    again as it is being shut down. Confusion ensues.
    
    Reported-by: 范龙飞 <long7573@126.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b1cf5261fedb0cb74f18279ea6f206529d381ff5
Author: Richard Weinberger <richard@nod.at>
Date:   Sun May 31 22:15:58 2015 +0200

    um: Remove copy&paste code from init.h
    
    commit 30b11ee9ae23d78de66b9ae315880af17a64ba83 upstream.
    
    As we got rid of the __KERNEL__ abuse, we can directly
    include linux/compiler.h now.
    This also allows gcc 5 to build UML.
    
    Reported-by: Hans-Werner Hilse <hwhilse@gmail.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Cc: Greg Hackmann <ghackmann@google.com>
    Cc: Bernie Innocenti <codewiz@google.com>
    Cc: Lorenzo Colitti <lorenzo@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit db72a03c34b5fb6ab37053ea4dffc37f831892ff
Author: Richard Weinberger <richard@nod.at>
Date:   Sun May 31 19:50:57 2015 +0200

    um: Stop abusing __KERNEL__
    
    commit 298e20ba8c197e8d429a6c8671550c41c7919033 upstream.
    
    Currently UML is abusing __KERNEL__ to distinguish between
    kernel and host code (os-Linux). It is better to use a custom
    define such that existing users of __KERNEL__ don't get confused.
    
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Cc: Greg Hackmann <ghackmann@google.com>
    Cc: Bernie Innocenti <codewiz@google.com>
    Cc: Lorenzo Colitti <lorenzo@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f79ad9c84ff551ae15bb85374e554659c263bb31
Author: Thomas Meyer <thomas@m3y3r.de>
Date:   Sun Aug 20 13:26:04 2017 +0200

    um: link vmlinux with -no-pie
    
    commit 883354afbc109c57f925ccc19840055193da0cc0 upstream.
    
    Debian's gcc defaults to pie. The global Makefile already defines the -fno-pie option.
    Link UML dynamic kernel image also with -no-pie to fix the build.
    
    Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Cc: Bernie Innocenti <codewiz@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 33fd368597ad615f9f7232ca9daa3ed3fdba1516
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 6 19:15:30 2015 -0700

    Input: do not emit unneeded EV_SYN when suspending
    
    commit 00159f19a5057cb779146afce1cceede692af346 upstream.
    
    Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are
    still pressed as we are suspending the device (and in all other cases when
    input core is forcibly releasing keys via input_dev_release_keys() call).
    
    Reviewed-by: Benson Leung <bleung@chromium.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Bo Hu <bohu@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>