Changelog in Linux kernel 7.1.1

 
arm64: cputype: Add C1-Premium definitions [+ + +]
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Tue Jun 16 13:19:54 2026 +0100

    arm64: cputype: Add C1-Premium definitions
    
    commit d28413bfc5a255957241f1df5d7fd0c2cd74fe18 upstream.
    
    Add cputype definitions for C1-Premium. These will be used for errata
    detection in subsequent patches.
    
    These values can be found in the C1-Premium TRM:
    
      https://developer.arm.com/documentation/109416/0100/
    
    ... in section A.5.1 ("MIDR_EL1, Main ID Register").
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Will Deacon <will@kernel.org>
    [Mark: backport to v7.1.y]
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

arm64: cputype: Add C1-Ultra definitions [+ + +]
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Tue Jun 16 13:19:53 2026 +0100

    arm64: cputype: Add C1-Ultra definitions
    
    commit 60349e64a6c65f9f0aa118af711b3c7e137f07ff upstream.
    
    Add cputype definitions for C1-Ultra. These will be used for errata
    detection in subsequent patches.
    
    These values can be found in the C1-Ultra TRM:
    
      https://developer.arm.com/documentation/108014/0100/
    
    ... in section A.5.1 ("MIDR_EL1, Main ID Register").
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Will Deacon <will@kernel.org>
    [Mark: backport to v7.1.y]
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

arm64: errata: Mitigate TLBI errata on Microsoft Azure Cobalt 100 CPU [+ + +]
Author: Will Deacon <will@kernel.org>
Date:   Tue Jun 16 13:19:57 2026 +0100

    arm64: errata: Mitigate TLBI errata on Microsoft Azure Cobalt 100 CPU
    
    commit 1940e70a8144bf75e6df26bf6f600862ea7f7ea1 upstream.
    
    Commit fb091ff39479 ("arm64: Subscribe Microsoft Azure Cobalt 100 to ARM
    Neoverse N2 errata") states that Microsoft Azure Cobalt 100 CPU "is a
    Microsoft implemented CPU based on r0p0 of the ARM Neoverse N2 CPU, and
    therefore suffers from all the same errata.".
    
    So enable the workaround for the latest broadcast TLB invalidation bug
    on these parts.
    
    Signed-off-by: Will Deacon <will@kernel.org>
    [Mark: backport to v7.1.y]
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

arm64: errata: Mitigate TLBI errata on NVIDIA Olympus CPU [+ + +]
Author: Shanker Donthineni <sdonthineni@nvidia.com>
Date:   Tue Jun 16 13:19:56 2026 +0100

    arm64: errata: Mitigate TLBI errata on NVIDIA Olympus CPU
    
    commit ec7216f92e4ebd485b1c6dc6aa3f6064b71a5768 upstream.
    
    NVIDIA Olympus cores are affected by the TLBI completion issue tracked as
    CVE-2025-10263. The existing ARM64_ERRATUM_4118414 handling already uses
    ARM64_WORKAROUND_REPEAT_TLBI to issue an additional broadcast TLBI;DSB
    sequence and ensure affected memory write effects are globally observed.
    
    Add MIDR_NVIDIA_OLYMPUS to the repeat-TLBI match list so the same
    mitigation is enabled on affected Olympus systems. Also document the
    NVIDIA Olympus erratum in the arm64 silicon errata table and list it in
    the Kconfig help text.
    
    Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>
    [Mark: backport to v7.1.y]
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

arm64: errata: Mitigate TLBI errata on various Arm CPUs [+ + +]
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Tue Jun 16 13:19:55 2026 +0100

    arm64: errata: Mitigate TLBI errata on various Arm CPUs
    
    commit cfd391e74134db664feb499d43af286380b10ba8 upstream.
    
    A number of CPUs developed by Arm suffer from errata whereby a broadcast
    TLBI;DSB sequence may complete before the global observation of writes
    which are translated by an affected TLB entry.
    
    These errata ONLY affect the completion of memory accesses which have
    been translated by an invalidated TLB entry, and these errata DO NOT
    affect the actual invalidation of TLB entries. TLB entries are removed
    correctly.
    
    This issue has been assigned CVE ID CVE-2025-10263.
    
    To mitigate this issue, Arm recommends that software follows any
    affected TLBI;DSB sequence with an additional TLBI;DSB, which will
    ensure that all memory write effects affected by the first TLBI have
    been globally observed. The additional TLBI can use any operation that
    is broadcast to affected CPUs, and the additional DSB can use any option
    that is sufficient to complete the additional TLBI.
    
    The ARM64_WORKAROUND_REPEAT_TLBI workaround is sufficient to mitigate
    the issue. Enable this workaround for affected CPUs, and update the
    silicon errata documentation accordingly.
    
    Note that due to the manner in which Arm develops IP and tracks errata,
    some CPUs share a common erratum number.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Will Deacon <will@kernel.org>
    [Mark: backport to v7.1.y]
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
driver core: faux: fix root device registration [+ + +]
Author: Johan Hovold <johan@kernel.org>
Date:   Fri Apr 24 17:31:26 2026 +0200

    driver core: faux: fix root device registration
    
    commit 580a795105dae2ef1622df72a27a8fb0605e2f6b upstream.
    
    A recent change made the faux bus root device be allocated dynamically
    but failed to provide a release function to free the memory when the
    last reference is dropped (on theoretical failure to register the device
    or bus).
    
    Fix this by using root_device_register() instead of open coding.
    
    Also add the missing sanity check when registering faux devices to avoid
    use-after-free if the bus failed to register (which would previously
    have triggered a bunch of use-after-free warnings).
    
    Fixes: 61b76d07d2b4 ("driver core: faux: stop using static struct device")
    Cc: stable@vger.kernel.org      # 7.0
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Link: https://patch.msgid.link/20260424153127.2647405-2-johan@kernel.org
    Signed-off-by: Danilo Krummrich <dakr@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

driver core: reject devices with unregistered buses [+ + +]
Author: Johan Hovold <johan@kernel.org>
Date:   Thu Apr 30 11:17:18 2026 +0200

    driver core: reject devices with unregistered buses
    
    commit 36f35b8df6972167102a1c3d4361e0afb6a84534 upstream.
    
    Trying to register a device on a bus which has not yet been registered
    used to trigger a NULL-pointer dereference, but since the const bus
    structure rework registration instead succeeds without the device being
    added to the bus.
    
    This specifically means that the device will never bind to a driver and
    that the bus sysfs attributes are not created (i.e. as if the device had
    no bus).
    
    Reject devices with unregistered buses to catch any callers that get
    the ordering wrong and to handle bus registration failures more
    gracefully.
    
    Fixes: 5221b82d46f2 ("driver core: bus: bus_add/probe/remove_device() cleanups")
    Cc: stable@vger.kernel.org      # 6.3
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Link: https://patch.msgid.link/20260430091718.230228-1-johan@kernel.org
    Signed-off-by: Danilo Krummrich <dakr@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
drm/amdgpu: drop retry loop in amdgpu_hmm_range_get_pages [+ + +]
Author: Honglei Huang <honghuan@amd.com>
Date:   Fri May 29 10:23:17 2026 +0800

    drm/amdgpu: drop retry loop in amdgpu_hmm_range_get_pages
    
    commit 342981fff32802a819d6fc7cf3c9fedf9f3d9d60 upstream.
    
    Since commit c08972f55594 ("drm/amdgpu: fix amdgpu_hmm_range_get_pages")
    moved mmu_interval_read_begin() out of the per-chunk loop, the
    captured notifier_seq is no longer refreshed across retries. As a
    result, the existing -EBUSY retry path can never make progress:
    
      hmm_range_fault() returns -EBUSY only when
      mmu_interval_check_retry(notifier, notifier_seq) reports that the
      sequence is stale. Once the sequence has advanced, the stored seq
      will never match again, so every subsequent call within the same
      invocation returns -EBUSY immediately.
    
    The "goto retry" therefore degenerates into a busy spin that simply
    burns CPU for the full HMM_RANGE_DEFAULT_TIMEOUT (~1s) window before
    finally bailing out with -EAGAIN. This is pure latency with no chance
    of recovery, and it actively hurts the KFD userptr stack: the caller
    ends up blocked for a second while holding mmap_lock, only to return
    -EAGAIN to the restore worker (or to userspace) which would have
    re-driven the operation immediately anyway.
    
    Drop the retry/timeout entirely and let -EBUSY propagate straight to
    out_free_pfns, where it is already translated to -EAGAIN. Recovery is
    handled at a higher level: the KFD restore_userptr_worker reschedules
    itself, and the userptr ioctl path returns -EAGAIN to userspace.
    
    No functional regression: the previous behaviour on -EBUSY was already
    to fail with -EAGAIN after a 1s stall; we just skip the stall.
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Honglei Huang <honghuan@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling [+ + +]
Author: Mingyu Wang <25181214217@stu.xidian.edu.cn>
Date:   Sat May 23 21:52:10 2026 +0800

    fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling
    
    commit 00633c4683828acd5256fa8d5163f440d74bbe71 upstream.
    
    A SOFTIRQ-safe to SOFTIRQ-unsafe lock order deadlock can occur in
    send_sigio() and send_sigurg() when a process group receives a signal.
    
    When FASYNC is configured for a process group (PIDTYPE_PGID), both
    functions use read_lock(&tasklist_lock) to traverse the task list.
    However, they are frequently called from softirq context:
    - send_sigio() via input_inject_event -> kill_fasync
    - send_sigurg() via tcp_check_urg -> sk_send_sigurg (NET_RX_SOFTIRQ)
    
    The deadlock is caused by the rwlock writer fairness mechanism:
    1. CPU 0 (process context) holds read_lock(&tasklist_lock) in do_wait().
    2. CPU 1 (process context) attempts write_lock(&tasklist_lock) in
       fork() or exit() and spins, which blocks all new readers.
    3. CPU 0 is interrupted by a softirq (e.g., TCP URG packet reception).
    4. The softirq calls send_sigurg() and attempts to acquire
       read_lock(&tasklist_lock), deadlocking because CPU 1 is waiting.
    
    Since PID hashing and do_each_pid_task() traversals are already
    RCU-protected, the read_lock on tasklist_lock is no longer strictly
    required for safe traversal. Fix this by replacing tasklist_lock with
    rcu_read_lock(), aligning the process group signaling path with the
    single-PID path. This also mitigates a potential remote denial of
    service vector via TCP URG packets.
    
    Lockdep splat:
    =====================================================
    WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
    [...]
    Chain exists of:
      &dev->event_lock --> &f_owner->lock --> tasklist_lock
    
    Possible interrupt unsafe locking scenario:
           CPU0                    CPU1
           ----                    ----
      lock(tasklist_lock);
                               local_irq_disable();
                               lock(&dev->event_lock);
                               lock(&f_owner->lock);
      <Interrupt>
        lock(&dev->event_lock);
    
    *** DEADLOCK ***
    
    Reviewed-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Mingyu Wang <25181214217@stu.xidian.edu.cn>
    Link: https://patch.msgid.link/20260523135210.590928-1-w15303746062@163.com
    Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
HID: Input: Add battery list cleanup with devm action [+ + +]
Author: Rafael Passos <rafael@rcpassos.me>
Date:   Tue Jun 2 00:05:19 2026 -0300

    HID: Input: Add battery list cleanup with devm action
    
    commit 426e5846eba75feaf1c9c6c119cb153610192da1 upstream.
    
    The batteries list (hdev->batteries) is not cleaned up during
    hidinput_disconnect(), but struct hid_battery entries are allocated
    with devm_kzalloc.
    When a driver is unbound (e.g. during devicereprobe), devm frees those
    entries while their list_head nodesremain dangling in hdev->batteries,
    which persists across rebinds.
    
    Link: https://lore.kernel.org/all/20260602011949.2825852-1-rafael@rcpassos.me/
    Fixes: 4a58ae85c3f9 ("HID: input: Add support for multiple batteries per device")
    Signed-off-by: Rafael Passos <rafael@rcpassos.me>
    Acked-by: Lucas Zampieri <lcasmz54@gmail.com>
    Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
Linux: Linux 7.1.1 [+ + +]
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Jun 19 13:50:58 2026 +0200

    Linux 7.1.1
    
    Link: https://lore.kernel.org/r/20260616145523.335696673@linuxfoundation.org
    Tested-by: Brett A C Sheffield <bacs@librecast.net>
    Tested-by: Salvatore Bonaccorso <carnil@debian.org>
    Tested-by: Barry K. Nathan <barryn@pobox.com>
    Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
    Tested-by: Miguel Ojeda <ojeda@kernel.org>
    Tested-by: Mark Brown <broonie@kernel.org>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Peter Schneider <pschneider1968@googlemail.com>
    Tested-by: Luna Jernberg <droidbittin@gmail.com>
    Tested-by: Ron Economos <re@w6rz.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>