Skip to content
Permalink
Vincenzo-Frasc…
Switch branches/tags

Commits on Apr 9, 2021

  1. arm64: mte: Move MTE TCF0 check in entry-common

    The check_mte_async_tcf macro sets the TIF flag non-atomically. This can
    race with another CPU doing a set_tsk_thread_flag() and all the other flags
    can be lost in the process.
    
    Move the tcf0 check to enter_from_user_mode() and clear tcf0 in
    exit_to_user_mode() to address the problem.
    
    Note: Moving the check in entry-common allows to use set_thread_flag()
    which is safe.
    
    Fixes: 637ec83 ("arm64: mte: Handle synchronous and asynchronous tag check faults")
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: stable@vger.kernel.org
    Reported-by: Will Deacon <will@kernel.org>
    Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
    fvincenzo authored and intel-lab-lkp committed Apr 9, 2021

Commits on Mar 25, 2021

  1. Merge branches 'fixes' and 'misc' into for-next

    Russell King committed Mar 25, 2021
  2. ARM: 9067/1: syscalls: switch to generic syscallhdr.sh

    Many architectures duplicate similar shell scripts.
    
    This commit converts ARM to use scripts/syscallhdr.sh, and also
    collects OABI/OEBI syscalls into unistd-eabi.h/unistd-oabi.h,
    removing unistd-common.h.
    
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    masahir0y authored and Russell King committed Mar 25, 2021
  3. ARM: 9068/1: syscalls: switch to generic syscalltbl.sh

    Many architectures duplicate similar shell scripts.
    
    This commit converts ARM to use scripts/syscalltbl.sh.
    
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    masahir0y authored and Russell King committed Mar 25, 2021
  4. ARM: 9066/1: ftrace: pause/unpause function graph tracer in cpu_suspe…

    …nd()
    
    Enabling function_graph tracer on ARM causes kernel panic, because the
    function graph tracer updates the "return address" of a function in order
    to insert a trace callback on function exit, it saves the function's
    original return address in a return trace stack, but cpu_suspend() may not
    return through the normal return path.
    
    cpu_suspend() will resume directly via the cpu_resume path, but the return
    trace stack has been set-up by the subfunctions of cpu_suspend(), which
    makes the "return address" inconsistent with cpu_suspend().
    
    This patch refers to Commit de818bd
    ("arm64: kernel: pause/unpause function graph tracer in cpu_suspend()"),
    
    fixes the issue by pausing/resuming the function graph tracer on the thread
    executing cpu_suspend(), so that the function graph tracer state is kept
    consistent across functions that enter power down states and never return
    by effectively disabling graph tracer while they are executing.
    
    Signed-off-by: louis.wang <liang26812@gmail.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    louis.wang authored and Russell King committed Mar 25, 2021
  5. ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflo…

    …w_handler hook
    
    The commit 1879445 ("perf/core: Set event's default
    ::overflow_handler()") set a default event->overflow_handler in
    perf_event_alloc(), and replace the check event->overflow_handler with
    is_default_overflow_handler(), but one is missing.
    
    Currently, the bp->overflow_handler can not be NULL. As a result,
    enable_single_step() is always not invoked.
    
    Comments from Zhen Lei:
    
     https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210207105934.2001-1-thunder.leizhen@huawei.com/
    
    Fixes: 1879445 ("perf/core: Set event's default ::overflow_handler()")
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Cc: Wang Nan <wangnan0@huawei.com>
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Zhen Lei authored and Russell King committed Mar 25, 2021
  6. ARM: 9062/1: kprobes: rewrite test-arm.c in UAL

    Clang's integrated assembler only accepts UAL syntax, rewrite the
    instructions that were changed by RVCTv2.1.  The document "Assembly
    language changes after RVCTv2.1" was very helpful.
    
      .syntax unified
    
    directive is added, since -masm-syntax-unified is unreliable for older
    but supported versions of GCC. See also:
    
    commit fe09d9c ("ARM: 8852/1: uaccess: use unified assembler language syntax")
    
    Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
    Link: ClangBuiltLinux#1271
    
    Reported-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>
    Reviewed-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    nickdesaulniers authored and Russell King committed Mar 25, 2021
  7. ARM: 9061/1: kprobes: fix UNPREDICTABLE warnings

    GNU as warns twice for this file:
    Warning: using r15 results in unpredictable behaviour
    
    via the Arm ARM:
    K1.1.1 Overview of the constraints on Armv7 UNPREDICTABLE behaviors
    
      The term UNPREDICTABLE describes a number of cases where the
      architecture has a feature that software must not use.
    
    Ard notes:
      These are selftests that aim to ensure that kprobe never attempts to
      replace the opcodes in question with a probe, but they are not
      actually executed, or expected to occur in real code.
    
    Link: ClangBuiltLinux#1271
    Link: https://reviews.llvm.org/D95586
    
    Reported-by: kernelci.org bot <bot@kernelci.org>
    Suggested-by: Peter Smith <peter.smith@arm.com>
    Suggested-by: Renato Golin <rengolin@systemcall.eu>
    Suggested-by: David Spickett <david.spickett@linaro.org>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    nickdesaulniers authored and Russell King committed Mar 25, 2021
  8. ARM: footbridge: fix PCI interrupt mapping

    Since commit 30fdfb9 ("PCI: Add a call to pci_assign_irq() in
    pci_device_probe()"), the PCI code will call the IRQ mapping function
    whenever a PCI driver is probed. If these are marked as __init, this
    causes an oops if a PCI driver is loaded or bound after the kernel has
    initialised.
    
    Fixes: 30fdfb9 ("PCI: Add a call to pci_assign_irq() in pci_device_probe()")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Russell King committed Mar 25, 2021
  9. ARM: 9069/1: NOMMU: Fix conversion for_each_membock() to for_each_mem…

    …_range()
    
    for_each_mem_range() uses a loop variable, yet looking into code it is
    not just iteration counter but more complex entity which encodes
    information about memblock. Thus condition i == 0 looks fragile.
    Indeed, it broke boot of R-class platforms since it never took i == 0
    path (due to i was set to 1). Fix that with restoring original flag
    check.
    
    Fixes: b10d6bc ("arch, drivers: replace for_each_membock() with for_each_mem_range()")
    Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
    Acked-by: Mike Rapoport <rppt@linux.ibm.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Vladimir Murzin authored and Russell King committed Mar 25, 2021
  10. ARM: 9063/1: mm: reduce maximum number of CPUs if DEBUG_KMAP_LOCAL is…

    … enabled
    
    The debugging code for kmap_local() doubles the number of per-CPU fixmap
    slots allocated for kmap_local(), in order to use half of them as guard
    regions. This causes the fixmap region to grow downwards beyond the start
    of its reserved window if the supported number of CPUs is large, and collide
    with the newly added virtual DT mapping right below it, which is obviously
    not good.
    
    One manifestation of this is EFI boot on a kernel built with NR_CPUS=32
    and CONFIG_DEBUG_KMAP_LOCAL=y, which may pass the FDT in highmem, resulting
    in block entries below the fixmap region that the fixmap code misidentifies
    as fixmap table entries, and subsequently tries to dereference using a
    phys-to-virt translation that is only valid for lowmem. This results in a
    cryptic splat such as the one below.
    
      ftrace: allocating 45548 entries in 89 pages
      8<--- cut here ---
      Unable to handle kernel paging request at virtual address fc6006f0
      pgd = (ptrval)
      [fc6006f0] *pgd=80000040207003, *pmd=00000000
      Internal error: Oops: a06 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper Not tainted 5.11.0+ torvalds#382
      Hardware name: Generic DT based system
      PC is at cpu_ca15_set_pte_ext+0x24/0x30
      LR is at __set_fixmap+0xe4/0x118
      pc : [<c041ac9c>]    lr : [<c04189d8>]    psr: 400000d3
      sp : c1601ed8  ip : 00400000  fp : 00800000
      r10: 0000071f  r9 : 00421000  r8 : 00c00000
      r7 : 00c00000  r6 : 0000071f  r5 : ffade000  r4 : 4040171f
      r3 : 00c00000  r2 : 4040171f  r1 : c041ac78  r0 : fc6006f0
      Flags: nZcv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment none
      Control: 30c5387d  Table: 40203000  DAC: 00000001
      Process swapper (pid: 0, stack limit = 0x(ptrval))
    
    So let's limit CONFIG_NR_CPUS to 16 when CONFIG_DEBUG_KMAP_LOCAL=y. Also,
    fix the BUILD_BUG_ON() check that was supposed to catch this, by checking
    whether the region grows below the start address rather than above the end
    address.
    
    Fixes: 2a15ba8 ("ARM: highmem: Switch to generic kmap atomic")
    Reported-by: Peter Robinson <pbrobinson@gmail.com>
    Tested-by: Peter Robinson <pbrobinson@gmail.com>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    ardbiesheuvel authored and Russell King committed Mar 25, 2021

Commits on Mar 9, 2021

  1. ARM: 9060/1: kexec: Remove unused kexec_reinit callback

    The last (only?) user of this was removed in commit ba364fc ("ARM:
    Kirkwood: Remove mach-kirkwood"), back in v3.17.
    
    Link: https://lore.kernel.org/r/20210210235243.398810-1-joel@jms.id.au
    
    Signed-off-by: Joel Stanley <joel@jms.id.au>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    shenki authored and Russell King committed Mar 9, 2021
  2. ARM: 9059/1: cache-v7: get rid of mini-stack

    Now that we have reduced the number of registers that we need to
    preserve when calling v7_invalidate_l1 from the boot code, we can use
    scratch registers to preserve the remaining ones, and get rid of the
    mini stack entirely. This works around any issues regarding cache
    behavior in relation to the uncached accesses to this memory, which is
    hard to get right in the general case (i.e., both bare metal and under
    virtualization)
    
    While at it, switch v7_invalidate_l1 to using ip as a scratch register
    instead of r4. This makes the function AAPCS compliant, and removes the
    need to stash r4 in ip across the call.
    
    Acked-by: Nicolas Pitre <nico@fluxnic.net>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    ardbiesheuvel authored and Russell King committed Mar 9, 2021
  3. ARM: 9058/1: cache-v7: refactor v7_invalidate_l1 to avoid clobbering …

    …r5/r6
    
    The cache invalidation code in v7_invalidate_l1 can be tweaked to
    re-read the associativity from CCSIDR, and keep the way identifier
    component in a single register that is assigned in the outer loop. This
    way, we need 2 registers less.
    
    Given that the number of sets is typically much larger than the
    associativity, rearrange the code so that the outer loop has the fewer
    number of iterations, ensuring that the re-read of CCSIDR only occurs a
    handful of times in practice.
    
    Fix the whitespace while at it, and update the comment to indicate that
    this code is no longer a clone of anything else.
    
    Acked-by: Nicolas Pitre <nico@fluxnic.net>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    ardbiesheuvel authored and Russell King committed Mar 9, 2021
  4. ARM: 9057/1: cache-v7: add missing ISB after cache level selection

    A write to CSSELR needs to complete before its results can be observed
    via CCSIDR. So add a ISB to ensure that this is the case.
    
    Acked-by: Nicolas Pitre <nico@fluxnic.net>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    ardbiesheuvel authored and Russell King committed Mar 9, 2021
  5. ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld

    The LLVM ld.lld linker uses a different symbol type for __bss_start,
    resulting in the calculation of KBSS_SZ to be thrown off. Up until now,
    this has gone unnoticed as it only affects the appended DTB case, but
    pending changes for ARM in the way the decompressed kernel is cleaned
    from the caches has uncovered this problem.
    
    On a ld.lld build:
    
      $ nm vmlinux |grep bss_
      c1c22034 D __bss_start
      c1c86e98 B __bss_stop
    
    resulting in
    
      $ readelf -s arch/arm/boot/compressed/vmlinux | grep bss_size
      433: c1c86e98     0 NOTYPE  GLOBAL DEFAULT  ABS _kernel_bss_size
    
    which is obviously incorrect, and may cause the cache clean to access
    unmapped memory, or cause the size calculation to wrap, resulting in no
    cache clean to be performed at all.
    
    Fix this by updating the sed regex to take D type symbols into account.
    
    Link: https://lore.kernel.org/linux-arm-kernel/6c65bcef-d4e7-25fa-43cf-2c435bb61bb9@collabora.com/
    Link: https://lore.kernel.org/linux-arm-kernel/20210205085220.31232-1-ardb@kernel.org/
    
    Cc: <stable@vger.kernel.org> # v4.19+
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Tested-by: Nick Desaulniers <ndesaulniers@google.com>
    Reported-by: Guillaume Tucker <guillaume.tucker@collabora.com>
    Reported-by: "kernelci.org bot" <bot@kernelci.org>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    ardbiesheuvel authored and Russell King committed Mar 9, 2021

Commits on Mar 6, 2021

  1. Linux 5.12-rc2

    torvalds committed Mar 6, 2021
  2. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rdma/rdma
    
    Pull rdma fixes from Jason Gunthorpe:
     "Nothing special here, though Bob's regression fixes for rxe would have
      made it before the rc cycle had there not been such strong winter
      weather!
    
       - Fix corner cases in the rxe reference counting cleanup that are
         causing regressions in blktests for SRP
    
       - Two kdoc fixes so W=1 is clean
    
       - Missing error return in error unwind for mlx5
    
       - Wrong lock type nesting in IB CM"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
      RDMA/rxe: Fix errant WARN_ONCE in rxe_completer()
      RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt()
      RDMA/rxe: Fix missed IB reference counting in loopback
      RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc
      RDMA/mlx5: Set correct kernel-doc identifier
      IB/mlx5: Add missing error code
      RDMA/rxe: Fix missing kconfig dependency on CRYPTO
      RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep
    torvalds committed Mar 6, 2021
  3. Merge tag 'gcc-plugins-v5.12-rc2' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/kees/linux
    
    Pull gcc-plugins fixes from Kees Cook:
     "Tiny gcc-plugin fixes for v5.12-rc2. These issues are small but have
      been reported a couple times now by static analyzers, so best to get
      them fixed to reduce the noise. :)
    
       - Fix coding style issues (Jason Yan)"
    
    * tag 'gcc-plugins-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
      gcc-plugins: latent_entropy: remove unneeded semicolon
      gcc-plugins: structleak: remove unneeded variable 'ret'
    torvalds committed Mar 6, 2021
  4. Merge tag 'pstore-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/kees/linux
    
    Pull pstore fixes from Kees Cook:
    
     - Rate-limit ECC warnings (Dmitry Osipenko)
    
     - Fix error path check for NULL (Tetsuo Handa)
    
    * tag 'pstore-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
      pstore/ram: Rate-limit "uncorrectable error in header" message
      pstore: Fix warning in pstore_kill_sb()
    torvalds committed Mar 6, 2021

Commits on Mar 5, 2021

  1. Merge tag 'for-5.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/device-mapper/linux-dm
    
    Pull device mapper fixes from Mike Snitzer:
     "Fix DM verity target's optional Forward Error Correction (FEC) for
      Reed-Solomon roots that are unaligned to block size"
    
    * tag 'for-5.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm verity: fix FEC for RS roots unaligned to block size
      dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size
    torvalds committed Mar 5, 2021
  2. Merge tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
    
     - NVMe fixes:
          - more device quirks (Julian Einwag, Zoltán Böszörményi, Pascal
            Terjan)
          - fix a hwmon error return (Daniel Wagner)
          - fix the keep alive timeout initialization (Martin George)
          - ensure the model_number can't be changed on a used subsystem
            (Max Gurtovoy)
    
     - rsxx missing -EFAULT on copy_to_user() failure (Dan)
    
     - rsxx remove unused linux.h include (Tian)
    
     - kill unused RQF_SORTED (Jean)
    
     - updated outdated BFQ comments (Joseph)
    
     - revert work-around commit for bd_size_lock, since we removed the
       offending user in this merge window (Damien)
    
    * tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block:
      nvmet: model_number must be immutable once set
      nvme-fabrics: fix kato initialization
      nvme-hwmon: Return error code when registration fails
      nvme-pci: add quirks for Lexar 256GB SSD
      nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state
      nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST.
      rsxx: Return -EFAULT if copy_to_user() fails
      block/bfq: update comments and default value in docs for fifo_expire
      rsxx: remove unused including <linux/version.h>
      block: Drop leftover references to RQF_SORTED
      block: revert "block: fix bd_size_lock use"
    torvalds committed Mar 5, 2021
  3. Merge tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block

    Pull io_uring fixes from Jens Axboe:
     "A bit of a mix between fallout from the worker change, cleanups and
      reductions now possible from that change, and fixes in general. In
      detail:
    
       - Fully serialize manager and worker creation, fixing races due to
         that.
    
       - Clean up some naming that had gone stale.
    
       - SQPOLL fixes.
    
       - Fix race condition around task_work rework that went into this
         merge window.
    
       - Implement unshare. Used for when the original task does unshare(2)
         or setuid/seteuid and friends, drops the original workers and forks
         new ones.
    
       - Drop the only remaining piece of state shuffling we had left, which
         was cred. Move it into issue instead, and we can drop all of that
         code too.
    
       - Kill f_op->flush() usage. That was such a nasty hack that we had
         out of necessity, we no longer need it.
    
       - Following from ->flush() removal, we can also drop various bits of
         ctx state related to SQPOLL and cancelations.
    
       - Fix an issue with IOPOLL retry, which originally was fallout from a
         filemap change (removing iov_iter_revert()), but uncovered an issue
         with iovec re-import too late.
    
       - Fix an issue with system suspend.
    
       - Use xchg() for fallback work, instead of cmpxchg().
    
       - Properly destroy io-wq on exec.
    
       - Add create_io_thread() core helper, and use that in io-wq and
         io_uring. This allows us to remove various silly completion events
         related to thread setup.
    
       - A few error handling fixes.
    
      This should be the grunt of fixes necessary for the new workers, next
      week should be quieter. We've got a pending series from Pavel on
      cancelations, and how tasks and rings are indexed. Outside of that,
      should just be minor fixes. Even with these fixes, we're still killing
      a net ~80 lines"
    
    * tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block: (41 commits)
      io_uring: don't restrict issue_flags for io_openat
      io_uring: make SQPOLL thread parking saner
      io-wq: kill hashed waitqueue before manager exits
      io_uring: clear IOCB_WAITQ for non -EIOCBQUEUED return
      io_uring: don't keep looping for more events if we can't flush overflow
      io_uring: move to using create_io_thread()
      kernel: provide create_io_thread() helper
      io_uring: reliably cancel linked timeouts
      io_uring: cancel-match based on flags
      io-wq: ensure all pending work is canceled on exit
      io_uring: ensure that threads freeze on suspend
      io_uring: remove extra in_idle wake up
      io_uring: inline __io_queue_async_work()
      io_uring: inline io_req_clean_work()
      io_uring: choose right tctx->io_wq for try cancel
      io_uring: fix -EAGAIN retry with IOPOLL
      io-wq: fix error path leak of buffered write hash map
      io_uring: remove sqo_task
      io_uring: kill sqo_dead and sqo submission halting
      io_uring: ignore double poll add on the same waitqueue head
      ...
    torvalds committed Mar 5, 2021
  4. Merge tag 'pm-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/rafael/linux-pm
    
    Pull power management fixes from Rafael Wysocki:
     "These fix the usage of device links in the runtime PM core code and
      update the DTPM (Dynamic Thermal Power Management) feature added
      recently.
    
      Specifics:
    
       - Make the runtime PM core code avoid attempting to suspend supplier
         devices before updating the PM-runtime status of a consumer to
         'suspended' (Rafael Wysocki).
    
       - Fix DTPM (Dynamic Thermal Power Management) root node
         initialization and label that feature as EXPERIMENTAL in Kconfig
         (Daniel Lezcano)"
    
    * tag 'pm-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      powercap/drivers/dtpm: Add the experimental label to the option description
      powercap/drivers/dtpm: Fix root node initialization
      PM: runtime: Update device status before letting suppliers suspend
    torvalds committed Mar 5, 2021
  5. Merge tag 'acpi-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rafael/linux-pm
    
    Pull ACPI fix from Rafael Wysocki:
     "Make the empty stubs of some helper functions used when CONFIG_ACPI is
      not set actually match those functions (Andy Shevchenko)"
    
    * tag 'acpi-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI: bus: Constify is_acpi_node() and friends (part 2)
    torvalds committed Mar 5, 2021
  6. Merge tag 'iommu-fixes-v5.12-rc1' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/joro/iommu
    
    Pull iommu fixes from Joerg Roedel:
    
     - Fix a sleeping-while-atomic issue in the AMD IOMMU code
    
     - Disable lazy IOTLB flush for untrusted devices in the Intel VT-d
       driver
    
     - Fix status code definitions for Intel VT-d
    
     - Fix IO Page Fault issue in Tegra IOMMU driver
    
    * tag 'iommu-fixes-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
      iommu/vt-d: Fix status code for Allocate/Free PASID command
      iommu: Don't use lazy flush for untrusted device
      iommu/tegra-smmu: Fix mc errors on tegra124-nyan
      iommu/amd: Fix sleeping in atomic in increase_address_space()
    torvalds committed Mar 5, 2021
  7. Merge tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
     "More regression fixes and stabilization.
    
      Regressions:
    
       - zoned mode
          - count zone sizes in wider int types
          - fix space accounting for read-only block groups
    
       - subpage: fix page tail zeroing
    
      Fixes:
    
       - fix spurious warning when remounting with free space tree
    
       - fix warning when creating a directory with smack enabled
    
       - ioctl checks for qgroup inheritance when creating a snapshot
    
       - qgroup
          - fix missing unlock on error path in zero range
          - fix amount of released reservation on error
          - fix flushing from unsafe context with open transaction,
            potentially deadlocking
    
       - minor build warning fixes"
    
    * tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: zoned: do not account freed region of read-only block group as zone_unusable
      btrfs: zoned: use sector_t for zone sectors
      btrfs: subpage: fix the false data csum mismatch error
      btrfs: fix warning when creating a directory with smack enabled
      btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
      btrfs: export and rename qgroup_reserve_meta
      btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata
      btrfs: fix spurious free_space_tree remount warning
      btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl
      btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors
      btrfs: ref-verify: use 'inline void' keyword ordering
    torvalds committed Mar 5, 2021
  8. Merge tag 'devicetree-fixes-for-5.12-1' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/robh/linux
    
    Pull devicetree fixes from Rob Herring:
    
     - Another batch of graph and video-interfaces schema conversions
    
     - Drop DT header symlink for dropped C6X arch
    
     - Fix bcm2711-hdmi schema error
    
    * tag 'devicetree-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      dt-bindings: media: Use graph and video-interfaces schemas, round 2
      dts: drop dangling c6x symlink
      dt-bindings: bcm2711-hdmi: Fix broken schema
    torvalds committed Mar 5, 2021
  9. Merge tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/rostedt/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
     "Functional fixes:
    
       - Fix big endian conversion for arm64 in recordmcount processing
    
       - Fix timestamp corruption in ring buffer on discarding events
    
       - Fix memory leak in __create_synth_event()
    
       - Skip selftests if tracing is disabled as it will cause them to
         fail.
    
      Non-functional fixes:
    
       - Fix help text in Kconfig
    
       - Remove duplicate prototype for trace_empty()
    
       - Fix stale comment about the trace_event_call flags.
    
      Self test update:
    
       - Add more information to the validation output of when a corrupt
         timestamp is found in the ring buffer, and also trigger a warning
         to make sure that tests catch it"
    
    * tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Fix comment about the trace_event_call flags
      tracing: Skip selftests if tracing is disabled
      tracing: Fix memory leak in __create_synth_event()
      ring-buffer: Add a little more information and a WARN when time stamp going backwards is detected
      ring-buffer: Force before_stamp and write_stamp to be different on discard
      tracing: Fix help text of TRACEPOINT_BENCHMARK in Kconfig
      tracing: Remove duplicate declaration from trace.h
      ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
    torvalds committed Mar 5, 2021
  10. RDMA/rxe: Fix errant WARN_ONCE in rxe_completer()

    In rxe_comp.c in rxe_completer() the function free_pkt() did not clear skb
    which triggered a warning at 'done:' and could possibly at 'exit:'. The
    WARN_ONCE() calls are not actually needed.  The call to free_pkt() is
    moved to the end to clearly show that all skbs are freed.
    
    Fixes: 899aba8 ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
    Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.com
    Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Bob Pearson authored and jgunthorpe committed Mar 5, 2021
  11. RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt()

    rxe_rcv_mcast_pkt() dropped a reference to ib_device when no error
    occurred causing an underflow on the reference counter.  This code is
    cleaned up to be clearer and easier to read.
    
    Fixes: 899aba8 ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
    Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.com
    Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Bob Pearson authored and jgunthorpe committed Mar 5, 2021
  12. RDMA/rxe: Fix missed IB reference counting in loopback

    When the noted patch below extending the reference taken by
    rxe_get_dev_from_net() in rxe_udp_encap_recv() until each skb is freed it
    was not matched by a reference in the loopback path resulting in
    underflows.
    
    Fixes: 899aba8 ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
    Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.com
    Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Bob Pearson authored and jgunthorpe committed Mar 5, 2021
  13. io_uring: don't restrict issue_flags for io_openat

    45d189c ("io_uring: replace force_nonblock with flags") did
    something strange for io_openat() slicing all issue_flags but
    IO_URING_F_NONBLOCK. Not a bug for now, but better to just forward the
    flags.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Mar 5, 2021
  14. Merge tag 'nvme-5.12-2021-03-05' of git://git.infradead.org/nvme into…

    … block-5.12
    
    Pull NVMe fixes from Christoph:
    
    "nvme fixes for 5.12:
    
     - more device quirks (Julian Einwag, Zoltán Böszörményi, Pascal Terjan)
     - fix a hwmon error return (Daniel Wagner)
     - fix the keep alive timeout initialization (Martin George)
     - ensure the model_number can't be changed on a used subsystem
       (Max Gurtovoy)"
    
    * tag 'nvme-5.12-2021-03-05' of git://git.infradead.org/nvme:
      nvmet: model_number must be immutable once set
      nvme-fabrics: fix kato initialization
      nvme-hwmon: Return error code when registration fails
      nvme-pci: add quirks for Lexar 256GB SSD
      nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state
      nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST.
    axboe committed Mar 5, 2021
  15. io_uring: make SQPOLL thread parking saner

    We have this weird true/false return from parking, and then some of the
    callers decide to look at that. It can lead to unbalanced parks and
    sqd locking. Have the callers check the thread status once it's parked.
    We know we have the lock at that point, so it's either valid or it's NULL.
    
    Fix race with parking on thread exit. We need to be careful here with
    ordering of the sdq->lock and the IO_SQ_THREAD_SHOULD_PARK bit.
    
    Rename sqd->completion to sqd->parked to reflect that this is the only
    thing this completion event doesn.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    axboe committed Mar 5, 2021
Older