Skip to content
  1. May 23, 2021
    • Varad Gautam's avatar
      ipc/mqueue, msg, sem: avoid relying on a stack reference past its expiry · a11ddb37
      Varad Gautam authored
      do_mq_timedreceive calls wq_sleep with a stack local address.  The
      sender (do_mq_timedsend) uses this address to later call pipelined_send.
      
      This leads to a very hard to trigger race where a do_mq_timedreceive
      call might return and leave do_mq_timedsend to rely on an invalid
      address, causing the following crash:
      
        RIP: 0010:wake_q_add_safe+0x13/0x60
        Call Trace:
         __x64_sys_mq_timedsend+0x2a9/0x490
         do_syscall_64+0x80/0x680
         entry_SYSCALL_64_after_hwframe+0x44/0xa9
        RIP: 0033:0x7f5928e40343
      
      The race occurs as:
      
      1. do_mq_timedreceive calls wq_sleep with the address of `struct
         ext_wait_queue` on function stack (aliased as `ewq_addr` here) - it
         holds a valid `struct ext_wait_queue *` as long as the stack has not
         been overwritten.
      
      2. `ewq_addr` gets added to info->e_wait_q[RECV].list in wq_add, and
         do_mq_timedsend receives it via wq_get_first_waiter(info, RECV) to call
         __pipelined_op.
      
      3. Sender calls __pipelined_op::smp_store_release(&this->state,
         STATE_READY).  Here is where the race window begins.  (`this` is
         `ewq_addr`.)
      
      4. If the receiver wakes up now in do_mq_timedreceive::wq_sleep, it
         will see `state == STATE_READY` and break.
      
      5. do_mq_timedreceive returns, and `ewq_addr` is no longer guaranteed
         to be a `struct ext_wait_queue *` since it was on do_mq_timedreceive's
         stack.  (Although the address may not get overwritten until another
         function happens to touch it, which means it can persist around for an
         indefinite time.)
      
      6. do_mq_timedsend::__pipelined_op() still believes `ewq_addr` is a
         `struct ext_wait_queue *`, and uses it to find a task_struct to pass to
         the wake_q_add_safe call.  In the lucky case where nothing has
         overwritten `ewq_addr` yet, `ewq_addr->task` is the right task_struct.
         In the unlucky case, __pipelined_op::wake_q_add_safe gets handed a
         bogus address as the receiver's task_struct causing the crash.
      
      do_mq_timedsend::__pipelined_op() should not dereference `this` after
      setting STATE_READY, as the receiver counterpart is now free to return.
      Change __pipelined_op to call wake_q_add_safe on the receiver's
      task_struct returned by get_task_struct, instead of dereferencing `this`
      which sits on the receiver's stack.
      
      As Manfred pointed out, the race potentially also exists in
      ipc/msg.c::expunge_all and ipc/sem.c::wake_up_sem_queue_prepare.  Fix
      those in the same way.
      
      Link: https://lkml.kernel.org/r/20210510102950.12551-1-varad.gautam@suse.com
      Fixes: c5b2cbdb ("ipc/mqueue.c: update/document memory barriers")
      Fixes: 8116b54e ("ipc/sem.c: document and update memory barriers")
      Fixes: 0d97a82b
      
       ("ipc/msg.c: update and document memory barriers")
      Signed-off-by: default avatarVarad Gautam <varad.gautam@suse.com>
      Reported-by: default avatarMatthias von Faber <matthias.vonfaber@aox-tech.de>
      Acked-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Acked-by: default avatarManfred Spraul <manfred@colorfullife.com>
      Cc: Christian Brauner <christian.brauner@ubuntu.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a11ddb37
    • Michal Hocko's avatar
      Revert "mm/gup: check page posion status for coredump." · f10628d2
      Michal Hocko authored
      While reviewing [1] I came across commit d3378e86 ("mm/gup: check
      page posion status for coredump.") and noticed that this patch is broken
      in two ways.  First it doesn't really prevent hwpoison pages from being
      dumped because hwpoison pages can be marked asynchornously at any time
      after the check.  Secondly, and more importantly, the patch introduces a
      ref count leak because get_dump_page takes a reference on the page which
      is not released.
      
      It also seems that the patch was merged incorrectly because there were
      follow up changes not included as well as discussions on how to address
      the underlying problem [2]
      
      Therefore revert the original patch.
      
      Link: http://lkml.kernel.org/r/20210429122519.15183-4-david@redhat.com [1]
      Link: http://lkml.kernel.org/r/57ac524c-b49a-99ec-c1e4-ef5027bfb61b@redhat.com [2]
      Link: https://lkml.kernel.org/r/20210505135407.31590-1-mhocko@kernel.org
      Fixes: d3378e86
      
       ("mm/gup: check page posion status for coredump.")
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Aili Yao <yaoaili@kingsoft.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f10628d2
    • Arnd Bergmann's avatar
      mm/shuffle: fix section mismatch warning · f9f74dc2
      Arnd Bergmann authored
      clang sometimes decides not to inline shuffle_zone(), but it calls a
      __meminit function.  Without the extra __meminit annotation we get this
      warning:
      
        WARNING: modpost: vmlinux.o(.text+0x2a86d4): Section mismatch in reference from the function shuffle_zone() to the function .meminit.text:__shuffle_zone()
        The function shuffle_zone() references
        the function __meminit __shuffle_zone().
        This is often because shuffle_zone lacks a __meminit
        annotation or the annotation of __shuffle_zone is wrong.
      
      shuffle_free_memory() did not show the same problem in my tests, but it
      could happen in theory as well, so mark both as __meminit.
      
      Link: https://lkml.kernel.org/r/20210514135952.2928094-1-arnd@kernel.org
      
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f9f74dc2
    • Linus Torvalds's avatar
      Merge tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block · 4ff2473b
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix BLKRRPART and deletion race (Gulam, Christoph)
      
       - NVMe pull request (Christoph):
            - nvme-tcp corruption and timeout fixes (Sagi Grimberg, Keith
              Busch)
            - nvme-fc teardown fix (James Smart)
            - nvmet/nvme-loop memory leak fixes (Wu Bo)"
      
      * tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        block: fix a race between del_gendisk and BLKRRPART
        block: prevent block device lookups at the beginning of del_gendisk
        nvme-fc: clear q_live at beginning of association teardown
        nvme-tcp: rerun io_work if req_list is not empty
        nvme-tcp: fix possible use-after-completion
        nvme-loop: fix memory leak in nvme_loop_create_ctrl()
        nvmet: fix memory leak in nvmet_alloc_ctrl()
      4ff2473b
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block · b9231dfb
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "One fix for a regression with poll in this merge window, and another
        just hardens the io-wq exit path a bit"
      
      * tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        io_uring: fortify tctx/io_wq cleanup
        io_uring: don't modify req->poll for rw
      b9231dfb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 23d72926
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - a fix for a boot regression when running as PV guest on hardware
         without NX support
      
       - a small series fixing a bug in the Xen pciback driver when
         configuring a PCI card with multiple virtual functions
      
      * tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: reconfigure also from backend watch handler
        xen-pciback: redo VF placement in the virtual topology
        x86/Xen: swap NX determination and GDT setup on BSP
      23d72926
  2. May 22, 2021
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a3969ef4
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Fix some math errors in the realtime allocator when extent size hints
         are applied.
      
       - Fix unnecessary short writes to realtime files when free space is
         fragmented.
      
       - Fix a crash when using scrub tracepoints.
      
       - Restore ioctl uapi definitions that were accidentally removed in
         5.13-rc1.
      
      * tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: restore old ioctl definitions
        xfs: fix deadlock retry tracepoint arguments
        xfs: retry allocations when locality-based search fails
        xfs: adjust rt allocation minlen when extszhint > rtextsize
      a3969ef4
    • Linus Torvalds's avatar
      Merge tag 'for-5.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 45af60e7
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more fixes:
      
         - fix unaligned compressed writes in zoned mode
      
         - fix false positive lockdep warning when cloning inline extent
      
         - remove wrong BUG_ON in tree-log error handling"
      
      * tag 'for-5.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: zoned: fix parallel compressed writes
        btrfs: zoned: pass start block to btrfs_use_zone_append
        btrfs: do not BUG_ON in link_to_fixup_dir
        btrfs: release path before starting transaction when cloning inline extent
      45af60e7
    • Linus Torvalds's avatar
      Merge tag '5.13-rc3-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 8bb14ca1
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Seven smb3 fixes: one for stable, three others fix problems found in
        testing handle leases, and a compounded request fix"
      
      * tag '5.13-rc3-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        Fix KASAN identified use-after-free issue.
        Defer close only when lease is enabled.
        Fix kernel oops when CONFIG_DEBUG_ATOMIC_SLEEP is enabled.
        cifs: Fix inconsistent indenting
        cifs: fix memory leak in smb2_copychunk_range
        SMB3: incorrect file id in requests compounded with open
        cifs: remove deadstore in cifs_close_all_deferred_files()
      8bb14ca1
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · e8085a07
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - add missing MODULE_DEVICE_TABLE in gpio-cadence
      
       - fix a kernel doc validator error in gpio-xilinx
      
       - don't set parent IRQ affinity in gpio-tegra186
      
      * tag 'gpio-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: tegra186: Don't set parent IRQ affinity
        gpio: xilinx: Correct kernel doc for xgpio_probe()
        gpio: cadence: Add missing MODULE_DEVICE_TABLE
      e8085a07
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 011ff616
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - Fix SD-card detection on Intel NUC10i3FNK4 (GL9755)
      
       - Replace WARN_ONCE with dev_warn_once for scatterlist offsets
      
       - Extend check of scatterlist size alignment with SD_IO_RW_EXTENDED
      
      * tag 'mmc-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-pci-gli: increase 1.8V regulator wait
        mmc: meson-gx: also check SD_IO_RW_EXTENDED for scatterlist size alignment
        mmc: meson-gx: make replace WARN_ONCE with dev_warn_once about scatterlist offset alignment
      011ff616
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 5328bf8b
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Another batch of removing unneeded type references in schemas
      
       - Fix some out of date filename references
      
       - Convert renesas,drif schema to use DT graph schema
      
      * tag 'devicetree-fixes-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: More removals of type references on common properties
        dt-bindings: media: renesas,drif: Use graph schema
        leds: Fix reference file name of documentation
        dt-bindings: phy: cadence-torrent: update reference file of docs
      5328bf8b
    • Linus Torvalds's avatar
      Merge branch 'for-v5.13-rc3' of... · a0e31f3a
      Linus Torvalds authored
      Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull siginfo fix from Eric Biederman:
       "During the merge window an issue with si_perf and the siginfo ABI came
        up. The alpha and sparc siginfo structure layout had changed with the
        addition of SIGTRAP TRAP_PERF and the new field si_perf.
      
        The reason only alpha and sparc were affected is that they are the
        only architectures that use si_trapno.
      
        Looking deeper it was discovered that si_trapno is used for only a few
        select signals on alpha and sparc, and that none of the other
        _sigfault fields past si_addr are used at all. Which means technically
        no regression on alpha and sparc.
      
        While the alignment concerns might be dismissed the abuse of si_errno
        by SIGTRAP TRAP_PERF does have the potential to cause regressions in
        existing userspace.
      
        While we still have time before userspace starts using and depending
        on the new definition siginfo for SIGTRAP TRAP_PERF this set of
        changes cleans up siginfo_t.
      
         - The si_trapno field is demoted from magic alpha and sparc status
           and made an ordinary union member of the _sigfault member of
           siginfo_t. Without moving it of course.
      
         - si_perf is replaced with si_perf_data and si_perf_type ending the
           abuse of si_errno.
      
         - Unnecessary additions to signalfd_siginfo are removed"
      
      * 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo
        signal: Deliver all of the siginfo perf data in _perf
        signal: Factor force_sig_perf out of perf_sigtrap
        signal: Implement SIL_FAULT_TRAPNO
        siginfo: Move si_trapno inside the union inside _si_fault
      a0e31f3a
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · c1f47ebc
      Linus Torvalds authored
      Pull module fix from Jessica Yu:
       "When CONFIG_MODULE_UNLOAD=n, module exit sections get sorted into the
        init region of the module in order to satisfy the requirements of
        jump_labels and static_calls.
      
        Previously, the exit section check was done in module_init_section(),
        but the solution there is not completely arch-indepedent as ARM is a
        special case and supplies its own module_init_section() function.
      
        Instead of pushing this logic further to the arch-specific code,
        switch to an arch-independent solution to check for module exit
        sections in the core module loader code in layout_sections() instead"
      
      * tag 'modules-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: check for exit sections in layout_sections() instead of module_init_section()
      c1f47ebc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · 93bb533a
      Linus Torvalds authored
      Pull OpenRISC fixes from Stafford Horne:
       "A few fixes that came in around the time of the merge window"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: Define memory barrier mb
        openrisc: mm/init.c: remove unused variable 'end' in paging_init()
        openrisc: mm/init.c: remove unused memblock_region variable in map_ram()
        openrisc: Fix a memory leak
      93bb533a
  3. May 21, 2021
    • Jan Beulich's avatar
      xen-pciback: reconfigure also from backend watch handler · c81d3d24
      Jan Beulich authored
      
      
      When multiple PCI devices get assigned to a guest right at boot, libxl
      incrementally populates the backend tree. The writes for the first of
      the devices trigger the backend watch. In turn xen_pcibk_setup_backend()
      will set the XenBus state to Initialised, at which point no further
      reconfigures would happen unless a device got hotplugged. Arrange for
      reconfigure to also get triggered from the backend watch handler.
      
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Link: https://lore.kernel.org/r/2337cbd6-94b9-4187-9862-c03ea12e0c61@suse.com
      
      
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      c81d3d24
    • Jan Beulich's avatar
      xen-pciback: redo VF placement in the virtual topology · 4ba50e7c
      Jan Beulich authored
      The commit referenced below was incomplete: It merely affected what
      would get written to the vdev-<N> xenstore node. The guest would still
      find the function at the original function number as long as
      __xen_pcibk_get_pci_dev() wouldn't be in sync. The same goes for AER wrt
      __xen_pcibk_get_pcifront_dev().
      
      Undo overriding the function to zero and instead make sure that VFs at
      function zero remain alone in their slot. This has the added benefit of
      improving overall capacity, considering that there's only a total of 32
      slots available right now (PCI segment and bus can both only ever be
      zero at present).
      
      Fixes: 8a5248fe
      
       ("xen PV passthru: assign SR-IOV virtual functions to separate virtual slots")
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Link: https://lore.kernel.org/r/8def783b-404c-3452-196d-3f3fd4d72c9e@suse.com
      
      
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      4ba50e7c
    • Jan Beulich's avatar
      x86/Xen: swap NX determination and GDT setup on BSP · ae897fda
      Jan Beulich authored
      xen_setup_gdt(), via xen_load_gdt_boot(), wants to adjust page tables.
      For this to work when NX is not available, x86_configure_nx() needs to
      be called first.
      
      [jgross] Note that this is a revert of 36104cb9 ("x86/xen:
      Delay get_cpu_cap until stack canary is established"), which is possible
      now that we no longer support running as PV guest in 32-bit mode.
      
      Cc: <stable.vger.kernel.org> # 5.9
      Fixes: 36104cb9
      
       ("x86/xen: Delay get_cpu_cap until stack canary is established")
      Reported-by: default avatarOlaf Hering <olaf@aepfle.de>
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      
      Link: https://lore.kernel.org/r/12a866b0-9e89-59f7-ebeb-a2a6cec0987a@suse.com
      
      
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      ae897fda
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-05-21-1' of git://anongit.freedesktop.org/drm/drm · 79a106fc
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Usual collection, mostly amdgpu and some i915 regression fixes. I
        nearly managed to hose my build/sign machine this week, but I
        recovered it just in time, and I even got clang12 built.
      
        dma-buf:
         - WARN fix
      
        amdgpu:
         - Fix downscaling ratio on DCN3.x
         - Fix for non-4K pages
         - PCO/RV compute hang fix
         - Dongle fix
         - Aldebaran codec query support
         - Refcount leak fix
         - Use after free fix
         - Navi12 golden settings updates
         - GPU reset fixes
      
        radeon:
         - Fix for imported BO handling
      
        i915:
         - Pin the L-shape quirked object as unshrinkable to fix crashes
         - Disable HiZ Raw Stall Optimization on broken gen7 to fix glitches,
           gfx corruption
         - GVT: Move mdev attribute groups into kvmgt module to fix kconfig
           deps issue
      
        exynos:
         - Correct kerneldoc of fimd_shadow_protect_win function
         - Drop redundant error messages"
      
      * tag 'drm-fixes-2021-05-21-1' of git://anongit.freedesktop.org/drm/drm:
        dma-buf: fix unintended pin/unpin warnings
        drm/amdgpu: stop touching sched.ready in the backend
        drm/amd/amdgpu: fix a potential deadlock in gpu reset
        drm/amdgpu: update sdma golden setting for Navi12
        drm/amdgpu: update gc golden setting for Navi12
        drm/amdgpu: Fix a use-after-free
        drm/amdgpu: add video_codecs query support for aldebaran
        drm/amd/amdgpu: fix refcount leak
        drm/amd/display: Disconnect non-DP with no EDID
        drm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang
        drm/amdgpu: Fix GPU TLB update error when PAGE_SIZE > AMDGPU_PAGE_SIZE
        drm/radeon: use the dummy page for GART if needed
        drm/amd/display: Use the correct max downscaling value for DCN3.x family
        drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7
        drm/i915/gem: Pin the L-shape quirked object as unshrinkable
        drm/exynos/decon5433: Remove redundant error printing in exynos5433_decon_probe()
        drm/exynos: Remove redundant error printing in exynos_dsi_probe()
        drm/exynos: correct exynos_drm_fimd kerneldoc
        drm/i915/gvt: Move mdev attribute groups into kvmgt module
      79a106fc
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.13-2021-05-19' of... · dd6ad051
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.13-2021-05-19' of https://gitlab.freedesktop.org/agd5f/linux
      
       into drm-fixes
      
      amd-drm-fixes-5.13-2021-05-19:
      
      amdgpu:
      - Fix downscaling ratio on DCN3.x
      - Fix for non-4K pages
      - PCO/RV compute hang fix
      - Dongle fix
      - Aldebaran codec query support
      - Refcount leak fix
      - Use after free fix
      - Navi12 golden settings updates
      - GPU reset fixes
      
      radeon:
      - Fix for imported BO handling
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210520022500.4023-1-alexander.deucher@amd.com
      dd6ad051
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2021-05-20' of... · 4996c342
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2021-05-20' of git://anongit.freedesktop.org/drm/drm-intel
      
       into drm-fixes
      
      drm/i915 fixes for v5.13-rc3:
      - Pin the L-shape quirked object as unshrinkable to fix crashes
      - Disable HiZ Raw Stall Optimization on broken gen7 to fix glitches, gfx corruption
      - GVT: Move mdev attribute groups into kvmgt module to fix kconfig deps issue
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87a6opehx6.fsf@intel.com
      4996c342
    • Dave Airlie's avatar
      af8d80bf
    • Dave Airlie's avatar
      Merge tag 'exynos-drm-fixes-for-v5.13-rc3' of... · 7544f3ee
      Dave Airlie authored
      Merge tag 'exynos-drm-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos
      
       into drm-fixes
      
      Fixup
      - Correct kerneldoc of fimd_shadow_protect_win function.
      
      Cleanup
      - Drop redundant error messages.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Inki Dae <inki.dae@samsung.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210520034747.257687-1-inki.dae@samsung.com
      7544f3ee
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-fixes-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ba816d3c
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Only a small number of fixes so far, including some that I had applied
        during the merge window, so this is based on the original merge of the
        other branches.
      
         - The largest change is a fix for a reference counting bug in the AMD
           TEE driver.
      
         - Neil Armstrong now co-maintains Amlogic SoC support
      
         - Two build warning fixes for renesas device tree files
      
         - A sign expansion bug for optee
      
         - A DT binding fix for a mismerge"
      
      * tag 'arm-soc-fixes-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: npcm: wpcm450: select interrupt controller driver
        MAINTAINERS: ARM/Amlogic SoCs: add Neil as primary maintainer
        tee: amdtee: unload TA only when its refcount becomes 0
        dt-bindings: nvmem: mediatek: remove duplicate mt8192 line
        firmware: arm_scmi: Remove duplicate declaration of struct scmi_protocol_handle
        firmware: arm_scpi: Prevent the ternary sign expansion bug
        arm64: dts: renesas: Add port@0 node for all CSI-2 nodes to dtsi
        arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Fix CSI40 ports
      ba816d3c
    • Linus Torvalds's avatar
      Merge branch 'urgent.2021.05.20a' of... · 921dd235
      Linus Torvalds authored
      Merge branch 'urgent.2021.05.20a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
      
      Pull kcsan fix from Paul McKenney:
       "Fix for a regression introduced in this merge window by commit
        e36299ef ("kcsan, debugfs: Move debugfs file creation out of early
        init").
      
        The regression is not easy to trigger, requiring a KCSAN build using
        clang with CONFIG_LTO_CLANG=y. The fix is to simply make the
        kcsan_debugfs_init() function's type initcall-compatible. This has
        been posted to the relevant mailing lists:"
      
      * 'urgent.2021.05.20a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        kcsan: Fix debugfs initcall return type
      921dd235
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · a0d8b0ed
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Eight small fixes, all in drivers"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pm80xx: Fix drives missing during rmmod/insmod loop
        scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword()
        scsi: qedf: Add pointer checks in qedf_update_link_speed()
        scsi: ufs: core: Increase the usable queue depth
        scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic
        scsi: ufs: ufs-mediatek: Fix power down spec violation
      a0d8b0ed
    • Linus Torvalds's avatar
      Merge tag 'for-5.13/dm-fixes' of... · a0eb553b
      Linus Torvalds authored
      Merge tag 'for-5.13/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix a couple DM snapshot target crashes exposed by user-error.
      
       - Fix DM integrity target to not use discard optimization, introduced
         during 5.13 merge, when recalulating.
      
       - Fix some sparse warnings in DM integrity target.
      
      * tag 'for-5.13/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm integrity: fix sparse warnings
        dm integrity: revert to not using discard filler when recalulating
        dm snapshot: fix crash with transient storage and zero chunk size
        dm snapshot: fix a crash when an origin has no snapshots
      a0eb553b
    • Rohith Surabattula's avatar
      Fix KASAN identified use-after-free issue. · 9687c85d
      Rohith Surabattula authored
      
      
      [  612.157429] ==================================================================
      [  612.158275] BUG: KASAN: use-after-free in process_one_work+0x90/0x9b0
      [  612.158801] Read of size 8 at addr ffff88810a31ca60 by task kworker/2:9/2382
      
      [  612.159611] CPU: 2 PID: 2382 Comm: kworker/2:9 Tainted: G
      OE     5.13.0-rc2+ #98
      [  612.159623] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
      BIOS 1.14.0-1.fc33 04/01/2014
      [  612.159640] Workqueue:  0x0 (deferredclose)
      [  612.159669] Call Trace:
      [  612.159685]  dump_stack+0xbb/0x107
      [  612.159711]  print_address_description.constprop.0+0x18/0x140
      [  612.159733]  ? process_one_work+0x90/0x9b0
      [  612.159743]  ? process_one_work+0x90/0x9b0
      [  612.159754]  kasan_report.cold+0x7c/0xd8
      [  612.159778]  ? lock_is_held_type+0x80/0x130
      [  612.159789]  ? process_one_work+0x90/0x9b0
      [  612.159812]  kasan_check_range+0x145/0x1a0
      [  612.159834]  process_one_work+0x90/0x9b0
      [  612.159877]  ? pwq_dec_nr_in_flight+0x110/0x110
      [  612.159914]  ? spin_bug+0x90/0x90
      [  612.159967]  worker_thread+0x3b6/0x6c0
      [  612.160023]  ? process_one_work+0x9b0/0x9b0
      [  612.160038]  kthread+0x1dc/0x200
      [  612.160051]  ? kthread_create_worker_on_cpu+0xd0/0xd0
      [  612.160092]  ret_from_fork+0x1f/0x30
      
      [  612.160399] Allocated by task 2358:
      [  612.160757]  kasan_save_stack+0x1b/0x40
      [  612.160768]  __kasan_kmalloc+0x9b/0xd0
      [  612.160778]  cifs_new_fileinfo+0xb0/0x960 [cifs]
      [  612.161170]  cifs_open+0xadf/0xf20 [cifs]
      [  612.161421]  do_dentry_open+0x2aa/0x6b0
      [  612.161432]  path_openat+0xbd9/0xfa0
      [  612.161441]  do_filp_open+0x11d/0x230
      [  612.161450]  do_sys_openat2+0x115/0x240
      [  612.161460]  __x64_sys_openat+0xce/0x140
      
      When mod_delayed_work is called to modify the delay of pending work,
      it might return false and queue a new work when pending work is
      already scheduled or when try to grab pending work failed.
      
      So, Increase the reference count when new work is scheduled to
      avoid use-after-free.
      
      Signed-off-by: default avatarRohith Surabattula <rohiths@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      9687c85d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · f01da525
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "A mixture of small bug fixes, most for longer standing problems:
      
         - NULL pointer crash in siw
      
         - Various error unwind bugs in siw, rxe, cm
      
         - User triggerable errors in uverbs
      
         - Minor bugs in mlx5 and rxe drivers"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/uverbs: Fix a NULL vs IS_ERR() bug
        RDMA/mlx5: Fix query DCT via DEVX
        RDMA/core: Don't access cm_id after its destruction
        RDMA/rxe: Return CQE error if invalid lkey was supplied
        RDMA/mlx5: Recover from fatal event in dual port mode
        RDMA/mlx5: Verify that DM operation is reasonable
        RDMA/rxe: Clear all QP fields if creation failed
        RDMA/core: Prevent divide-by-zero error triggered by the user
        RDMA/siw: Release xarray entry
        RDMA/siw: Properly check send and receive CQ pointers
      f01da525
    • Linus Torvalds's avatar
      Merge tag 'sound-5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6aa37a53
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "All small device-specific fixes here: a series of FireWire audio
        fixes, UAF and other fixes in USB-audio and co spotted by fuzzer,
        and a few HD-audio quirks as usual"
      
      * tag 'sound-5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: line6: Fix racy initialization of LINE6 MIDI
        ALSA: dice: fix stream format for TC Electronic Konnekt Live at high sampling transfer frequency
        ALSA: dice: disable double_pcm_frames mode for M-Audio Profire 610, 2626 and Avid M-Box 3 Pro
        ALSA: intel8x0: Don't update period unless prepared
        ALSA: hda/realtek: Add some CLOVE SSIDs of ALC293
        ALSA: firewire-lib: fix amdtp_packet tracepoints event for packet_index field
        ALSA: firewire-lib: fix calculation for size of IR context payload
        ALSA: firewire-lib: fix check for the size of isochronous packet payload
        ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro
        ...
      6aa37a53
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.13-2' of... · 9ebd8118
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Assorted pdx86 bug-fixes and model-specific quirks for 5.13"
      
      * tag 'platform-drivers-x86-v5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: touchscreen_dmi: Add info for the Chuwi Hi10 Pro (CWI529) tablet
        platform/x86: touchscreen_dmi: Add info for the Mediacom Winpad 7.0 W700 tablet
        platform/x86: intel_punit_ipc: Append MODULE_DEVICE_TABLE for ACPI
        platform/x86: dell-smbios-wmi: Fix oops on rmmod dell_smbios
        platform/x86: hp-wireless: add AMD's hardware id to the supported list
        platform/x86: intel_int0002_vgpio: Only call enable_irq_wake() when using s2idle
        platform/x86: gigabyte-wmi: add support for B550 Aorus Elite
        platform/x86: gigabyte-wmi: add support for X570 UD
        platform/x86: gigabyte-wmi: streamline dmi matching
        platform/mellanox: mlxbf-tmfifo: Fix a memory barrier issue
        platform/surface: dtx: Fix poll function
        platform/surface: aggregator: Add platform-drivers-x86 list to MAINTAINERS entry
        platform/surface: aggregator: avoid clang -Wconstant-conversion warning
        platform/surface: aggregator: Do not mark interrupt as shared
        platform/x86: hp_accel: Avoid invoking _INI to speed up resume
        platform/x86: ideapad-laptop: fix method name typo
        platform/x86: ideapad-laptop: fix a NULL pointer dereference
      9ebd8118
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 50f09a3d
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here is a big set of char/misc/other driver fixes for 5.13-rc3.
      
        The majority here is the fallout of the umn.edu re-review of all prior
        submissions. That resulted in a bunch of reverts along with the
        "correct" changes made, such that there is no regression of any of the
        potential fixes that were made by those individuals. I would like to
        thank the over 80 different developers who helped with the review and
        fixes for this mess.
      
        Other than that, there's a few habanna driver fixes for reported
        issues, and some dyndbg fixes for reported problems.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (82 commits)
        misc: eeprom: at24: check suspend status before disable regulator
        uio_hv_generic: Fix another memory leak in error handling paths
        uio_hv_generic: Fix a memory leak in error handling paths
        uio/uio_pci_generic: fix return value changed in refactoring
        Revert "Revert "ALSA: usx2y: Fix potential NULL pointer dereference""
        dyndbg: drop uninformative vpr_info
        dyndbg: avoid calling dyndbg_emit_prefix when it has no work
        binder: Return EFAULT if we fail BINDER_ENABLE_ONEWAY_SPAM_DETECTION
        cdrom: gdrom: initialize global variable at init time
        brcmfmac: properly check for bus register errors
        Revert "brcmfmac: add a check for the status of usb_register"
        video: imsttfb: check for ioremap() failures
        Revert "video: imsttfb: fix potential NULL pointer dereferences"
        net: liquidio: Add missing null pointer checks
        Revert "net: liquidio: fix a NULL pointer dereference"
        media: gspca: properly check for errors in po1030_probe()
        Revert "media: gspca: Check the return value of write_bridge for timeout"
        media: gspca: mt9m111: Check write_bridge for timeout
        Revert "media: gspca: mt9m111: Check write_bridge for timeout"
        media: dvb: Add check on sp8870_readreg return
        ...
      50f09a3d
    • Linus Torvalds's avatar
      Merge tag 'quota_for_v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 7ac17714
      Linus Torvalds authored
      Pull quota fixes from Jan Kara:
       "The most important part in the pull is disablement of the new syscall
        quotactl_path() which was added in rc1.
      
        The reason is some people at LWN discussion pointed out dirfd would be
        useful for this path based syscall and Christian Brauner agreed.
      
        Without dirfd it may be indeed problematic for containers. So let's
        just disable the syscall for now when it doesn't have users yet so
        that we have more time to mull over how to best specify the filesystem
        we want to work on"
      
      * tag 'quota_for_v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Disable quotactl_path syscall
        quota: Use 'hlist_for_each_entry' to simplify code
      7ac17714
  4. May 20, 2021