Skip to content

NAS-142141 / 25.10.7 / Update 6.12 LTS kernel to v6.12.102 (by ixhamza) - #336

Merged
creatorcary merged 3579 commits into
release/25.10.7from
NAS-142141-25.10.7
Aug 12, 2026
Merged

NAS-142141 / 25.10.7 / Update 6.12 LTS kernel to v6.12.102 (by ixhamza)#336
creatorcary merged 3579 commits into
release/25.10.7from
NAS-142141-25.10.7

Conversation

@bugclerk

Copy link
Copy Markdown
  • Updated the LTS Linux kernel from v6.12.99 to the latest v6.12.103.
  • Fixes 36 CVEs, 21 of which carry a published CVSS and 2 rated critical. 7 land in code we ship and are listed below.
  • Only the usual Makefile conflict.

Highest priority

CVE CVSS Fix Commit
CVE-2026-64564 9.8 sctp: UAF of the cached ASCONF transport in DEL-IP processing 74e8f3e7114f
CVE-2026-64561 8.8 KVM: x86: stale root check ordered before make_mmu_pages_available() 0026dbb7de8e
CVE-2026-64562 8.8 KVM: nVMX: shadow VMCS UAF via the VMCLEAR race 589419470030
CVE-2026-64560 7.8 posix-cpu-timers: UAF on the old leader's sighand in a non-leader exec() e74443f5db00
CVE-2026-64563 7.8 rhashtable: UAF from a stale iter->p in rhashtable_walk_next() 042fda5c0880
CVE-2026-68480 x86/bugs: SRSO Safe-RET defeated by interrupt injection e262f28a69ae
CVE-2026-64205 i2c: i801: SMBus state machine corruption in the error path ef5a34753293

CVE-2026-64564 is SCTPhantom, a publicly documented local root and container escape.

Testing

  • CI.
  • Scale Build
  • Verified manual boot with QEMU, side by side with a v6.12.99 VM. No new dmesg errors, no failed units, no alerts. Diffed sysfs, sysctl, modules and queue limits between the two, all match.
  • ZFS scrub, snapshot, clone, send/recv and zvol IO clean. Broke a raidz1 member on purpose and it was caught and repaired. NFS v3 to v4.2 mount fine, nvmet over TCP and SCST over a zvol both pass IO.
  • fio, SCST module load and unload cycles and snapshot churn all fine. No leaks, nothing new in dmesg.

Original PR: #335

Chenguang Zhao and others added 30 commits August 9, 2026 20:23
…troller

[ Upstream commit e095f249e2209674f6366f6db0383a2b96e19239 ]

mtk_handle_irq_rx expects a struct mtk_eth * (matching the request_irq
cookie), but mtk_poll_controller incorrectly passed the net_device *.
Calling ndo_poll_controller with CONFIG_NET_POLL_CONTROLLER enabled
would then crash.

Fixes: 8186f6e ("net-next: mediatek: fix compile error inside mtk_poll_controller()")
Signed-off-by: Chenguang Zhao <zhaochenguang@kylinos.cn>
Link: https://patch.msgid.link/20260723055735.885112-1-chenguang.zhao@linux.dev
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit a19038a200f18d9e74ac30081797917d0886e16b ]

pmbus_update_byte_data() is supposed to return a negative error code or 0.
However, if no change is made to the register, it actually returns the
register value. This can result in problems if the calling code explicitly
expects to see an error code or 0.

Fix it to return 0 on success or the error code as expected.

Fixes: 11c1199 ("hwmon: (pmbus) add helpers for byte write and read modify write")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit bef152db47debcd14cbacefc5767f6f026c4bc89 ]

Set the TxQ ring count minimum to 128 descriptors. Any lower than this,
and the queue will stall and trigger Tx timeouts in flow based
scheduling mode. This is because next_to_clean might never be updated.

In flow based scheduling mode, next_to_clean is only updated after a
descriptor completion is processed, i.e. after the RE bit is set in the
last descriptor of a Tx packet. This will never happen with a ring size
of 64 and an IDPF_TX_SPLITQ_RE_MIN_GAP of 64. No matter what the value
of last_re is initialized/set to, the calculated gap will be at most 63
and never trigger the RE bit.

Even a ring size of 96 does not solve this. Because of how infrequent
next_to_clean is updated and how small the ring is, IDPF_DESC_UNUSED
will be much smaller on average. This increases the chance the queue
will be stopped because a multi-descriptor packet, e.g. a large LSO
packet, does not see enough resources on the ring. In this case, the
queue will trigger the stop logic. The queue permanently stalls because
there is no chance for a descriptor completion to update next_to_clean
since it is dependent on a packet being sent.

Fixes: 5f417d5 ("idpf: replace flow scheduling buffer ring with buffer pool")
Signed-off-by: Joshua Hay <joshua.a.hay@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 9bff30482c10f70d9e56c0633a6616e07140e217 ]

idpf_mb_intr_req_irq() allocates the mailbox IRQ name before calling
request_irq(). On success, the name is released later through
kfree(free_irq()), but request_irq() failure returns without freeing it.

Free the allocated name on the request_irq() failure path.

Fixes: 4930fbf ("idpf: add core init and interrupt request")
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit d57e506f6a1e3929611340fae87c1e4823f4d85c ]

When setting conn->hcon = NULL, also conn->hcon->iso_data = NULL is
necessary, otherwise later iso_conn_free() will UAF.

Fix clearing of iso_data in iso_sock_disconn()

Fixes KASAN: slab-use-after-free in iso_conn_hold_unless_zero on
iso_sock_release() followed by hci_abort_conn_sync().

Fixes: fbdc4bc ("Bluetooth: ISO: Use defer setup to separate PA sync and BIG sync")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit c4740e7f23ff9a8210198d8b4703259e21b9f69d ]

l2cap_le_connect_rsp() obtains a channel via
__l2cap_get_chan_by_ident() but neither holds a reference nor uses
l2cap_chan_hold_unless_zero() before locking and operating on it.
A concurrent l2cap_chan_del() triggered by a remote disconnect can
free the channel between the lookup and l2cap_chan_lock(), causing
a use-after-free.

The BR/EDR counterpart l2cap_connect_rsp() and the sibling handler
l2cap_le_command_rej() already use l2cap_chan_hold_unless_zero()
to safely hold a reference, but l2cap_le_connect_rsp() was left
unprotected.

Fix by adding l2cap_chan_hold_unless_zero() after the ident lookup
and l2cap_chan_put() on the exit path, consistent with other L2CAP
response handlers.

Fixes: f1496de ("Bluetooth: Add initial code for LE L2CAP Connect Request")
Assisted-by: Claude:deepseek-v4-pro
Signed-off-by: Jiale Yao <yaojiale02@163.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit e9cb51813d79fc9aae4a2098aab3ab6ebd7fb6c8 ]

In iso.c check_bcast_qos(), missing bcast.timeout is not set to its
default value, and appears typoed as bcast.sync_timeout.

Fix the typo.

Fixes: b37cab5 ("Bluetooth: ISO: Don't reject BT_ISO_QOS if parameters are unset")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 4e20192d46a685d73e590a60a4a2419a0a8afcbf ]

iso_sock_rebind_bis() updates socket iso_pi(sk)->bc_num_bis before
validating the BIS values, so it's possible to end up with bc_num_bis
inconsistent.

Assign to iso_pi(sk)->bc_num_bis only after validation.

Fixes: 8083714 ("Bluetooth: ISO: Allow binding a PA sync socket")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit ce57442a379212fe3fda59c9437ee8217eceb5b1 ]

iso_sock_kill() tests !sock_flag(sk, SOCK_ZAPPED) || sk->sk_socket ||
sock_flag(sk, SOCK_DEAD) for early return, but this is always true since
sock_orphan(sk) sets SOCK_DEAD, so the sk reference released by socket
always leaks, iso_sock_destruct is never called.

The socket reference also leaks when __iso_sock_close() does not set
SOCK_ZAPPED, since iso_conn_del() does not call iso_sock_kill() after
zapping.

Fix by replacing SOCK_DEAD by BT_SK_KILLED flag that is not used for
something else, and lock_sock to ensure iso_sock_kill() puts sk only
after socket release only once. Release and iso_conn_del may run
concurrently. Call iso_sock_kill() from iso_conn_del() to clean sk up
after zapping.

Remove call to iso_sock_kill() from iso_sock_close(), as it's generally
no-op there.

Fixes: ccf74f2 ("Bluetooth: Add BTPROTO_ISO socket type")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 200fa1629c57a3ca2b03d3ca63fd3a9bfd910c43 ]

iso_sock_timeout() takes lock_sock, so sync disabling the timer while
holding that lock may deadlock.

iso_sock_timeout() may also run concurrently with iso_conn_del(), which
leads to UAF

        [Task 1]                      [Task hdev->workqueue]
        iso_sock_timeout              iso_conn_del
          iso_conn_hold_unless_zero     iso_chan_del
                           `------------> iso_conn_put
                                      caller frees hcon
          iso_conn_put
            iso_conn_free
              conn->hcon->iso_data = NULL; /* UAF */

Fix the deadlock by removing the disable from the lock_sock sections.
Move the timer from iso_conn to iso_pinfo to decouple it from iso_conn
which may need to be freed in lock_sock section. Convert some of the
clear_timer to disable_timer.

Fixes: dc26097 ("Bluetooth: ISO: Use kref to track lifetime of iso_conn")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit b640ff9af3c809ff5ea2077fbba17df1594ec1e4 ]

btintel_diagnostics() accesses tlv->val[0] without first validating
that the diagnostics VSE is long enough to contain that field, so
may cause reading data beyond the received frame.

Fix by validating the length before access.

Fixes: af39533 ("Bluetooth: btintel: Add Intel devcoredump support")
Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit d288f4db0909c22342eb50cd1632b4d850517281 ]

hci_cmd_sync_run_once() needs to indicate whether a queue item was
added, so caller can know if callbacks are called, so it can avoid
leaking resources.

Change the function to return -EEXIST if queue item already exists.

Modify all callsites vs. the changes.  The only callsite is
hci_abort_conn().

Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Stable-dep-of: 5761d003daa9 ("Bluetooth: hci_conn: hold conn reference in abort_conn_sync()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 5761d003daa987ac81463f570713ce9c9dd204e5 ]

There is theoretical UAF if the conn is freed while the hci_sync task is
running.

Hold refcount to avoid that.

Fixes: 227a0cd ("Bluetooth: MGMT: Fix not generating command complete for MGMT_OP_DISCONNECT")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 2c1e4e00613dfd105f978be2276e5e265801ec9f ]

hci_conn_del() caller must hold hdev->lock, check the conn was not
concurrently deleted, and usually inform socket the conn is going to be
deleted.

Use hci_abort_conn_sync() instead of calling hci_conn_del() without
locks etc.

Fixes: 8e8b92e ("Bluetooth: hci_sync: Add hci_le_create_conn_sync")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 0fe1e3e8f3380d7862296a73b528d164e96c76b8 ]

In phylink_create() if phylink_register_sfp() returns an error, link_gpio
obtained by phylink_parse_fixedlink() is never released. While this is a
very unlikely scenario, it's worth to fix/handle this.

This was present from the very first implementation of phylink but got
relevant only with the introduction of ce0aa27 ("sfp: add sfp-bus to
bridge between network devices and sfp cages") where additional function
were added after phylink_parse_fixedlink() making the release of link_gpio
needed if such additional function errored out.

While at it, restructure the exit condition of phylink_create() with the
goto pattern to reduce code duplication on handling error conditions.

Fixes: ce0aa27 ("sfp: add sfp-bus to bridge between network devices and sfp cages")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20260726150806.2437-1-ansuelsmth@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 9c33222bd387312874fbe36ca8002e5c945b9653 ]

In the iblock_execute_pr_out() function, PRO_PREEMPT,
PRO_PREEMPT_AND_ABORT, and PRO_RELEASE all perform callback capability
checks through ops->pr_clear. The error check allows unimplemented hooks
to pass through the gate, resulting dereferencing a NULL function
pointer.

Check whether the hooks that need to be called are supported.

Fixes: 394f811 ("scsi: target: Add block PR support to iblock")
Signed-off-by: TanZheng <tanzheng@kylinos.cn>
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Link: https://patch.msgid.link/20260724075850.280699-1-kensanya@163.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit f71b4a30983b846b4075bf544e835121e70e6a43 ]

UFS RTC support schedules ufs_rtc_update_work to periodically update the
device RTC. The work can issue query commands and access the UFS host
controller.

A previous change moved the RTC work cancellation before the PRE_CHANGE
vendor suspend callback to close a race in the common suspend path.
However, the active-active path jumps directly to vops_suspend after
flushing exception handling work and therefore bypasses the
cancellation.

If the RTC work runs while the vendor suspend callback is gating or
otherwise changing hardware state, it can access the controller during
suspend and trigger an SError.

Cancel the RTC work before entering the vendor suspend callback in the
active-active path. Since this path now cancels the work, move the RTC
work scheduling outside the device and link state restoration block in
the resume path. This restarts RTC updates after an active-active
suspend and resume cycle.

Fixes: b0bd84c39289 ("scsi: ufs: core: Fix SError in ufshcd_rtc_work() during UFS suspend")
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Link: https://patch.msgid.link/20260714172726.1736967-1-lgs201920130244@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
…pn_req

[ Upstream commit b601fa590e667bd9643feed8c869b6b3e418480d ]

When releasing an adapter we don't free the mempool 'gid_pn_req' that is
allocated during the enqueue. This leaks memory:

  unreferenced object 0xd8d29297de700 (size 256):
    comm "(udev-worker)", pid 2105, jiffies 4294945794
    hex dump (first 32 bytes):
      00 00 00 00 de ad 4e ad ff ff ff ff 00 00 00 00  ......N.........
      ff ff ff ff ff ff ff ff 00 0d c4 5f 67 9d 99 e0  ..........._g...
    backtrace (crc 4a5b5da2):
      [<000dc45f64da418c>] kmemleak_alloc+0x6c/0xa0
      [<000dc45f62b430aa>] __kmalloc_cache_node_noprof+0x36a/0x4d0
      [<000dc45f629a535a>] mempool_create_node_noprof+0xaa/0x150
      [<000dc45ee2c065e6>] zfcp_allocate_low_mem_buffers+0x96/0x370 [zfcp]
      [<000dc45ee2c070f8>] zfcp_adapter_enqueue+0x598/0xd40 [zfcp]
      [<000dc45ee2c08eb0>] zfcp_ccw_set_online+0x160/0x210 [zfcp]
      [<000dc45f643d4762>] ccw_device_set_online+0x232/0xd80
      [<000dc45f643d53d4>] online_store_recog_and_online+0x124/0x390
      [<000dc45f643d8238>] online_store+0x298/0x5b0
      [<000dc45f62eb0a04>] kernfs_fop_write_iter+0x2c4/0x480
      [<000dc45f62c81150>] new_sync_write+0x370/0x4b0
      [<000dc45f62c87abe>] vfs_write+0x43e/0x5b0
      [<000dc45f62c87ff4>] ksys_write+0x114/0x1f0
      [<000dc45f621c4a16>] do_syscall+0x2f6/0x430
      [<000dc45f64d9d5d8>] __do_syscall+0xc8/0x1c0
      [<000dc45f64dc2224>] system_call+0x74/0xa0

Fix this by destroying the mempool during the adapter's release.

Fixes: 799b76d ("[SCSI] zfcp: Decouple gid_pn requests from erp")
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
Tested-by: M Nikhil <nikh1092@linux.ibm.com>
Acked-by: M Nikhil <nikh1092@linux.ibm.com>
Reviewed-by: Chinmaya Kajagar <chinmayk@linux.ibm.com>
Reviewed-by: Nihar Panda <niharp@linux.ibm.com>
Link: https://patch.msgid.link/20260720072736.3381816-2-niharp@linux.ibm.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit a8ddfd2425bbbafadae8700d63ed8a61a4109878 ]

When target_get_sess_cmd() fails during session shutdown because
percpu_ref_tryget_live() returns false, the command keeps the
se_cmd->cmd_cnt pointer that __target_init_cmd() assigned earlier
without owning a reference. Final release through
target_release_cmd_kref() then issues an unmatched percpu_ref_put().

Commit 8e288be ("scsi: target: Pass in cmd counter to use during
cmd setup") moved the cmd_cnt assignment ahead of the reference
acquisition.  Clear se_cmd->cmd_cnt whenever the initial
target_get_sess_cmd() fails in target_init_cmd() and
target_submit_tmr(), so release performs exactly one matching put per
acquired reference.

Fixes: 8e288be ("scsi: target: Pass in cmd counter to use during cmd setup")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Link: https://patch.msgid.link/20260722-reference-count-underflow-in-target-v1-1-63ab664f12fd@nvidia.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit c870f7e2890b9f78ac84515a9809cc5c183c975e ]

When RX descriptor ring allocation fails, init_dma_desc_rings() only
frees the partially allocated RX rings and returns. The TX rings that
were allocated earlier in the same function are leaked.

Rearrange error labels to clean up TX rings upon RX failures.

Fixes: 1edb9ca ("net: sxgbe: add basic framework for Samsung 10Gb ethernet driver")
Signed-off-by: Chenguang Zhao <zhaochenguang@kylinos.cn>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 51b093a7ba27476e1f639455f005e8d2e75390e4 ]

sxgbe_open() ignores the return value of init_dma_desc_rings() and
continues to program DMA with invalid ring addresses when allocation
fails. Check the return value and disconnect the PHY on failure.

Fixes: 1edb9ca ("net: sxgbe: add basic framework for Samsung 10Gb ethernet driver")
Signed-off-by: Chenguang Zhao <zhaochenguang@kylinos.cn>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit ef09a13c5afac41a3c4b5f22b8572820d9e7518c ]

Register the netdevice notifier before can_proto_register() and check the
return value. If protocol registration fails, unregister the notifier
before returning the error.

Align isotp_module_init() with the reordering already done for raw.c
(commit c28b3bf ("can: raw: process optimization in raw_init()")) and
bcm.c (commit edd1a7e ("can: bcm: registration process optimization
in bcm_module_init()")).

Fixes: 8d0caed ("can: bcm/raw/isotp: use per module netdevice notifier")
Signed-off-by: Minhong He <heminhong@kylinos.cn>
Link: https://patch.msgid.link/20260729085656.134523-1-heminhong@kylinos.cn
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit c786d2bdf1f3964deee192ad942dee2a741c1e2c ]

mmio_reset_data() is called during tracer initialization, reset, and
start. While it resets overrun_detected and prev_overruns, it neglects
to reset dropped_count. Consequently, dropped event counts from prior
tracing sessions persist in dropped_count and corrupt overrun reports
in subsequent runs.

Fix this by explicitly calling atomic_set(&dropped_count, 0) in
mmio_reset_data().

Link: https://patch.msgid.link/178524299122.56416.16277704230639425172.stgit@devnote2
Fixes: 173ed24 ("mmiotrace: count events lost due to not recording")
Assisted-by: Antigravity:gemini-3.6-flash
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 49e4154 ]

After commit dcb0b55 ("tracing: Remove TRACE_EVENT_FL_USE_CALL_FILTER
 logic"), no one's going to set the TRACE_EVENT_FL_FILTERED or change the
call->filter, so remove related logic.

Link: https://lore.kernel.org/20240911010026.2302849-1-zhengyejian@huaweicloud.com
Signed-off-by: Zheng Yejian <zhengyejian@huaweicloud.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Stable-dep-of: 12b80cdbc54c ("tracing/mmiotrace: Add NULL check for mmio_trace_array in logging functions")
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 6936298 ]

The mmiotracer referenced the per CPU array_buffer->data descriptor but
never actually used it. Remove the references to it.

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: https://lore.kernel.org/20250505212234.696945463@goodmis.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Stable-dep-of: 12b80cdbc54c ("tracing/mmiotrace: Add NULL check for mmio_trace_array in logging functions")
Signed-off-by: Sasha Levin <sashal@kernel.org>
…ctions

[ Upstream commit 12b80cdbc54cf615b4717a4e8180063408091ea2 ]

mmio_trace_rw() and mmio_trace_mapping() retrieve mmio_trace_array into
tr and pass it to __trace_mmiotrace_rw() and __trace_mmiotrace_map().
If these functions are invoked while mmio_trace_array is NULL (e.g. before
initialization or after disabled), accessing tr->array_buffer.buffer will
result in a NULL pointer dereference crash.

Fix this by adding an explicit NULL check for tr at the beginning of
__trace_mmiotrace_rw() and __trace_mmiotrace_map().

Link: https://patch.msgid.link/178524300062.56416.8362487250709962380.stgit@devnote2
Fixes: f984b51 ("ftrace: add mmiotrace plugin")
Assisted-by: Antigravity:gemini-3.6-flash
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit d6c075f797a672a6e3bd2fd44aee713801698ec2 ]

In encode_message() the per-transaction lower-bound check compares
trans_hdr->len against sizeof(trans_hdr), i.e. the size of the pointer,
instead of sizeof(*trans_hdr), the size of struct qaic_manage_trans_hdr.

Every other length check in this file (encode_message() at the loop
guard, decode_message(), etc.) correctly uses sizeof(*trans_hdr), so
this is an inconsistency. On 64-bit builds the pointer and the struct
are both 8 bytes, so the check is correct by coincidence and there is
no behavioural change. On 32-bit builds the pointer is 4 bytes, which
weakens the minimum-length check below the 8-byte header size.

Use sizeof(*trans_hdr) so the check validates against the actual
transaction header size on all builds.

Fixes: ea33cb6 ("accel/qaic: tighten bounds checking in encode_message()")
Signed-off-by: Muhammad Bilal <meatuni001@gmail.com>
Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Signed-off-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Link: https://patch.msgid.link/20260617212520.59801-1-meatuni001@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit a0188cc133696627857d16054e43f9ebc7efc821 ]

remove_pud_mapping() and remove_p4d_mapping() obtain a child table base
with pud_offset(p4dp, 0) and p4d_offset(pgd, 0), then add the index for
addr.

RISC-V folds page-table levels at runtime. When a level is folded, its
offset helper returns the parent entry itself, but the index can still be
nonzero. Adding it walks past the parent table. Sv48 folds P4D, while Sv39
folds both P4D and PUD, so memory hot-remove can descend into unrelated
memory and pass an invalid page to __free_pages(). This can trigger:

  kernel BUG at include/linux/mm.h:1810!
  VM_BUG_ON_PAGE(page_ref_count(page) == 0)
  arch_remove_memory+0x1e/0x5c
  try_remove_memory+0x15e/0x200
  remove_memory+0x24/0x3c

Only add the index when the corresponding page-table level is enabled,
matching p4d_offset() and pud_offset().

Fixes: c75a74f ("riscv: mm: Add memory hotplugging support")
Assisted-by: Claude:claude-fable-5
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Link: https://patch.msgid.link/20260729012132.24882-1-kmehltretter@gmail.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit b4ce102b2cd88424c5860fbbb20b9eb343a93bf4 ]

bus->read() returns a negative errno on failure, but
mt7530_regmap_read() assigns it to a u16, truncating e.g. -ETIMEDOUT
into 0xff92, and returns success. The garbage word is then consumed as
register data, and read-modify-write cycles write it back to the
switch. Check both reads and propagate their errors.

The same defect existed in mt7530_mii_read() since the driver was
introduced and moved into the regmap backend unchanged.

Fixes: b8f126a ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/3c628e48276c2e5522c8795a6be60d11c7a76a7d.1785213071.git.daniel@makrotopia.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 77a9ebe8818cf6dd1699bd6728cb5d66307801d7 ]

The MT7531 indirect PHY access functions poll MT7531_PHY_IAC through
a helper which returns 0 when the underlying read fails, so a failed
bus transaction clears MT7531_PHY_ACS_ST and the access carries on,
returning garbage PHY register data to phylib.

Poll using regmap_read_poll_timeout(), which stops on read errors and
propagates them. These functions hold the MDIO bus lock across the
whole sequence, so the unlocked regmap accesses remain correct. Remove
the now-unused _mt7530_unlocked_read().

Fixes: c288575 ("net: dsa: mt7530: Add the support of MT7531 switch")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/79e85d68d210cc37342978171aa6432aa2954333.1785213071.git.daniel@makrotopia.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
surajk8 and others added 17 commits August 9, 2026 20:23
[ Upstream commit e35bf8f ]

Move to using intel_display wherever possible in intel_hdcp.c
as a part of code refactor.

--v2
-Move intel_display to the first line wherever possible [Jani]
-use the closest reference when using to_intel_display [Jani]

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240911090540.643155-2-suraj.kandpal@intel.com
Stable-dep-of: db9e64c983dc ("drm/i915/hdcp: require monotonically increasing seq_num_v")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit db9e64c983dcb07ff256bd455f258c44aa530ff8 ]

The HDCP 2.2 specification requires the seq_num_v to be monotonically
increasing, and repeated seq_num_v needs to be treated as an integrity
failure. Make it so.

For the first message, seq_num_v must be zero, and is already
checked. We can only check for less-than-or-equal for the subsequent
messages, where hdcp2_encrypted is true.

Discovered using AI-assisted static analysis confirmed by Intel Product
Security.

Reported-by: Martin Hodo <martin.hodo@intel.com>
Fixes: d849178 ("drm/i915: Implement HDCP2.2 repeater authentication")
Cc: stable@vger.kernel.org # v5.2+
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260625104407.1025614-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 58a224375c81179b52558c53d8857b93196d2687)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 0161e2c2016337a2f22ef79dff0aee43c0841bce ]

intel_hdcp_required_content_stream() walks every connector on the
digital port to populate hdcp_port_data->streams[]. The only filter is
connector_status_disconnected, which reflects physical presence on the
MST topology, not whether the connector currently drives a stream.
On a multi-sink MST setup where only a subset of sinks are modeset,
the loop can pick a sibling MST connector that is connected but has
no active CRTC / VC payload. intel_conn_to_vcpi() then logs "MST
Payload not present" and returns 0, and the bogus StreamID=0 is
written to the repeater in RepeaterAuth_Stream_Manage (DPCD 0x693F0).
Authentication completes, but the repeater shortly raises
LINK_INTEGRITY_FAILURE (RxStatus 0x69493 bit4) because the StreamID
does not match any stream on its input. The HDCP check work then
tears the link down, the Content Protection property drops back to
DESIRED, and userspace observes a spurious HDCP enable failure.
Filter the connector iteration to only those with a CRTC assigned in
the new atomic state, so intel_conn_to_vcpi() is called for the
connector actually being enabled and reads its real VCPI from the MST
topology state.

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
Link: https://patch.msgid.link/20260505094022.4064256-1-suraj.kandpal@intel.com
Stable-dep-of: bbb15a6b042d ("drm/i915/hdcp: check streams[] bounds before overflow")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit bbb15a6b042d02e5508a02b4847e02d2579ee7bc ]

The data->streams[] overflow check is done after the buffer overflow has
already happened. Move the overflow check before the write.

Side note, emitting a warning splat with a backtrace might be overkill
here, but prefer not changing the behaviour other than not doing the
overrun.

Discovered using AI-assisted static analysis confirmed by Intel Product
Security.

Reported-by: Martin Hodo <martin.hodo@intel.com>
Fixes: e03187e ("drm/i915/hdcp: MST streams support in hdcp port_data")
Cc: stable@vger.kernel.org # v5.12+
Cc: Anshuman Gupta <anshuman.gupta@intel.com>
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260625170304.1104723-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 9284ab3b6e776c315883ac2611283d263c9460fd)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 620a09fb0bddf387f418663478b48ca4ba62b6d6 ]

Stub out the new page fault layer and add kernel documentation. This is
intended as a replacement for the GT page fault layer, enabling multiple
producers to hook into a shared page fault consumer interface.

v2:
 - Fix kernel doc typo (checkpatch)
 - Remove comment around GT (Stuart)
 - Add explaination around reclaim (Francois)
 - Add comment around u8 vs enum (Francois)
 - Include engine instance (Stuart)
v3:
 - Fix XE_PAGEFAULT_TYPE_ATOMIC_ACCESS_VIOLATION kernel doc (Stuart)

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Tested-by: Francois Dugast <francois.dugast@intel.com>
Link: https://patch.msgid.link/20251031165416.2871503-2-matthew.brost@intel.com
Stable-dep-of: 6384271ac1ac ("drm/xe/pt: Reset current_op in xe_pt_update_ops_init()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 6384271ac1ac0099198d15df79212a19ebdb929d ]

xe_pt_update_ops_init() fails to reset current_op to 0. On the
vm_bind path, ops_execute() calls xe_pt_update_ops_prepare() inside
the xe_validation_guard() / drm_exec_until_all_locked() loop. When
that loop retries due to lock contention or OOM eviction
(drm_exec_retry_on_contention() / xe_validation_retry_on_oom()),
xe_pt_update_ops_prepare() runs again on the same vops, and each
call to bind_op_prepare() increments current_op without resetting it.

After N retries current_op exceeds the array size allocated by
xe_vma_ops_alloc(), causing an out-of-bounds write into
SLUB-poisoned memory and a subsequent UAF crash in
xe_migrate_update_pgtables_cpu() when reading the corrupted pt_op->bind.

Also reset needs_svm_lock and needs_invalidation which are derived in
the same prepare pass and would otherwise cause wrong migrate ops
selection and redundant TLB invalidation on retry.

Fix this by resetting current_op, needs_svm_lock and needs_invalidation
in xe_pt_update_ops_init().

v2 (Matt):
   - Add details in commit message.
   - Add Fixes tag and Cc to stable@vger.kernel.org

Fixes: e8babb2 ("drm/xe: Convert multiple bind ops into single job")
Suggested-by: Matthew Auld <matthew.auld@intel.com>
Cc: stable@vger.kernel.org
Assisted-by: GitHub-Copilot:claude-sonnet-4.6
Signed-off-by: Zongyao Bai <zongyao.bai@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patch.msgid.link/20260714232433.2737533-1-zongyao.bai@intel.com
(cherry picked from commit 046045543e530605c441063535e7dca0075369a6)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit c637bd0 ]

Generate rtt_min as this is required by RACK-TLP.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Link: https://patch.msgid.link/20241204074710.990092-27-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: e4d2878 ("rxrpc: Fix irq-disabled in local_bh_enable()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 93dfca6 ]

Adjust the rxrpc_rtt_rx tracepoint in the following ways:

 (1) Display the collected RTT sample in the rxrpc_rtt_rx trace.

 (2) Move the division of srtt by 8 to the TP_printk() rather doing it
     before invoking the trace point.

 (3) Display the min_rtt value.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: e4d2878 ("rxrpc: Fix irq-disabled in local_bh_enable()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 5c0ceba ]

Make the following changes to the calculation and use of RTO:

 (1) Fix rxrpc_resend() to use the backed-off RTO value obtained by calling
     rxrpc_get_rto_backoff() rather than extracting the value itself.
     Without this, it may retransmit packets too early.

 (2) The RTO value being similar to the RTT causes a lot of extraneous
     resends because the RTT doesn't end up taking account of clearing out
     of the receive queue on the server.  Worse, responses to PING-ACKs are
     made as fast as possible and so are less than the DATA-requested-ACK
     RTT and so skew the RTT down.

     Fix this by putting a lower bound on the RTO by adding 100ms to it and
     limiting the lower end to 200ms.

Fixes: c410bf0 ("rxrpc: Fix the excessive initial retransmission timeout")
Fixes: 37473e4 ("rxrpc: Clean up the resend algorithm")
Signed-off-by: David Howells <dhowells@redhat.com>
Suggested-by: Simon Wilkinson <sxw@auristor.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: e4d2878 ("rxrpc: Fix irq-disabled in local_bh_enable()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit b40ef2b ]

Manage the determination of RTT on a per-call (ie. per-RPC op) basis rather
than on a per-peer basis, averaging across all calls going to that peer.
The problem is that the RTT measurements from the initial packets on a call
may be off because the server may do some setting up (such as getting a
lock on a file) before accepting the rest of the data in the RPC and,
further, the RTT may be affected by server-side file operations, for
instance if a large amount of data is being written or read.

Note: When handling the FS.StoreData-type RPCs, for example, the server
uses the userStatus field in the header of ACK packets as supplementary
flow control to aid in managing this.  AF_RXRPC does not yet support this,
but it should be added.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: e4d2878 ("rxrpc: Fix irq-disabled in local_bh_enable()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit e4d2878 ]

The rxrpc_assess_MTU_size() function calls down into the IP layer to find
out the MTU size for a route.  When accepting an incoming call, this is
called from rxrpc_new_incoming_call() which holds interrupts disabled
across the code that calls down to it.  Unfortunately, the IP layer uses
local_bh_enable() which, config dependent, throws a warning if IRQs are
enabled:

WARNING: CPU: 1 PID: 5544 at kernel/softirq.c:387 __local_bh_enable_ip+0x43/0xd0
...
RIP: 0010:__local_bh_enable_ip+0x43/0xd0
...
Call Trace:
 <TASK>
 rt_cache_route+0x7e/0xa0
 rt_set_nexthop.isra.0+0x3b3/0x3f0
 __mkroute_output+0x43a/0x460
 ip_route_output_key_hash+0xf7/0x140
 ip_route_output_flow+0x1b/0x90
 rxrpc_assess_MTU_size.isra.0+0x2a0/0x590
 rxrpc_new_incoming_peer+0x46/0x120
 rxrpc_alloc_incoming_call+0x1b1/0x400
 rxrpc_new_incoming_call+0x1da/0x5e0
 rxrpc_input_packet+0x827/0x900
 rxrpc_io_thread+0x403/0xb60
 kthread+0x2f7/0x310
 ret_from_fork+0x2a/0x230
 ret_from_fork_asm+0x1a/0x30
...
hardirqs last  enabled at (23): _raw_spin_unlock_irq+0x24/0x50
hardirqs last disabled at (24): _raw_read_lock_irq+0x17/0x70
softirqs last  enabled at (0): copy_process+0xc61/0x2730
softirqs last disabled at (25): rt_add_uncached_list+0x3c/0x90

Fix this by moving the call to rxrpc_assess_MTU_size() out of
rxrpc_init_peer() and further up the stack where it can be done without
interrupts disabled.

It shouldn't be a problem for rxrpc_new_incoming_call() to do it after the
locks are dropped as pmtud is going to be performed by the I/O thread - and
we're in the I/O thread at this point.

Fixes: a2ea9a9 ("rxrpc: Use irq-disabling spinlocks between app and I/O thread")
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Junvyyang, Tencent Zhuque Lab <zhuque@tencent.com>
cc: LePremierHomme <kwqcheii@proton.me>
cc: Simon Horman <horms@kernel.org>
cc: linux-afs@lists.infradead.org
Link: https://patch.msgid.link/20250717074350.3767366-2-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit d4fb6514ff8ed6912a71294e6b66a5d59ee88007 upstream.

The can_skb_priv::skbcnt variable is used to identify CAN skbs in the RX
path analogue to the skb->hash.

As the skb hash is not filled in CAN skbs move the private skbcnt value to
skb->hash and set skb->sw_hash accordingly. The skb->hash is a value used
for RPS to identify skbs. Use it as intended.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://patch.msgid.link/20260201-can_skb_ext-v8-1-3635d790fe8b@hartkopp.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 050f010f920da17c1044a4f174766ad553e770b6 upstream.

This patch is a follow-up to commit cf070fe33bfb ("can: isotp: serialize
TX state transitions under so->rx_lock") which addresses following
sashiko-bot findings:

- isotp_sendmsg(): drain so->txfrtimer first so a stale callback can't
  re-arm echotimer after the claim

- isotp_release(): wake so->wait after forcing ISOTP_SHUTDOWN so a
  sleeping sendmsg() claim isn't stranded

- isotp_sendmsg(): have both wait_event_interruptible() calls in
  isotp_sendmsg() also wake on ISOTP_SHUTDOWN and do not return claim to
  IDLE to avoid corrupting a concurrent isotp_release() process.

- isotp_sendmsg(): handle potential claim of a new transfer when
  the wait_event_interruptible() call returns in CAN_ISOTP_WAIT_TX_DONE
  mode. Don't touch timers and states of the new transfer if a new thread
  incremented so->tx_gen before getting the lock at err_event_drop.

- isotp_sendmsg(): handle a stuck can_send() and omit timer and state
  changes if a new transfer was claimed. wait_tx_done() returns the error
  recorded in so->tx_result[], tagged with the caller's own generation.

- isotp_tx_timeout(): on a claimed timeout, record the ECOMM error for
  the timed-out transfer's own generation in so->tx_result[]; sk->sk_err
  is raised unconditionally, same as every other error path here.

- isotp_tx_gen_done()/isotp_tx_timeout(): always read tx.state (acquire)
  before tx_gen - the reverse order let a weakly ordered CPU pair a fresh
  tx.state with a stale tx_gen/tx_result slot.

- isotp_sendmsg(): wait_tx_done: drain sk_err via sock_error() once we
  have read the result from so->tx_result[], so an already-reported error
  doesn't stay latched for a later poll()/SO_ERROR.

Also align the remaining lock-free so->tx.state/rx.state/cfecho accesses
and use skb->hash as unique loopback echo frame indicator.

Fixes: cf070fe33bfb ("can: isotp: serialize TX state transitions under so->rx_lock")
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://patch.msgid.link/20260724181525.43556-1-socketcan@hartkopp.net
Cc: stable@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit fb0bf289f5d529336ef490c8273e88a8a8b29f69 upstream.

The commit 7aa7d4bf9d3f ("usb: typec: ucsi: Fix race condition and
ordering in port unregistration") consolidated port teardown into the
ucsi_unregister_port() helper. However, it introduced an ordering problem
in the ucsi_init() error path.

Fix this by ensuring ucsi_unregister_port() is called before we unregister
their corresponding lockdep keys.

Cc: stable@vger.kernel.org
Fixes: 7aa7d4bf9d3f ("usb: typec: ucsi: Fix race condition and ordering in port unregistration")
Reported-by: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com>
Closes: https://lore.kernel.org/all/22064276-6c56-411a-9f20-6917ceeb865f@intel.com/
Signed-off-by: Andrei Kuchynski <akuchynski@chromium.org>
Tested-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20260717104614.325250-1-akuchynski@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit bd64240dc88caaf7b96dd869f36f165f51b52039 upstream.

The name of the function __drm_fb_helper_initial_config_and_unlock() and
also the comment above that function make it clear that all code paths
in this function should unlock fb_helper->lock before returning. Add a
mutex_unlock() call in the only code path where it is missing. This has
been detected by the Clang thread-safety analyzer.

Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Christian König <christian.koenig@amd.com> # radeon
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> # msm
Cc: Javier Martinez Canillas <javierm@redhat.com>
Fixes: 63c971af4036 ("drm/fb-helper: Allocate and release fb_info in single place")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260403205355.1181984-1-bvanassche@acm.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit d23bd83f3e47a928e783c0d6a004737519dc77dc upstream.

That field already contains the value being assigned. No need to do
this twice.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 63c971af4036 ("drm/fb-helper: Allocate and release fb_info in single place")
Cc: linux-tegra@vger.kernel.org
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patch.msgid.link/20260421073646.144712-2-tzimmermann@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20260807143418.516897842@linuxfoundation.org
Tested-by: Pavel Machek (CIP) <pavel@nabladev.com>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Tested-by: Brett A C Sheffield <bacs@librecast.net>
Tested-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@bugclerk

Copy link
Copy Markdown
Author

Automatic cherry-pick failed. Please resolve conflicts by running:

git reset --hard HEAD~1
git cherry-pick -x 82f244297db96139af29891556a0ce312f812a81
git cherry-pick -x 3bd58ac9ca0c552651f533c1bd280dd19ae7d4e8
git cherry-pick -x 2fc62e41f236e4519e9219905384de8900e47ba4
git cherry-pick -x 7aa8fcb3893a04139e56508443d48c150ce8101f
git cherry-pick -x a18d420844c9a16df56a6a708d7990f8c04b45bc
git cherry-pick -x 7b51a9c25e9698b64df9f2218f10eecf7dc7e2d0
git cherry-pick -x 522b730c62c53a1981604fd73524697fd347830d
git cherry-pick -x 5cfb3481d69e615d6c18e199d6aa376f4c9c792c
git cherry-pick -x 29b135e4abdf3a77acee570ba2825c38a81b5526
git cherry-pick -x 96ed3c772c08e7a91c399567f412618e43231023
git cherry-pick -x 16d89a63e08280abeef7218970a3bbd7ca62b021
git cherry-pick -x dd20e30bdbd707ea8ced581f3d7f9e9854634b17
git cherry-pick -x 6296934bd1f2e3a0309cb17d222b102bb86c399c
git cherry-pick -x 963fb4b8e7d1ab07b4ae45bf15d41e667c88caca
git cherry-pick -x 68e06b3912dbe416792d38ce109501767cf5ce8f
git cherry-pick -x 2ea575b954fda1cefcd0a299c69d9c4a5099891d
git cherry-pick -x a326b19cfb7775378b50acaa8d836ba44e29b4c2
git cherry-pick -x 0267a9417dfe1342acbdfb8489b593ac4e6fa308
git cherry-pick -x f656cbcd94a9ea433655a23d7395bce0dd50d5db
git cherry-pick -x 07ca4b04e244082cd609d91b7e96a35f8e7923df
git cherry-pick -x b33644a4f6d8f127c62d7b39f24114d3d2499204
git cherry-pick -x 7621d8be5458b0854edeb0ada2e6819c62251f69
git cherry-pick -x 3d0ca355a8783fb90cb5609cd9e49805b5f33540
git cherry-pick -x 28893fe790b1691c707aaeef12850b793848501c
git cherry-pick -x 7a3db7ff6754d8675bab14855a716ddd6b917af4
git cherry-pick -x f5e0f92f41fcc3521554004d30dc99faaeba1138
git cherry-pick -x 876014b4eeb927146430e7591cf959a7ceb8d64a
git cherry-pick -x 5ea231b17e0f59004383b081a59a8a3f1060ccd6
git cherry-pick -x 1da6d832eda02d908df11a30ba6a856b98a3dd76
git cherry-pick -x 93d46870c54409c74e201c1c2399a1da1fc70c02
git cherry-pick -x 96e0f5184af697ff64da0d7193de5a445492bba4
git cherry-pick -x 8fd2a2ddee3840d054885fb461921f0a422e5dee
git cherry-pick -x 177bfd546a865da009ce7680372de5886da39149
git cherry-pick -x 05e4e369a022b068d874e4f3e3b5c61502e1c932
git cherry-pick -x 4626df3f63c9185efba5750fe76ac01ab3351bae
git cherry-pick -x 6a86602eebc72c7ae878ae4e20adffa3a95e2f40
git cherry-pick -x 0c3918c2cee62ec6c9de8d5c73ebfe6f833961ac
git cherry-pick -x 042fda5c088015f18838e5c692659a7be60aeb26
git cherry-pick -x 0f533e240296af882d251af8dd0a53f54eb2ace4
git cherry-pick -x 321fe3584a8298386938130d138191aa35040b75
git cherry-pick -x 0c676903cb2a61992ded8e7907609cc6b0f11744
git cherry-pick -x 8aa20bf5044fcece46976ecc3cc3c917aef59a8f
git cherry-pick -x 071121381b4118843922cd77125803e8bf63afb9
git cherry-pick -x 86d55447de3738620b9a8272ff167ce97e7f7203
git cherry-pick -x 777d8400abd43615d6fbc808f33bd918110a661f
git cherry-pick -x a6940b84c8c035da465b7165fdfcfb005545724e
git cherry-pick -x 587a0accc2b4fccc5cf7baf0fe34e50efde51f9c
git cherry-pick -x a8dfbb276da10f60cb0f83c71cc2aa946e7bf9f9
git cherry-pick -x a30d991b3dcf4bb7ad00669ac0de8a64310d2dbc
git cherry-pick -x f12373625b4dc9bcc89c41872648878c73bb9272
git cherry-pick -x 6be1ff49ba81f96a6fa55915e6d920be43ac57cc
git cherry-pick -x df947d85e164a50a29d43a96e814f69ab1d0f7ed
git cherry-pick -x 15df7700dd99f8a37f5c6ed2dcf1e33009cdba47
git cherry-pick -x 5fd7cfc708dfc988ae9920c21075e6121bc89926
git cherry-pick -x 2a83ee3fba15eb6ee07bc6fba5226f35ce5ee7d4
git cherry-pick -x 78bde7e9bd36eaae1b8e8cfcd47f12a34f301dbf
git cherry-pick -x 57428a7095694b0212f8e41c6ff545ae46812432
git cherry-pick -x 2fbc807e66e3544ced153b8bd6f424a9b24b0a6e
git cherry-pick -x eacfcb6b735d0e16b4d2ecfde4b9141225ee934e
git cherry-pick -x 7c2a152a897cd1c184b2051484d4f74d803e7f4a
git cherry-pick -x 95cdcd8c82a501931fd3ae9b3811b0b6da167e94
git cherry-pick -x 97b61241ab45bfa5b0526cb0f3978942493bc811
git cherry-pick -x 7e7162427659b70ea17cd41b1f79e2e64c246690
git cherry-pick -x 1272157dd55a88563560dfdaf5f5ebb0cbc6ab3f
git cherry-pick -x 2de734dcbb210bd59983e13d36988acbcc122194
git cherry-pick -x fabfb5ec2edf1ab051058ae2ebd9d449dc4502ca
git cherry-pick -x e8315330e4ec09c0cac625515400e13d0ee22b81
git cherry-pick -x d0e19932875746118e298b4c974f3b2d4aeb16fc
git cherry-pick -x bb016091010ec401a06e6bdace0cd944ee03d371
git cherry-pick -x 3302aaeac4f7ee6b775850db21d5f61064ce70ad
git cherry-pick -x 31b30a113865ebe5d71d992a94208cc0ab361744
git cherry-pick -x e4d9dac4c016a0e901b5eadc3c381738a512e233
git cherry-pick -x 0fd25c087ba215457ebc7fd81f3421f3d062afd9
git cherry-pick -x 9fa4515e4dde37522188c55587fda163b62d69a5
git cherry-pick -x 8a7a33b846d6ba695891b8d0040027cdbad8cd52
git cherry-pick -x b3a346d5c99dd73cf84711f2a43e42691990efd2
git cherry-pick -x 9b22a5c8310b0d55d04f5f0159b913a2fb8b444f
git cherry-pick -x f9b6c9576568169139ac151f7881474f384659fd
git cherry-pick -x be97fea7451d758881b95af78e900dd0d58a382a
git cherry-pick -x cad3b18148bed72dcdb74cd2fc3027d42cc67d36
git cherry-pick -x 55e91e9e24604bb03fef5486c0f16f6d535d9a7b
git cherry-pick -x bc25d56c03e41c10bc4b40e99ca5d7b941675c04
git cherry-pick -x 4649e6faeecdc2d44bfa6ccbe405eef27e55d816
git cherry-pick -x 281c103a8eaed59001ce952f231df1b07674215a
git cherry-pick -x c710e9bf38e4e71a8db85d26a0f70c0674664207
git cherry-pick -x 5e82beba4bc1f91d0e64c9c43f2b2fa9cd1c2a7d
git cherry-pick -x ece2ebb34247d573142617dfc534a9dc11ba59be
git cherry-pick -x 1853e95c9bfe69ef1dd862b3f551e68f4a1b76cc
git cherry-pick -x 1cc2decee06acc939337304e9b3f737fd5d8c4bd
git cherry-pick -x 450f35f4d5a682a0796757e52295df58ddb63bc9
git cherry-pick -x 356a4e2e5180c39da706cfc8350e732fc98cbede
git cherry-pick -x 4695430e8132420bf8de94da3eb36a6cf35fde6b
git cherry-pick -x 9bad152c42b37499162367fe47867411e62fffa3
git cherry-pick -x bbeb8bfd478de72086b7362d7c63acb11dfdef49
git cherry-pick -x 67d58ab4f2ccf7145f3da07e025735a09c79de1b
git cherry-pick -x 5c1c15c540fc45820ce3033c319151ec891bc10a
git cherry-pick -x 1511631b7cfc4152b10a0a9d04c7a0bf2ddf4585
git cherry-pick -x efd0556bb64786a8932cbfa10f1b310cd45d77c8
git cherry-pick -x ec341bb76d77b4c2948764375ee6bfeef4bb41c3
git cherry-pick -x aa0d31376d574ac858a40078431a77127bf04ee4
git cherry-pick -x b67ce16b26ad0f14cfd6071013840aa95f823bea
git cherry-pick -x 22f954f7a8afe975e85517aff41b35defe05144b
git cherry-pick -x 495e096256d18669454d4c13de1329939927fa0f
git cherry-pick -x 9e13e8b3018b4674336f5af7a838df6e4f8ec7b8
git cherry-pick -x 30c8e945c605a77fd4abb5c825300999734747c2
git cherry-pick -x 705c4bf5f0dbc33f6296e8d9537d43c5811dd762
git cherry-pick -x 495058429ca55ab7fcc21977b63b92907ad68066
git cherry-pick -x c68557a49e960dbcdede22c7a9b488603078b8b4
git cherry-pick -x 09e722030e8148ba4ed1e42c6b2ea57bda9f9895
git cherry-pick -x 8312ea1179c9b5605e0cd429b07020b2c3e5db10
git cherry-pick -x ecfb6ff0277024421c0c43cedba1c6eb100e9bcf
git cherry-pick -x cf107c5983dc70fcf932a305581a5f976d908ff1
git cherry-pick -x 22c816bce574c0f8230119fe40b34103d4cbf8c3
git cherry-pick -x 176a5e991f73e24c50548b5cab335b3a25aefa45
git cherry-pick -x 0504d52d05299c1177f2086884343430cdca1f5c
git cherry-pick -x 2296a5f056b573e615f10e4087a81698bde21f6e
git cherry-pick -x 91ac995a6f4ddf4f92b231b080544abf23a9b871
git cherry-pick -x dea8f0bb82d5922194864865870b687b79acbde8
git cherry-pick -x b40c74262f7e1e601221cebccdbdb2b392ff9976
git cherry-pick -x 3453a993a3f14c1684560ecf26585046976f6ac6
git cherry-pick -x 9f88dda2f22927d22498801a92cab6a9424eaf86
git cherry-pick -x 13e53d6ae1c3b2ff1be75b9ef09be26f4ec3ce15
git cherry-pick -x 4fc46deceda076d429ef3fab2ccf8d96629ebd23
git cherry-pick -x ecc3b8691c1935f9f3e4eb964ab11e40fdec17f5
git cherry-pick -x c3b791de8150d7e4324fb631b697e132fd0f7c81
git cherry-pick -x df28d7831dada534dcd9b87a8356ff473d526b15
git cherry-pick -x 0e20f2372768c7b062e44f361911378d01633a7f
git cherry-pick -x 4d03e5fa3fbb1df15258a1eb3d6963f0d65659b3
git cherry-pick -x 34cecb279ef3bc42e1506123a89c8c0ab67c5c90
git cherry-pick -x e84dfaac50aab45ad8c670da43e3aa1f97bd2a41
git cherry-pick -x 923b6b05af4804d609cb0b8025609319f21d2a3c
git cherry-pick -x bc3ede624ce4d31392b8ce8faee868578cc0d1a2
git cherry-pick -x b6cb47e186abba85a3b08aa3023067ab82577286
git cherry-pick -x 85c0677ea8d11a99bf22c622154aad4c83f14ddd
git cherry-pick -x d6748f6802f3eebafaa16a5e5dcfbfb9b3bc173f
git cherry-pick -x 753060f2b77ff2f386addbd3ecadb95b9f90cddd
git cherry-pick -x ae2bb76d9862c702eef3a17a8f4b154dc0458f7f
git cherry-pick -x 0b9090717c7e2184e2c427bbcc752f295116ac1d
git cherry-pick -x b85e5c310382803d27adf6fe6554d4208bc8951c
git cherry-pick -x dbf6804ad7da0fc68e139e752bd7b76ca793fe21
git cherry-pick -x 038bad8e16c2e28acf31f0b527a816fb23a57269
git cherry-pick -x 93980a07f29a63e20c29ab17c730c51ce34df806
git cherry-pick -x 375c37eca049efe2f192f781809d662bafa4b58f
git cherry-pick -x 3d0897ec623e422695d70d80ae456f89476c5328
git cherry-pick -x ad331e26fd213a19fee0de18cdacd67b7ff5b478
git cherry-pick -x f97b7e5e1cdaae15cd95b3a360028c7929664969
git cherry-pick -x 4bb3325075138dd5346b71589a959878b564dc0b
git cherry-pick -x 2c8f08f3641a074da40acf05baa5a18ae2739260
git cherry-pick -x 877e99535dfb9fe6b70e6369e727608b0de08a9a
git cherry-pick -x 56ed298d8061986adb1e4f35b1074fc5023c36b8
git cherry-pick -x adf9e49e8e1adbcea28fddb5a97eb7f0c58f4159
git cherry-pick -x 50b1acd670e4c8d9934e7c95fcc2dcd90d34d9b0
git cherry-pick -x b384c458d31e429cc1bc125485712b943a15b7ea
git cherry-pick -x 5c4988b7f50d4b430626c08c1660143ffb53a766
git cherry-pick -x 0badb30871004d34df87be33e853536f0b69885f
git cherry-pick -x 0e858422df2334165293ea742da9fbb2e51f2739
git cherry-pick -x 0e57165ca025a67d8dfd17efd2765fdd4925fdab
git cherry-pick -x 21c77486f5a60bb9c0433c21de62a5f25d5091f1
git cherry-pick -x 13764b55f9aaf24da8217a019f60a3c2c4b7738e
git cherry-pick -x b33845d79a12ba918be1d95e04a2acdc2409216e
git cherry-pick -x 382aedae286bb91ecf1a9858a68f875cd944a453
git cherry-pick -x 485373746f8e7a2ccb4fbbdcdf8cedc26800e1e3
git cherry-pick -x a94e62b7c7018fcfe0251e53fa96af30f12d923a
git cherry-pick -x b8c05061997408bf81759f2dd31cd5f66771d15f
git cherry-pick -x 2ff5bb3645c72b3690e70c513a62a86600c4632f
git cherry-pick -x 273548eb997c6be85230c1236b18784b09f6203c
git cherry-pick -x bda39e25d55eaa36dea03575f51ecb251e613e94
git cherry-pick -x 9a7f765985f64fd4a7a58f7bc9cd80a1f4230628
git cherry-pick -x 9d6cbb76fe9cd760351f6b0b20f1bf788eab8fa6
git cherry-pick -x 0634d50e8b398c25bd07c96b048e484d22688c26
git cherry-pick -x a1e972fa94c3a8069e022c67b9d97c7aa7b05293
git cherry-pick -x fc0c02f510e41650df3479f96e257acf87d8a20a
git cherry-pick -x d5d7ada4e1296b00d89fe82b2ca850cc7809d6f7
git cherry-pick -x 7c701778c6a369769992614dac8dc00c8ac72afc
git cherry-pick -x d3f44438aa805270aaead3b6840ccaea0f4c11f9
git cherry-pick -x e7b25a6011781ebfdbc458552cae6d4156732771
git cherry-pick -x 0f19ae6c617674fe6b7afc55700207246cf75912
git cherry-pick -x 80c1e18473f63fd7c6a2bc9ad6f3d0a6cc4fb500
git cherry-pick -x aac69d0857bef12cb0eec5e612c658bff1583c82
git cherry-pick -x 7280133f6519993e88a5a3001edfbb48ea90398f
git cherry-pick -x 6d28e6ad3c5c9248577f21057baa9bf16fa9ef3b
git cherry-pick -x 5a014e8a35fb9b5877ced10fa8d5448b743573e7
git cherry-pick -x fc0d5e4e27ad024f1830a8bb056928ae6731be24
git cherry-pick -x fddea90c40bb04b005e8910791ca12882d48095e
git cherry-pick -x 56aafe8ba33f73d65eb3c13f540fccc387028ca9
git cherry-pick -x 9852aa87ecba95d7bf9fb94a9d6c4f69312c9682
git cherry-pick -x 34ff0258dc4513bdf73891a83cdea8cb7ead8fff
git cherry-pick -x 8f5c3bb342926701b284ca798dd6fc59f9a5f7a6
git cherry-pick -x 14e23606ce6bd8643946d98bc2806910f4b0cfe2
git cherry-pick -x 89ec52243cd19f18f163f5936f3c822a874bbaaa
git cherry-pick -x ad09a4863d9e5986f402c098beb6d152c2f22728
git cherry-pick -x 2a10c04e786b129f961fadcae1e69feb705c1ca0
git cherry-pick -x 38bdecc54f298231868468e2ee5ac172f0789891
git cherry-pick -x 8393aac36f876bc987f88287b403ff96e0b3f35a
git cherry-pick -x 8b0de7005b148738d79d6c45594d566489948a68
git cherry-pick -x f25834c60f499c11c529119eaad0f0e2c3720c30
git cherry-pick -x e3dd774dbfd0b5bc2dbd0995221751b1234f8205
git cherry-pick -x bee9b034810f9b54b17857a490983dc5b9919761
git cherry-pick -x 3e71bfbdd3fd81ee9fefd867fdb2be62bade4140
git cherry-pick -x ff050589a21967883bb55f6dba42568f8367ad4a
git cherry-pick -x a6eb5a0ae7cd313cfd7df78decd8f43b64c68703
git cherry-pick -x 9799fd20a71ead357c2bc3bd808762ee0d7962fd
git cherry-pick -x 11483d80267db97fbe49f2df66385434256cc3b0
git cherry-pick -x 98dec46a07af4f9b08ecaa90d6c2a64e61f93cd5
git cherry-pick -x 591aaa8dcdc82f60e4e27b84c4395f6d90e7cecb
git cherry-pick -x 103b76ecf396f9a3595e273f3514eb1c89d5d37b
git cherry-pick -x 93a0739802539397f0d7df3ec109f02be39748fb
git cherry-pick -x e3815d1ffbb9be4f1605ddc3b427557893461683
git cherry-pick -x b5d618fd61b9069b4c0a6b487022dd3117ad5acc
git cherry-pick -x 7826c63fcc4b52f56df0313634c4ba064ef1554b
git cherry-pick -x ca048e642e06f3f7df5fc117951d865ba2c2f68e
git cherry-pick -x e86ee5ede0cfbbb868edec298723c5d625229935
git cherry-pick -x f622ae0f5c4e4f0a02e3d82ac4fed95075bb78a5
git cherry-pick -x 8205e400d8874ca0657495e4a5ef4915ad8b49de
git cherry-pick -x 1da3cec60bf5835ce56a6dbc2319e98968c3e01a
git cherry-pick -x 31ce5af66891f79998fb2e8b8df08e3c98fd72e3
git cherry-pick -x 992ea37a8adacfee0e95e01c0536a3050a19ff34
git cherry-pick -x bed55f0faa1cf67b0389b5e0b3925a0733332203
git cherry-pick -x ea2a9a084560d2675c9fd95911c115d50526c5a6
git cherry-pick -x 23a8726e1d7597fe7c9a59d5dc42ba8b7d345b8a
git cherry-pick -x 35a2c16c1c60b65ecb6f4b631742b52b7af919a5
git cherry-pick -x 329b3a7edbb84c60012d33a4725ab126585343f9
git cherry-pick -x 201633f47b542a99bb7baafdfcda7781249fb3d9
git cherry-pick -x ea595a1e5e753c977723d3f5c5d4cddcaa44be0e
git cherry-pick -x eba91c379bf44b2ee07c06d153dab2deec4f8d8f
git cherry-pick -x 8fb948a0cb11e4f30a355578775639beb40d29fb
git cherry-pick -x 1738db550334adca0e7fcf0ef684198fb7462779
git cherry-pick -x c233ec66cd5abc76c10d64982b78a1b27d718b22
git cherry-pick -x f16218689b41efcbc491207cd7716477b1223879
git cherry-pick -x 9b9380a1f60089ea021594e331196965c6260dfe
git cherry-pick -x c22d65d62b3318e237c0e5b1177d90ab83d9fe06
git cherry-pick -x 4f94480256f8a0d9c17a83deaafa6523d1935db8
git cherry-pick -x f597b19234014947e1e7470de764ae4183fb9fef
git cherry-pick -x 8dbb6e1457debe70564b33c4c632bcc25ad118af
git cherry-pick -x 2106fb490b2c6003e23ad6ff36ce823a2170e138
git cherry-pick -x 43ef70993fcb887b8aa69ca553abf41cb025fd2d
git cherry-pick -x be5c39730ab8f1dfe59983bf7d8e3705541d1fee
git cherry-pick -x 8150df60da1783666996d13308e5470690ba5d24
git cherry-pick -x dcd56066a55437887e12fb5511eab61932e3dfd6
git cherry-pick -x c6472caf9631c8180c9f3865c4c30b6da330a444
git cherry-pick -x 5476c46a09c02e5a5dde7940e13c48f8aa20e1ef
git cherry-pick -x 8ac0b3baa7d8f732bd9e5cbf1d8b57e4802c6b36
git cherry-pick -x c70f44c845796b8b3446b219ce4fa634957c9d83
git cherry-pick -x deca7746b57d982cd4f0301f4443f56780c4a048
git cherry-pick -x 100454f152262ec2c7a8697482a94e89e22ec701
git cherry-pick -x b4d7c30929e5f44895eac891425c33e44bd280e1
git cherry-pick -x b8bc76814f81945cfd997b37d46e984b8a707f46
git cherry-pick -x 25c09b42358e73e1476e517b296edb6344f2e4bd
git cherry-pick -x 952aaf4e753d8f6635b1b7d0e085ef6e7dde1500
git cherry-pick -x f8408fc0f48e2c990eb2551495e10fe2ffc45171

If the original PR was merged via a squash, you can just cherry-pick the squashed commit:

git reset --hard HEAD~1
git cherry-pick -x ba2c46f92ddf9ecc0b2d7487c101f30593009004

@bugclerk

Copy link
Copy Markdown
Author

This is the 6.12.103 stable release

Signed-off-by: Ameer Hamza <ameer.hamza@truenas.com>
Signed-off-by: Ameer Hamza <ameer.hamza@truenas.com>
@ixhamza
ixhamza force-pushed the NAS-142141-25.10.7 branch from b771f07 to ce93a6d Compare August 11, 2026 15:01
@ixhamza
ixhamza marked this pull request as ready for review August 11, 2026 15:01
@creatorcary
creatorcary merged commit 1b01bf7 into release/25.10.7 Aug 12, 2026
6 checks passed
@creatorcary
creatorcary deleted the NAS-142141-25.10.7 branch August 12, 2026 14:51
@bugclerk

Copy link
Copy Markdown
Author

This PR has been merged and conversations have been locked.
If you would like to discuss more about this issue please use our forums or raise a Jira ticket.

@truenas truenas locked as resolved and limited conversation to collaborators Aug 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.