1. 06 May, 2020 2 commits
    • Thomas Gleixner's avatar
      ARM: futex: Address build warning · 8101b5a1
      Thomas Gleixner authored
      Stephen reported the following build warning on a ARM multi_v7_defconfig
      build with GCC 9.2.1:
      
      kernel/futex.c: In function 'do_futex':
      kernel/futex.c:1676:17: warning: 'oldval' may be used uninitialized in this function [-Wmaybe-uninitialized]
       1676 |   return oldval == cmparg;
            |          ~~~~~~~^~~~~~~~~
      kernel/futex.c:1652:6: note: 'oldval' was declared here
       1652 |  int oldval, ret;
            |      ^~~~~~
      
      introduced by commit a08971e9 ("futex: arch_futex_atomic_op_inuser()
      calling conventions change").
      
      While that change should not make any difference it confuses GCC which
      fails to work out that oldval is not referenced when the return value is
      not zero.
      
      GCC fails to properly analyze arch_futex_atomic_op_inuser(). It's not the
      early return, the issue is with the assembly macros. GCC fails to detect
      that those either set 'ret' to 0 and set oldval or set 'ret' to -EFAULT
      which makes oldval uninteresting. The store to the callsite supplied oldval
      pointer is conditional on ret == 0.
      
      The straight forward way to solve this is to make the store unconditional.
      
      Aside of addressing the build warning this makes sense anyway because it
      removes the conditional from the fastpath. In the error case the stored
      value is uninteresting and the extra store does not matter at all.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Link: https://lkml.kernel.org/r/87pncao2ph.fsf@nanos.tec.linutronix.de
      8101b5a1
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 3c40cdb0
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a potential scheduling latency problem for the algorithms
        used by WireGuard"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: arch/nhpoly1305 - process in explicit 4k chunks
        crypto: arch/lib - limit simd usage to 4k chunks
      3c40cdb0
  2. 05 May, 2020 6 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.7-2' of git://git.infradead.org/linux-platform-drivers-x86 · dc56c5ac
      Linus Torvalds authored
      Pull x86 platform driver fixes from Andy Shevchenko:
      
       - Avoid loading asus-nb-wmi module on selected laptop models
      
       - Fix S0ix debug support for Jasper Lake PMC
      
       - Few fixes which have been reported by Hulk bot and others
      
      * tag 'platform-drivers-x86-v5.7-2' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/x86: thinkpad_acpi: Remove always false 'value < 0' statement
        platform/x86: intel_pmc_core: avoid unused-function warnings
        platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA
        platform/x86: intel_pmc_core: Change Jasper Lake S0ix debug reg map back to ICL
        platform/x86/intel-uncore-freq: make uncore_root_kobj static
        platform/x86: wmi: Make two functions static
        platform/x86: surface3_power: Fix a NULL vs IS_ERR() check in probe
      dc56c5ac
    • Xiongfeng Wang's avatar
      platform/x86: thinkpad_acpi: Remove always false 'value < 0' statement · f8a31eca
      Xiongfeng Wang authored
      Since 'value' is declared as unsigned long, the following statement is
      always false.
      	value < 0
      
      So let's remove it.
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarXiongfeng Wang <wangxiongfeng2@huawei.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      f8a31eca
    • Arnd Bergmann's avatar
      platform/x86: intel_pmc_core: avoid unused-function warnings · 01f259f3
      Arnd Bergmann authored
      When both CONFIG_DEBUG_FS and CONFIG_PM_SLEEP are disabled, the
      functions that got moved out of the #ifdef section now cause
      a warning:
      
      drivers/platform/x86/intel_pmc_core.c:654:13: error: 'pmc_core_lpm_display' defined but not used [-Werror=unused-function]
        654 | static void pmc_core_lpm_display(struct pmc_dev *pmcdev, struct device *dev,
            |             ^~~~~~~~~~~~~~~~~~~~
      drivers/platform/x86/intel_pmc_core.c:617:13: error: 'pmc_core_slps0_display' defined but not used [-Werror=unused-function]
        617 | static void pmc_core_slps0_display(struct pmc_dev *pmcdev, struct device *dev,
            |             ^~~~~~~~~~~~~~~~~~~~~~
      
      Rather than add even more #ifdefs here, remove them entirely and
      let the compiler work it out, it can actually get rid of all the
      debugfs calls without problems as long as the struct member is
      there.
      
      The two PM functions just need a __maybe_unused annotations to avoid
      another warning instead of the #ifdef.
      
      Fixes: aae43c2b ("platform/x86: intel_pmc_core: Relocate pmc_core_*_display() to outside of CONFIG_DEBUG_FS")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      01f259f3
    • Hans de Goede's avatar
      platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA · 3bd12da7
      Hans de Goede authored
      asus-nb-wmi does not add any extra functionality on these Asus
      Transformer books. They have detachable keyboards, so the hotkeys are
      send through a HID device (and handled by the hid-asus driver) and also
      the rfkill functionality is not used on these devices.
      
      Besides not adding any extra functionality, initializing the WMI interface
      on these devices actually has a negative side-effect. For some reason
      the \_SB.ATKD.INIT() function which asus_wmi_platform_init() calls drives
      GPO2 (INT33FC:02) pin 8, which is connected to the front facing webcam LED,
      high and there is no (WMI or other) interface to drive this low again
      causing the LED to be permanently on, even during suspend.
      
      This commit adds a blacklist of DMI system_ids on which not to load the
      asus-nb-wmi and adds these Transformer books to this list. This fixes
      the webcam LED being permanently on under Linux.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      3bd12da7
    • Archana Patni's avatar
      platform/x86: intel_pmc_core: Change Jasper Lake S0ix debug reg map back to ICL · e87fa339
      Archana Patni authored
      Jasper Lake uses Icelake PCH IPs and the S0ix debug interfaces are same as
      Icelake. It uses SLP_S0_DBG register latch/read interface from Icelake
      generation. It doesn't use Tiger Lake LPM debug registers. Change the
      Jasper Lake S0ix debug interface to use the ICL reg map.
      
      Fixes: 16292bed ("platform/x86: intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support")
      Signed-off-by: default avatarArchana Patni <archana.patni@intel.com>
      Acked-by: default avatarDavid E. Box <david.e.box@intel.com>
      Tested-by: default avatarDivagar Mohandass <divagar.mohandass@intel.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      e87fa339
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 47cf1b42
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - Wacom driver functional and regression fixes from Jason Gerecke
      
       - race condition fix in usbhid, found by syzbot and fixed by Alan Stern
      
       - a few device-specific quirks and ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock
        HID: mcp2221: add gpiolib dependency
        HID: i2c-hid: reset Synaptics SYNA2393 on resume
        HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT
        HID: usbhid: Fix race between usbhid_close() and usbhid_stop()
        Revert "HID: wacom: generic: read the number of expected touches on a per collection basis"
        HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead
        HID: alps: Add AUI1657 device ID
        HID: logitech: Add support for Logitech G11 extra keys
        HID: multitouch: add eGalaxTouch P80H84 support
        HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices
      47cf1b42
  3. 04 May, 2020 6 commits
  4. 03 May, 2020 4 commits
  5. 02 May, 2020 10 commits
    • Linus Torvalds's avatar
      Merge tag 'pm-5.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 743f0573
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
      
       - prevent the intel_pstate driver from printing excessive diagnostic
         messages in some cases (Chris Wilson)
      
       - make the hibernation restore kernel freeze kernel threads as well as
         user space tasks (Dexuan Cui)
      
       - fix the ACPI device PM disagnostic messages to include the correct
         power state name (Kai-Heng Feng).
      
      * tag 'pm-5.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: ACPI: Output correct message on target power state
        PM: hibernate: Freeze kernel threads in software_resume()
        cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once
      743f0573
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq' and 'pm-sleep' · a5383996
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once
      
      * pm-sleep:
        PM: hibernate: Freeze kernel threads in software_resume()
      a5383996
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.7-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · f66ed1eb
      Linus Torvalds authored
      Pull iomap fix from Darrick Wong:
       "Hoist the check for an unrepresentable FIBMAP return value into
        ioctl_fibmap.
      
        The internal kernel function can handle 64-bit values (and is needed
        to fix a regression on ext4 + jbd2). It is only the userspace ioctl
        that is so old that it cannot deal"
      
      * tag 'iomap-5.7-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        fibmap: Warn and return an error in case of block > INT_MAX
      f66ed1eb
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.7-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 29a47f45
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Stable fixes:
         - fix handling of backchannel binding in BIND_CONN_TO_SESSION
      
        Bugfixes:
         - Fix a credential use-after-free issue in pnfs_roc()
         - Fix potential posix_acl refcnt leak in nfs3_set_acl
         - defer slow parts of rpc_free_client() to a workqueue
         - Fix an Oopsable race in __nfs_list_for_each_server()
         - Fix trace point use-after-free race
         - Regression: the RDMA client no longer responds to server disconnect
           requests
         - Fix return values of xdr_stream_encode_item_{present, absent}
         - _pnfs_return_layout() must always wait for layoutreturn completion
      
        Cleanups:
         - Remove unreachable error conditions"
      
      * tag 'nfs-for-5.7-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: Fix a race in __nfs_list_for_each_server()
        NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION
        SUNRPC: defer slow parts of rpc_free_client() to a workqueue.
        NFSv4: Remove unreachable error condition due to rpc_run_task()
        SUNRPC: Remove unreachable error condition
        xprtrdma: Fix use of xdr_stream_encode_item_{present, absent}
        xprtrdma: Fix trace point use-after-free race
        xprtrdma: Restore wake-up-all to rpcrdma_cm_event_handler()
        nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
        NFS/pnfs: Fix a credential use-after-free issue in pnfs_roc()
        NFS/pnfs: Ensure that _pnfs_return_layout() waits for layoutreturn completion
      29a47f45
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-5.7-rc4' of git://git.infradead.org/users/vkoul/slave-dma · ed6889db
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "Core:
         - Documentation typo fixes
         - fix the channel indexes
         - dmatest: fixes for process hang and iterations
      
        Drivers:
         - hisilicon: build error fix without PCI_MSI
         - ti-k3: deadlock fix
         - uniphier-xdmac: fix for reg region
         - pch: fix data race
         - tegra: fix clock state"
      
      * tag 'dmaengine-fix-5.7-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: dmatest: Fix process hang when reading 'wait' parameter
        dmaengine: dmatest: Fix iteration non-stop logic
        dmaengine: tegra-apb: Ensure that clock is enabled during of DMA synchronization
        dmaengine: fix channel index enumeration
        dmaengine: mmp_tdma: Reset channel error on release
        dmaengine: mmp_tdma: Do not ignore slave config validation errors
        dmaengine: pch_dma.c: Avoid data race between probe and irq handler
        dt-bindings: dma: uniphier-xdmac: switch to single reg region
        include/linux/dmaengine: Typos fixes in API documentation
        dmaengine: xilinx_dma: Add missing check for empty list
        dmaengine: ti: k3-psil: fix deadlock on error path
        dmaengine: hisilicon: Fix build error without PCI_MSI
      ed6889db
    • Jia He's avatar
      vhost: vsock: kick send_pkt worker once device is started · 0b841030
      Jia He authored
      Ning Bo reported an abnormal 2-second gap when booting Kata container [1].
      The unconditional timeout was caused by VSOCK_DEFAULT_CONNECT_TIMEOUT of
      connecting from the client side. The vhost vsock client tries to connect
      an initializing virtio vsock server.
      
      The abnormal flow looks like:
      host-userspace           vhost vsock                       guest vsock
      ==============           ===========                       ============
      connect()     -------->  vhost_transport_send_pkt_work()   initializing
         |                     vq->private_data==NULL
         |                     will not be queued
         V
      schedule_timeout(2s)
                               vhost_vsock_start()  <---------   device ready
                               set vq->private_data
      
      wait for 2s and failed
      connect() again          vq->private_data!=NULL         recv connecting pkt
      
      Details:
      1. Host userspace sends a connect pkt, at that time, guest vsock is under
         initializing, hence the vhost_vsock_start has not been called. So
         vq->private_data==NULL, and the pkt is not been queued to send to guest
      2. Then it sleeps for 2s
      3. After guest vsock finishes initializing, vq->private_data is set
      4. When host userspace wakes up after 2s, send connecting pkt again,
         everything is fine.
      
      As suggested by Stefano Garzarella, this fixes it by additional kicking the
      send_pkt worker in vhost_vsock_start once the virtio device is started. This
      makes the pending pkt sent again.
      
      After this patch, kata-runtime (with vsock enabled) boot time is reduced
      from 3s to 1s on a ThunderX2 arm64 server.
      
      [1] https://github.com/kata-containers/runtime/issues/1917Reported-by: default avatarNing Bo <n.b@live.com>
      Suggested-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Signed-off-by: default avatarJia He <justin.he@arm.com>
      Link: https://lore.kernel.org/r/20200501043840.186557-1-justin.he@arm.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      0b841030
    • Stefan Hajnoczi's avatar
      virtio-blk: handle block_device_operations callbacks after hot unplug · 90b5feb8
      Stefan Hajnoczi authored
      A userspace process holding a file descriptor to a virtio_blk device can
      still invoke block_device_operations after hot unplug.  This leads to a
      use-after-free accessing vblk->vdev in virtblk_getgeo() when
      ioctl(HDIO_GETGEO) is invoked:
      
        BUG: unable to handle kernel NULL pointer dereference at 0000000000000090
        IP: [<ffffffffc00e5450>] virtio_check_driver_offered_feature+0x10/0x90 [virtio]
        PGD 800000003a92f067 PUD 3a930067 PMD 0
        Oops: 0000 [#1] SMP
        CPU: 0 PID: 1310 Comm: hdio-getgeo Tainted: G           OE  ------------   3.10.0-1062.el7.x86_64 #1
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
        task: ffff9be5fbfb8000 ti: ffff9be5fa890000 task.ti: ffff9be5fa890000
        RIP: 0010:[<ffffffffc00e5450>]  [<ffffffffc00e5450>] virtio_check_driver_offered_feature+0x10/0x90 [virtio]
        RSP: 0018:ffff9be5fa893dc8  EFLAGS: 00010246
        RAX: ffff9be5fc3f3400 RBX: ffff9be5fa893e30 RCX: 0000000000000000
        RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff9be5fbc10b40
        RBP: ffff9be5fa893dc8 R08: 0000000000000301 R09: 0000000000000301
        R10: 0000000000000000 R11: 0000000000000000 R12: ffff9be5fdc24680
        R13: ffff9be5fbc10b40 R14: ffff9be5fbc10480 R15: 0000000000000000
        FS:  00007f1bfb968740(0000) GS:ffff9be5ffc00000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000000000000090 CR3: 000000003a894000 CR4: 0000000000360ff0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
        Call Trace:
         [<ffffffffc016ac37>] virtblk_getgeo+0x47/0x110 [virtio_blk]
         [<ffffffff8d3f200d>] ? handle_mm_fault+0x39d/0x9b0
         [<ffffffff8d561265>] blkdev_ioctl+0x1f5/0xa20
         [<ffffffff8d488771>] block_ioctl+0x41/0x50
         [<ffffffff8d45d9e0>] do_vfs_ioctl+0x3a0/0x5a0
         [<ffffffff8d45dc81>] SyS_ioctl+0xa1/0xc0
      
      A related problem is that virtblk_remove() leaks the vd_index_ida index
      when something still holds a reference to vblk->disk during hot unplug.
      This causes virtio-blk device names to be lost (vda, vdb, etc).
      
      Fix these issues by protecting vblk->vdev with a mutex and reference
      counting vblk so the vd_index_ida index can be removed in all cases.
      
      Fixes: 48e4043d ("virtio: add virtio disk geometry feature")
      Reported-by: default avatarLance Digby <ldigby@redhat.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Link: https://lore.kernel.org/r/20200430140442.171016-1-stefanha@redhat.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      90b5feb8
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.7-rc4' of git://github.com/awilliam/linux-vfio · 690e2aba
      Linus Torvalds authored
      Pull VFIO fixes from Alex Williamson:
      
       - copy_*_user validity check for new vfio_dma_rw interface (Yan Zhao)
      
       - Fix a potential math overflow (Yan Zhao)
      
       - Use follow_pfn() for calculating PFNMAPs (Sean Christopherson)
      
      * tag 'vfio-v5.7-rc4' of git://github.com/awilliam/linux-vfio:
        vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
        vfio: avoid possible overflow in vfio_iommu_type1_pin_pages
        vfio: checking of validity of user vaddr in vfio_dma_rw
      690e2aba
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 42eb62d4
      Linus Torvalds authored
      Pull arm64 fix from Catalin Marinas:
       "Add -fasynchronous-unwind-tables to the vDSO CFLAGS"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: vdso: Add -fasynchronous-unwind-tables to cflags
      42eb62d4
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.7-2020-05-01' of git://git.kernel.dk/linux-block · cf018530
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix for statx not grabbing the file table, making AT_EMPTY_PATH fail
      
       - Cover a few cases where async poll can handle retry, eliminating the
         need for an async thread
      
       - fallback request busy/free fix (Bijan)
      
       - syzbot reported SQPOLL thread exit fix for non-preempt (Xiaoguang)
      
       - Fix extra put of req for sync_file_range (Pavel)
      
       - Always punt splice async. We'll improve this for 5.8, but wanted to
         eliminate the inode mutex lock from the non-blocking path for 5.7
         (Pavel)
      
      * tag 'io_uring-5.7-2020-05-01' of git://git.kernel.dk/linux-block:
        io_uring: punt splice async because of inode mutex
        io_uring: check non-sync defer_list carefully
        io_uring: fix extra put in sync_file_range()
        io_uring: use cond_resched() in io_ring_ctx_wait_and_kill()
        io_uring: use proper references for fallback_req locking
        io_uring: only force async punt if poll based retry can't handle it
        io_uring: enable poll retry for any file with ->read_iter / ->write_iter
        io_uring: statx must grab the file table for valid fd
      cf018530
  6. 01 May, 2020 12 commits
    • Linus Torvalds's avatar
      Merge tag 'block-5.7-2020-05-01' of git://git.kernel.dk/linux-block · 052c467c
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A few fixes for this release:
      
         - NVMe pull request from Christoph, with a single fix for a double
           free in the namespace error handling.
      
         - Kill the bd_openers check in blk_drop_partitions(), fixing a
           regression in this merge window (Christoph)"
      
      * tag 'block-5.7-2020-05-01' of git://git.kernel.dk/linux-block:
        block: remove the bd_openers checks in blk_drop_partitions
        nvme: prevent double free in nvme_alloc_ns() error handling
      052c467c
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ab386c46
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Three driver bugfixes, and two reverts because the original patches
        revealed underlying problems which the Tegra guys are now working on"
      
      * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: aspeed: Avoid i2c interrupt status clear race condition.
        i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling
        Revert "i2c: tegra: Better handle case where CPU0 is busy for a long time"
        Revert "i2c: tegra: Synchronize DMA before termination"
        i2c: iproc: generate stop event for slave writes
      ab386c46
    • Linus Torvalds's avatar
      Merge tag 'sound-5.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · c5364190
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a collection of small fixes around this time:
      
         - One more try for fixing PCM OSS regression
      
         - HD-audio: a new quirk for Lenovo, the improved driver blacklisting,
           a lock fix in the minor error path, and a fix for the possible race
           at monitor notifiaction
      
         - USB-audio: a quirk ID fix, a fix for POD HD500 workaround"
      
      * tag 'sound-5.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID
        ALSA: opti9xx: shut up gcc-10 range warning
        ALSA: hda/hdmi: fix without unlocked before return
        ALSA: hda/hdmi: fix race in monitor detection during probe
        ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter
        ALSA: line6: Fix POD HD500 audio playback
        ALSA: pcm: oss: Place the plugin buffer overflow checks correctly (for 5.7)
        ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
        ALSA: hda: Match both PCI ID and SSID for driver blacklist
      c5364190
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-05-01' of git://anongit.freedesktop.org/drm/drm · 477bfeb9
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular scheduled fixes for graphics. Nothing to extreme bunch of
        amdgpu fixes, i915 and qxl fixes, along with some misc ones.
      
        All seems to be progressing normally.
      
        core:
         - EDID off by one DTD fix
         - DP mst write return code fix
      
        dma-buf:
         - fix SET_NAME ioctl uapi
         - doc fixes
      
        amdgpu:
         - Fix a green screen on resume issue
         - PM fixes for SR-IOV SDMA fix for navi
         - Renoir display fixes
         - Cursor and pageflip stuttering fixes
         - Misc additional display fixes
         - (uapi) Add additional DCC tiling flags for navi1x
      
        i915:
         - Fix selftest refcnt leak (Xiyu)
         - Fix gem vma lock (Chris)
         - Fix gt's i915_request.timeline acquire by checking if cacheline is
           valid (Chris)
         - Fix IRQ postinistall fault masks (Matt)
      
        qxl:
         - use after gree fix
         - fix lost kunmap
         - release leak fix
      
        virtio:
         - context destruction fix"
      
      * tag 'drm-fixes-2020-05-01' of git://anongit.freedesktop.org/drm/drm: (26 commits)
        dma-buf: fix documentation build warnings
        drm/qxl: qxl_release use after free
        drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
        drm/i915: Use proper fault mask in interrupt postinstall too
        drm/amd/display: Use cursor locking to prevent flip delays
        drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1
        drm/amd/display: Defer cursor update around VUPDATE for all ASIC
        drm/amd/display: fix rn soc bb update
        drm/amd/display: check if REFCLK_CNTL register is present
        drm/amdgpu: bump version for invalidate L2 before SDMA IBs
        drm/amdgpu: invalidate L2 before SDMA IBs (v2)
        drm/amdgpu: add tiling flags from Mesa
        drm/amd/powerplay: avoid using pm_en before it is initialized revised
        Revert "drm/amd/powerplay: avoid using pm_en before it is initialized"
        drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
        drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
        drm/virtio: only destroy created contexts
        drm/dp_mst: Fix drm_dp_send_dpcd_write() return code
        drm/i915/gt: Check cacheline is valid before acquiring
        drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
        ...
      477bfeb9
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cebcff3a
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four minor fixes: three in drivers and one in the core.
      
        The core one allows an additional state change that fixes a regression
        introduced by an update to the aacraid driver in the previous merge
        window"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: target/iblock: fix WRITE SAME zeroing
        scsi: qla2xxx: check UNLOADING before posting async work
        scsi: qla2xxx: set UNLOADING before waiting for session deletion
        scsi: core: Allow the state change from SDEV_QUIESCE to SDEV_BLOCK
      cebcff3a
    • Pavel Begunkov's avatar
      io_uring: punt splice async because of inode mutex · 2fb3e822
      Pavel Begunkov authored
      Nonblocking do_splice() still may wait for some time on an inode mutex.
      Let's play safe and always punt it async.
      Reported-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      2fb3e822
    • Pavel Begunkov's avatar
      io_uring: check non-sync defer_list carefully · 4ee36314
      Pavel Begunkov authored
      io_req_defer() do double-checked locking. Use proper helpers for that,
      i.e. list_empty_careful().
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4ee36314
    • Pavel Begunkov's avatar
      io_uring: fix extra put in sync_file_range() · 7759a0bf
      Pavel Begunkov authored
      [   40.179474] refcount_t: underflow; use-after-free.
      [   40.179499] WARNING: CPU: 6 PID: 1848 at lib/refcount.c:28 refcount_warn_saturate+0xae/0xf0
      ...
      [   40.179612] RIP: 0010:refcount_warn_saturate+0xae/0xf0
      [   40.179617] Code: 28 44 0a 01 01 e8 d7 01 c2 ff 0f 0b 5d c3 80 3d 15 44 0a 01 00 75 91 48 c7 c7 b8 f5 75 be c6 05 05 44 0a 01 01 e8 b7 01 c2 ff <0f> 0b 5d c3 80 3d f3 43 0a 01 00 0f 85 6d ff ff ff 48 c7 c7 10 f6
      [   40.179619] RSP: 0018:ffffb252423ebe18 EFLAGS: 00010286
      [   40.179623] RAX: 0000000000000000 RBX: ffff98d65e929400 RCX: 0000000000000000
      [   40.179625] RDX: 0000000000000001 RSI: 0000000000000086 RDI: 00000000ffffffff
      [   40.179627] RBP: ffffb252423ebe18 R08: 0000000000000001 R09: 000000000000055d
      [   40.179629] R10: 0000000000000c8c R11: 0000000000000001 R12: 0000000000000000
      [   40.179631] R13: ffff98d68c434400 R14: ffff98d6a9cbaa20 R15: ffff98d6a609ccb8
      [   40.179634] FS:  0000000000000000(0000) GS:ffff98d6af580000(0000) knlGS:0000000000000000
      [   40.179636] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   40.179638] CR2: 00000000033e3194 CR3: 000000006480a003 CR4: 00000000003606e0
      [   40.179641] Call Trace:
      [   40.179652]  io_put_req+0x36/0x40
      [   40.179657]  io_free_work+0x15/0x20
      [   40.179661]  io_worker_handle_work+0x2f5/0x480
      [   40.179667]  io_wqe_worker+0x2a9/0x360
      [   40.179674]  ? _raw_spin_unlock_irqrestore+0x24/0x40
      [   40.179681]  kthread+0x12c/0x170
      [   40.179685]  ? io_worker_handle_work+0x480/0x480
      [   40.179690]  ? kthread_park+0x90/0x90
      [   40.179695]  ret_from_fork+0x35/0x40
      [   40.179702] ---[ end trace 85027405f00110aa ]---
      
      Opcode handler must never put submission ref, but that's what
      io_sync_file_range_finish() do. use io_steal_work() there.
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7759a0bf
    • Tang Bin's avatar
      iommu/qcom: Fix local_base status check · b52649ae
      Tang Bin authored
      The function qcom_iommu_device_probe() does not perform sufficient
      error checking after executing devm_ioremap_resource(), which can
      result in crashes if a critical error path is encountered.
      
      Fixes: 0ae349a0 ("iommu/qcom: Add qcom_iommu")
      Signed-off-by: default avatarTang Bin <tangbin@cmss.chinamobile.com>
      Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Link: https://lore.kernel.org/r/20200418134703.1760-1-tangbin@cmss.chinamobile.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      b52649ae
    • Greg Kroah-Hartman's avatar
      iommu: Properly export iommu_group_get_for_dev() · ae74c19f
      Greg Kroah-Hartman authored
      In commit a7ba5c3d ("drivers/iommu: Export core IOMMU API symbols to
      permit modular drivers") a bunch of iommu symbols were exported, all
      with _GPL markings except iommu_group_get_for_dev().  That export should
      also be _GPL like the others.
      
      Fixes: a7ba5c3d ("drivers/iommu: Export core IOMMU API symbols to permit modular drivers")
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20200430120120.2948448-1-gregkh@linuxfoundation.orgSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      ae74c19f
    • Lu Baolu's avatar
      iommu/vt-d: Use right Kconfig option name · ba61c3da
      Lu Baolu authored
      The CONFIG_ prefix should be added in the code.
      
      Fixes: 04618252 ("iommu/vt-d: Add Kconfig option to enable/disable scalable mode")
      Reported-and-tested-by: default avatarKumar, Sanjay K <sanjay.k.kumar@intel.com>
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Cc: Ashok Raj <ashok.raj@intel.com>
      Link: https://lore.kernel.org/r/20200501072427.14265-1-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      ba61c3da
    • Suravee Suthikulpanit's avatar
      iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system · b74aa02d
      Suravee Suthikulpanit authored
      Currently, system fails to boot because the legacy interrupt remapping
      mode does not enable 128-bit IRTE (GA), which is required for x2APIC
      support.
      
      Fix by using AMD_IOMMU_GUEST_IR_LEGACY_GA mode when booting with
      kernel option amd_iommu_intr=legacy instead. The initialization
      logic will check GASup and automatically fallback to using
      AMD_IOMMU_GUEST_IR_LEGACY if GA mode is not supported.
      
      Fixes: 3928aa3f ("iommu/amd: Detect and enable guest vAPIC support")
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Link: https://lore.kernel.org/r/1587562202-14183-1-git-send-email-suravee.suthikulpanit@amd.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      b74aa02d