1. 24 Apr, 2020 9 commits
    • Linus Torvalds's avatar
      Merge tag 'afs-fixes-20200424' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 9a195628
      Linus Torvalds authored
      Pull misc AFS fixes from David Howells:
       "Three miscellaneous fixes to the afs filesystem:
      
         - Remove some struct members that aren't used, aren't set or aren't
           read, plus a wake up that nothing ever waits for.
      
         - Actually set the AFS_SERVER_FL_HAVE_EPOCH flag so that the code
           that depends on it can work.
      
         - Make a couple of waits uninterruptible if they're done for an
           operation that isn't supposed to be interruptible"
      
      * tag 'afs-fixes-20200424' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate
        afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH
        afs: Remove some unused bits
      9a195628
    • Linus Torvalds's avatar
      Merge tag 'sound-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · b4ecf26e
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This became a slightly big pull request, as the accumulated ASoC fixes
        are included here. Some highlights:
      
         - Revert of ASoC DAI startup changes that caused regression on some
           x86 platforms
      
         - Regression fix in HD-audio power management and driver blacklist
      
         - A collection of ASoC DAPM and topology fixes
      
         - Continued USB-audio fixes and quirks
      
         - Lots of small device-specific fixes
      
         - Rockchip S/PDIF DT stuff update for validation issues"
      
      * tag 'sound-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (51 commits)
        ALSA: hda: Always use jackpoll helper for jack update after resume
        ALSA: hda/realtek - Add new codec supported for ALC245
        ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
        ALSA: usb-audio: Add connector notifier delegation
        ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen
        ASoC: wm8960: Fix wrong clock after suspend & resume
        ALSA: usx2y: Fix potential NULL dereference
        ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2
        ASoC: wm89xx: Add missing dependency
        ASoC: dapm: fixup dapm kcontrol widget
        ASoC: rsnd: Fix "status check failed" spam for multi-SSI
        ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent
        ASoC: meson: gx-card: fix codec-to-codec link setup
        ASoC: meson: axg-card: fix codec-to-codec link setup
        ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos
        ALSA: hda: Remove ASUS ROG Zenith from the blacklist
        ALSA: hda/realtek - Fix unexpected init_amp override
        ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices
        ASoC: SOF: Intel: add min/max channels for SSP on Baytrail/Broadwell
        ASoC: stm32: sai: fix sai probe
        ...
      b4ecf26e
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-04-24' of git://anongit.freedesktop.org/drm/drm · 88412a4e
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Weekly regular fixes for drm, The usual rc3 uptick here, but nothing
        too crazy or notable.
      
        core:
         - mst: zero pbn when releasing vcpi slots
      
        amdgpu:
         - Fix resume issue on renoir
         - Thermal fix for older CI dGPUs
         - Fix some fallout from dropping drm load/unload callbacks
      
        i915:
         - Tigerlake Workaround - disabling media recompression (Matt)
         - Fix RPS interrupts for right GPU frequency (Chris)
         - HDCP fix prime check (Oliver)
         - Tigerlake Thunderbolt power well fix (Matt)
         - Tigerlake DP link training fixes (Jose)
         - Documentation sphinx build fix (Jani)
         - Fix enable_dpcd_backlight modparam (Lyude)
      
        analogix-dp:
         - binding fix
      
        meson:
         - remove unneeded error message
      
        bindings:
         - fix warnings
         - fix lvds binding
      
        scheduler:
         - thread racing fix
      
        tidss:
         - use after free fix"
      
      * tag 'drm-fixes-2020-04-24' of git://anongit.freedesktop.org/drm/drm:
        drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam
        drm/i915: fix Sphinx build duplicate label warning
        drm/i915/display: Load DP_TP_CTL/STATUS offset before use it
        drm/i915/tgl: TBT AUX should use TC power well ops
        drm/i915: HDCP: fix Ri prime check done during link check
        drm/i915/gt: Update PMINTRMSK holding fw
        drm/i915/tgl: Add Wa_14010477008:tgl
        drm/tidss: fix crash related to accessing freed memory
        drm/dp_mst: Zero assigned PBN when releasing VCPI slots
        drm/amdgpu/display: give aux i2c buses more meaningful names
        drm/amdgpu/display: fix aux registration (v2)
        drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii)
        drm/amd/powerplay: fix resume failed as smu table initialize early exit
        drm/scheduler: fix drm_sched_get_cleanup_job
        drm/meson: Delete an error message in meson_dw_hdmi_bind()
        drm/bridge: anx6345: set correct BPC for display_info of connector
        dt-bindings: display: allow port and ports in panel-lvds
        dt-bindings: display: xpp055c272: Remove the reg property
        dt-bindings: display: ltk500hd1829: Remove the reg property
        drm/bridge: analogix_dp: Split bind() into probe() and real bind()
      88412a4e
    • David Howells's avatar
      afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate · c4bfda16
      David Howells authored
      When an operation is meant to be done uninterruptibly (such as
      FS.StoreData), we should not be allowing volume and server record checking
      to be interrupted.
      
      Fixes: d2ddc776 ("afs: Overhaul volume and server record caching and fileserver rotation")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      c4bfda16
    • David Howells's avatar
      afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH · 69cf3978
      David Howells authored
      AFS keeps track of the epoch value from the rxrpc protocol to note (a) when
      a fileserver appears to have restarted and (b) when different endpoints of
      a fileserver do not appear to be associated with the same fileserver
      (ie. all probes back from a fileserver from all of its interfaces should
      carry the same epoch).
      
      However, the AFS_SERVER_FL_HAVE_EPOCH flag that indicates that we've
      received the server's epoch is never set, though it is used.
      
      Fix this to set the flag when we first receive an epoch value from a probe
      sent to the filesystem client from the fileserver.
      
      Fixes: 3bf0fb6f ("afs: Probe multiple fileservers simultaneously")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      69cf3978
    • David Howells's avatar
      afs: Remove some unused bits · be59167c
      David Howells authored
      Remove three bits:
      
       (1) afs_server::no_epoch is neither set nor used.
      
       (2) afs_server::have_result is set and a wakeup is applied to it, but
           nothing looks at it or waits on it.
      
       (3) afs_vl_dump_edestaddrreq() prints afs_addr_list::probed, but nothing
           sets it for VL servers.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      be59167c
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2020-04-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · e32b2484
      Dave Airlie authored
      A few resources-related fixes (tidss, dp_mst, scheduler), probe fixes and
      DT bindings adjustments.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200423103224.7hvyr3v7dmuny2bz@gilmour.lan
      e32b2484
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2020-04-23' of... · 11c5ec78
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2020-04-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Tigerlake Workaround - disabling media recompression (Matt)
      - Fix RPS interrupts for right GPU frequency (Chris)
      - HDCP fix prime check (Oliver)
      - Tigerlake Thunderbolt power well fix (Matt)
      - Tigerlake DP link training fixes (Jose)
      - Documentation sphinx build fix (Jani)
      - Fix enable_dpcd_backlight modparam (Lyude)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200423190246.GA1710303@intel.com
      11c5ec78
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.7-2020-04-22' of... · c2c39adb
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.7-2020-04-22' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
      
      amd-drm-fixes-5.7-2020-04-22:
      
      amdgpu:
      - Fix resume issue on renoir
      - Thermal fix for older CI dGPUs
      - Fix some fallout from dropping drm load/unload callbacks
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200422224647.617724-1-alexander.deucher@amd.com
      c2c39adb
  2. 23 Apr, 2020 11 commits
  3. 22 Apr, 2020 9 commits
  4. 21 Apr, 2020 11 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 18bf3408
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "15 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        tools/vm: fix cross-compile build
        coredump: fix null pointer dereference on coredump
        mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path
        shmem: fix possible deadlocks on shmlock_user_lock
        vmalloc: fix remap_vmalloc_range() bounds checks
        mm/shmem: fix build without THP
        mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
        tools/build: tweak unused value workaround
        checkpatch: fix a typo in the regex for $allocFunctions
        mm, gup: return EINTR when gup is interrupted by fatal signals
        mm/hugetlb: fix a addressing exception caused by huge_pte_offset
        MAINTAINERS: add an entry for kfifo
        mm/userfaultfd: disable userfaultfd-wp on x86_32
        slub: avoid redzone when choosing freepointer location
        sh: fix build error in mm/init.c
      18bf3408
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 8160a563
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "Bugfixes, and a few cleanups to the newly-introduced assembly language
        vmentry code for AMD"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: PPC: Book3S HV: Handle non-present PTEs in page fault functions
        kvm: Disable objtool frame pointer checking for vmenter.S
        MAINTAINERS: add a reviewer for KVM/s390
        KVM: s390: Fix PV check in deliverable_irqs()
        kvm: Handle reads of SandyBridge RAPL PMU MSRs rather than injecting #GP
        KVM: Remove CREATE_IRQCHIP/SET_PIT2 race
        KVM: SVM: Fix __svm_vcpu_run declaration.
        KVM: SVM: Do not setup frame pointer in __svm_vcpu_run
        KVM: SVM: Fix build error due to missing release_pages() include
        KVM: SVM: Do not mark svm_vcpu_run with STACK_FRAME_NON_STANDARD
        kvm: nVMX: match comment with return type for nested_vmx_exit_reflected
        kvm: nVMX: reflect MTF VM-exits if injected by L1
        KVM: s390: Return last valid slot if approx index is out-of-bounds
        KVM: Check validity of resolved slot when searching memslots
        KVM: VMX: Enable machine check support for 32bit targets
        KVM: SVM: move more vmentry code to assembly
        KVM: SVM: fix compilation with modular PSP and non-modular KVM
      8160a563
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v5.7-rc2' of... · e7b6b3ec
      Takashi Iwai authored
      Merge tag 'asoc-fix-v5.7-rc2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v5.7
      
      Quite a lot of fixes here, a lot of driver specific ones but the biggest
      one is the revert of changes to the startup and shutdown sequence for
      DAIs that went in during the merge window - they broke some older x86
      platforms and attempts to fix them didn't succeed so it's safer to just
      roll them back and try to make sure those platforms are handled properly
      in any future attempt.
      
      The rockchip S/PDIF DT stuff was IIRC for validation issues.
      e7b6b3ec
    • Alexander Tsoy's avatar
      ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen · cf9fb7b8
      Alexander Tsoy authored
      Due to rounding error driver sometimes incorrectly calculate next packet
      size, which results in audible clicks on devices with synchronous playback
      endpoints. For example on a high speed bus and a sample rate 44.1 kHz it
      loses one sample every ~40.9 seconds. Fortunately playback interface on
      Scarlett 2i4 2nd gen has a working explicit feedback endpoint, so we can
      switch playback data endpoint to asynchronous mode as a workaround.
      Signed-off-by: default avatarAlexander Tsoy <alexander@tsoy.me>
      Link: https://lore.kernel.org/r/20200421190908.462860-1-alexander@tsoy.meSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cf9fb7b8
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 189522da
      Linus Torvalds authored
      Pull virtio fixes and cleanups from Michael Tsirkin:
      
       - Some bug fixes
      
       - Cleanup a couple of issues that surfaced meanwhile
      
       - Disable vhost on ARM with OABI for now - to be fixed fully later in
         the cycle or in the next release.
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (24 commits)
        vhost: disable for OABI
        virtio: drop vringh.h dependency
        virtio_blk: add a missing include
        virtio-balloon: Avoid using the word 'report' when referring to free page hinting
        virtio-balloon: make virtballoon_free_page_report() static
        vdpa: fix comment of vdpa_register_device()
        vdpa: make vhost, virtio depend on menu
        vdpa: allow a 32 bit vq alignment
        drm/virtio: fix up for include file changes
        remoteproc: pull in slab.h
        rpmsg: pull in slab.h
        virtio_input: pull in slab.h
        remoteproc: pull in slab.h
        virtio-rng: pull in slab.h
        virtgpu: pull in uaccess.h
        tools/virtio: make asm/barrier.h self contained
        tools/virtio: define aligned attribute
        virtio/test: fix up after IOTLB changes
        vhost: Create accessors for virtqueues private_data
        vdpasim: Return status in vdpasim_get_status
        ...
      189522da
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-20200421' of git://git.infradead.org/users/jjs/linux-tpmdd · b61f7ff0
      Linus Torvalds authored
      Pull tpm fixes from Jarkko Sakkinen:
       "A few bug fixes"
      
      * tag 'tpmdd-next-20200421' of git://git.infradead.org/users/jjs/linux-tpmdd:
        tpm/tpm_tis: Free IRQ if probing fails
        tpm: fix wrong return value in tpm_pcr_extend
        tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send()
        tpm: Export tpm2_get_cc_attrs_tbl for ibmvtpm driver as module
      b61f7ff0
    • Linus Torvalds's avatar
      Merge tag 'clang-format-for-linus-v5.7-rc3' of git://github.com/ojeda/linux · 20f16489
      Linus Torvalds authored
      Pull clang-format fixlets from Miguel Ojeda:
       "Two trivial clang-format changes:
      
         - Don't indent C++ namespaces (Ian Rogers)
      
         - The usual clang-format macro list update (Miguel Ojeda)"
      
      * tag 'clang-format-for-linus-v5.7-rc3' of git://github.com/ojeda/linux:
        clang-format: Update with the latest for_each macro list
        clang-format: don't indent namespaces
      20f16489
    • Lucas Stach's avatar
      tools/vm: fix cross-compile build · cf01699e
      Lucas Stach authored
      Commit 7ed1c190 ("tools: fix cross-compile var clobbering") moved
      the setup of the CC variable to tools/scripts/Makefile.include to make
      the behavior consistent across all the tools Makefiles.
      
      As the vm tools missed the include we end up with the wrong CC in a
      cross-compiling evironment.
      
      Fixes: 7ed1c190 (tools: fix cross-compile var clobbering)
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Martin Kelly <martin@martingkelly.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/20200416104748.25243-1-l.stach@pengutronix.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cf01699e
    • Sudip Mukherjee's avatar
      coredump: fix null pointer dereference on coredump · db973a72
      Sudip Mukherjee authored
      If the core_pattern is set to "|" and any process segfaults then we get
      a null pointer derefernce while trying to coredump. The call stack shows:
      
          RIP: do_coredump+0x628/0x11c0
      
      When the core_pattern has only "|" there is no use of trying the
      coredump and we can check that while formating the corename and exit
      with an error.
      
      After this change I get:
      
          format_corename failed
          Aborting core
      
      Fixes: 315c6926 ("coredump: split pipe command whitespace before expanding template")
      Reported-by: default avatarMatthew Ruffell <matthew.ruffell@canonical.com>
      Signed-off-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Paul Wise <pabs3@bonedaddy.net>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/20200416194612.21418-1-sudipm.mukherjee@gmail.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      db973a72
    • Yang Shi's avatar
      mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path · 94b7cc01
      Yang Shi authored
      Syzbot reported the below lockdep splat:
      
          WARNING: possible irq lock inversion dependency detected
          5.6.0-rc7-syzkaller #0 Not tainted
          --------------------------------------------------------
          syz-executor.0/10317 just changed the state of lock:
          ffff888021d16568 (&(&info->lock)->rlock){+.+.}, at: spin_lock include/linux/spinlock.h:338 [inline]
          ffff888021d16568 (&(&info->lock)->rlock){+.+.}, at: shmem_mfill_atomic_pte+0x1012/0x21c0 mm/shmem.c:2407
          but this lock was taken by another, SOFTIRQ-safe lock in the past:
           (&(&xa->xa_lock)->rlock#5){..-.}
      
          and interrupts could create inverse lock ordering between them.
      
          other info that might help us debug this:
           Possible interrupt unsafe locking scenario:
      
                 CPU0                    CPU1
                 ----                    ----
            lock(&(&info->lock)->rlock);
                                         local_irq_disable();
                                         lock(&(&xa->xa_lock)->rlock#5);
                                         lock(&(&info->lock)->rlock);
            <Interrupt>
              lock(&(&xa->xa_lock)->rlock#5);
      
           *** DEADLOCK ***
      
      The full report is quite lengthy, please see:
      
        https://lore.kernel.org/linux-mm/alpine.LSU.2.11.2004152007370.13597@eggly.anvils/T/#m813b412c5f78e25ca8c6c7734886ed4de43f241d
      
      It is because CPU 0 held info->lock with IRQ enabled in userfaultfd_copy
      path, then CPU 1 is splitting a THP which held xa_lock and info->lock in
      IRQ disabled context at the same time.  If softirq comes in to acquire
      xa_lock, the deadlock would be triggered.
      
      The fix is to acquire/release info->lock with *_irq version instead of
      plain spin_{lock,unlock} to make it softirq safe.
      
      Fixes: 4c27fe4c ("userfaultfd: shmem: add shmem_mcopy_atomic_pte for userfaultfd support")
      Reported-by: syzbot+e27980339d305f2dbfd9@syzkaller.appspotmail.com
      Signed-off-by: default avatarYang Shi <yang.shi@linux.alibaba.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Tested-by: syzbot+e27980339d305f2dbfd9@syzkaller.appspotmail.com
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Link: http://lkml.kernel.org/r/1587061357-122619-1-git-send-email-yang.shi@linux.alibaba.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94b7cc01
    • Hugh Dickins's avatar
      shmem: fix possible deadlocks on shmlock_user_lock · ea0dfeb4
      Hugh Dickins authored
      Recent commit 71725ed1 ("mm: huge tmpfs: try to split_huge_page()
      when punching hole") has allowed syzkaller to probe deeper, uncovering a
      long-standing lockdep issue between the irq-unsafe shmlock_user_lock,
      the irq-safe xa_lock on mapping->i_pages, and shmem inode's info->lock
      which nests inside xa_lock (or tree_lock) since 4.8's shmem_uncharge().
      
      user_shm_lock(), servicing SysV shmctl(SHM_LOCK), wants
      shmlock_user_lock while its caller shmem_lock() holds info->lock with
      interrupts disabled; but hugetlbfs_file_setup() calls user_shm_lock()
      with interrupts enabled, and might be interrupted by a writeback endio
      wanting xa_lock on i_pages.
      
      This may not risk an actual deadlock, since shmem inodes do not take
      part in writeback accounting, but there are several easy ways to avoid
      it.
      
      Requiring interrupts disabled for shmlock_user_lock would be easy, but
      it's a high-level global lock for which that seems inappropriate.
      Instead, recall that the use of info->lock to guard info->flags in
      shmem_lock() dates from pre-3.1 days, when races with SHMEM_PAGEIN and
      SHMEM_TRUNCATE could occur: nowadays it serves no purpose, the only flag
      added or removed is VM_LOCKED itself, and calls to shmem_lock() an inode
      are already serialized by the caller.
      
      Take info->lock out of the chain and the possibility of deadlock or
      lockdep warning goes away.
      
      Fixes: 4595ef88 ("shmem: make shmem_inode_info::lock irq-safe")
      Reported-by: syzbot+c8a8197c8852f566b9d9@syzkaller.appspotmail.com
      Reported-by: syzbot+40b71e145e73f78f81ad@syzkaller.appspotmail.com
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarYang Shi <yang.shi@linux.alibaba.com>
      Cc: Yang Shi <yang.shi@linux.alibaba.com>
      Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2004161707410.16322@eggly.anvils
      Link: https://lore.kernel.org/lkml/000000000000e5838c05a3152f53@google.com/
      Link: https://lore.kernel.org/lkml/0000000000003712b305a331d3b1@google.com/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea0dfeb4