Skip to content

[ciqlts9_2] Multiple patches tested (8 commits) - #1457

Merged
PlaidCat merged 8 commits into
ciqlts9_2from
{ciq_kernel_automation}_ciqlts9_2
Jul 20, 2026
Merged

[ciqlts9_2] Multiple patches tested (8 commits)#1457
PlaidCat merged 8 commits into
ciqlts9_2from
{ciq_kernel_automation}_ciqlts9_2

Conversation

@ciq-kernel-automation

@ciq-kernel-automation ciq-kernel-automation Bot commented Jul 20, 2026

Copy link
Copy Markdown

Summary

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

tls: fix missing memory barrier in tls_init

jira VULN-5311
cve CVE-2024-36489
commit-author Dae R. Jeong <threeearcat@gmail.com>
commit 91e61dd7a0af660408e87372d8330ceb218be302
r8169: Fix possible ring buffer corruption on fragmented Tx packets.

jira VULN-43374
cve CVE-2024-38586
commit-author Ken Milmore <ken.milmore@gmail.com>
commit c71e3a5cffd5309d7f84444df03d5b72600cc417
genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline

jira VULN-5018
cve CVE-2024-31076
commit-author Dongli Zhang <dongli.zhang@oracle.com>
commit a6c11c0a5235fb144a65e0cb2ffd360ddc1f6c32
mm/huge_memory: don't unpoison huge_zero_folio

jira VULN-47839
cve CVE-2024-40914
commit-author Miaohe Lin <linmiaohe@huawei.com>
commit fe6f86f4b40855a130a19aa589f9ba7f650423f4
upstream-diff |
	Used is_huge_zero_page() instead of is_huge_zero_folio() due to
	missing the converstion to folios that started with commit
	9637d7dfb19c ("mm/memory-failure: convert free_raw_hwp_pages() to folios")
nvmet: fix a possible leak when destroy a ctrl during qp establishment

jira VULN-38461
cve CVE-2024-42152
commit-author Sagi Grimberg <sagi@grimberg.me>
commit c758b77d4a0a0ed3a1292b3fd7a2aeccd1a169a4
netfilter: tproxy: bail out if IP has been disabled on the device

jira VULN-5295
cve CVE-2024-36270
commit-author Florian Westphal <fw@strlen.de>
commit 21a673bddc8fd4873c370caf9ae70ffc6d47e8d3
mptcp: ensure snd_una is properly initialized on connect

jira VULN-47918
cve CVE-2024-40931
commit-author Paolo Abeni <pabeni@redhat.com>
commit 8031b58c3a9b1db3ef68b3bd749fbee2e1e1aaa3
nvme: avoid double free special payload

jira VULN-44150
cve CVE-2024-41073
commit-author Chunguang Xu <chunguang.xu@shopee.com>
commit e5d574ab37f5f2e7937405613d9b1a724811e5ad

Test Results

✅ Build Stage

Architecture Build Time Total Time
x86_64 20m 3s 20m 50s
aarch64 12m 42s 13m 16s

✅ Boot Verification

✅ Kernel Selftests

Architecture Passed Failed Compared Against Status
x86_64 174 24 ciqlts9_2 ⚠️ No baseline available
aarch64 140 28 ciqlts9_2 ⚠️ No baseline available

✅ LTP Results

Architecture Passed Failed Compared Against Status
x86_64 1439 81 ciqlts9_2 ⚠️ No baseline available
aarch64 1408 84 ciqlts9_2 ⚠️ No baseline available

🤖 This PR was automatically generated by GitHub Actions
Run ID: 29734490758

CIQ Kernel Automation added 8 commits July 20, 2026 07:31
jira VULN-5311
cve CVE-2024-36489
commit-author Dae R. Jeong <threeearcat@gmail.com>
commit 91e61dd

In tls_init(), a write memory barrier is missing, and store-store
reordering may cause NULL dereference in tls_{setsockopt,getsockopt}.

CPU0                               CPU1
-----                              -----
// In tls_init()
// In tls_ctx_create()
ctx = kzalloc()
ctx->sk_proto = READ_ONCE(sk->sk_prot) -(1)

// In update_sk_prot()
WRITE_ONCE(sk->sk_prot, tls_prots)     -(2)

                                   // In sock_common_setsockopt()
                                   READ_ONCE(sk->sk_prot)->setsockopt()

                                   // In tls_{setsockopt,getsockopt}()
                                   ctx->sk_proto->setsockopt()    -(3)

In the above scenario, when (1) and (2) are reordered, (3) can observe
the NULL value of ctx->sk_proto, causing NULL dereference.

To fix it, we rely on rcu_assign_pointer() which implies the release
barrier semantic. By moving rcu_assign_pointer() after ctx->sk_proto is
initialized, we can ensure that ctx->sk_proto are visible when
changing sk->sk_prot.

Fixes: d5bee73 ("net/tls: Annotate access to sk_prot with READ_ONCE/WRITE_ONCE")
	Signed-off-by: Yewon Choi <woni9911@gmail.com>
	Signed-off-by: Dae R. Jeong <threeearcat@gmail.com>
Link: https://lore.kernel.org/netdev/ZU4OJG56g2V9z_H7@dragonet/T/
Link: https://lore.kernel.org/r/Zkx4vjSFp0mfpjQ2@libra05
	Signed-off-by: Paolo Abeni <pabeni@redhat.com>
(cherry picked from commit 91e61dd)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-43374
cve CVE-2024-38586
commit-author Ken Milmore <ken.milmore@gmail.com>
commit c71e3a5

An issue was found on the RTL8125b when transmitting small fragmented
packets, whereby invalid entries were inserted into the transmit ring
buffer, subsequently leading to calls to dma_unmap_single() with a null
address.

This was caused by rtl8169_start_xmit() not noticing changes to nr_frags
which may occur when small packets are padded (to work around hardware
quirks) in rtl8169_tso_csum_v2().

To fix this, postpone inspecting nr_frags until after any padding has been
applied.

Fixes: 9020845 ("r8169: improve rtl8169_start_xmit")
	Cc: stable@vger.kernel.org
	Signed-off-by: Ken Milmore <ken.milmore@gmail.com>
	Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/27ead18b-c23d-4f49-a020-1fc482c5ac95@gmail.com
	Signed-off-by: Paolo Abeni <pabeni@redhat.com>
(cherry picked from commit c71e3a5)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-5018
cve CVE-2024-31076
commit-author Dongli Zhang <dongli.zhang@oracle.com>
commit a6c11c0

The absence of IRQD_MOVE_PCNTXT prevents immediate effectiveness of
interrupt affinity reconfiguration via procfs. Instead, the change is
deferred until the next instance of the interrupt being triggered on the
original CPU.

When the interrupt next triggers on the original CPU, the new affinity is
enforced within __irq_move_irq(). A vector is allocated from the new CPU,
but the old vector on the original CPU remains and is not immediately
reclaimed. Instead, apicd->move_in_progress is flagged, and the reclaiming
process is delayed until the next trigger of the interrupt on the new CPU.

Upon the subsequent triggering of the interrupt on the new CPU,
irq_complete_move() adds a task to the old CPU's vector_cleanup list if it
remains online. Subsequently, the timer on the old CPU iterates over its
vector_cleanup list, reclaiming old vectors.

However, a rare scenario arises if the old CPU is outgoing before the
interrupt triggers again on the new CPU.

In that case irq_force_complete_move() is not invoked on the outgoing CPU
to reclaim the old apicd->prev_vector because the interrupt isn't currently
affine to the outgoing CPU, and irq_needs_fixup() returns false. Even
though __vector_schedule_cleanup() is later called on the new CPU, it
doesn't reclaim apicd->prev_vector; instead, it simply resets both
apicd->move_in_progress and apicd->prev_vector to 0.

As a result, the vector remains unreclaimed in vector_matrix, leading to a
CPU vector leak.

To address this issue, move the invocation of irq_force_complete_move()
before the irq_needs_fixup() call to reclaim apicd->prev_vector, if the
interrupt is currently or used to be affine to the outgoing CPU.

Additionally, reclaim the vector in __vector_schedule_cleanup() as well,
following a warning message, although theoretically it should never see
apicd->move_in_progress with apicd->prev_cpu pointing to an offline CPU.

Fixes: f0383c2 ("genirq/cpuhotplug: Add support for cleaning up move in progress")
	Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
	Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
	Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240522220218.162423-1-dongli.zhang@oracle.com
(cherry picked from commit a6c11c0)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-47839
cve CVE-2024-40914
commit-author Miaohe Lin <linmiaohe@huawei.com>
commit fe6f86f
upstream-diff |
	Used is_huge_zero_page() instead of is_huge_zero_folio() due to
	missing the converstion to folios that started with commit
	9637d7d ("mm/memory-failure: convert free_raw_hwp_pages() to folios")

When I did memory failure tests recently, below panic occurs:

 kernel BUG at include/linux/mm.h:1135!
 invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
 CPU: 9 PID: 137 Comm: kswapd1 Not tainted 6.9.0-rc4-00491-gd5ce28f156fe-dirty #14
 RIP: 0010:shrink_huge_zero_page_scan+0x168/0x1a0
 RSP: 0018:ffff9933c6c57bd0 EFLAGS: 00000246
 RAX: 000000000000003e RBX: 0000000000000000 RCX: ffff88f61fc5c9c8
 RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff88f61fc5c9c0
 RBP: ffffcd7c446b0000 R08: ffffffff9a9405f0 R09: 0000000000005492
 R10: 00000000000030ea R11: ffffffff9a9405f0 R12: 0000000000000000
 R13: 0000000000000000 R14: 0000000000000000 R15: ffff88e703c4ac00
 FS:  0000000000000000(0000) GS:ffff88f61fc40000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 000055f4da6e9878 CR3: 0000000c71048000 CR4: 00000000000006f0
 Call Trace:
  <TASK>
  do_shrink_slab+0x14f/0x6a0
  shrink_slab+0xca/0x8c0
  shrink_node+0x2d0/0x7d0
  balance_pgdat+0x33a/0x720
  kswapd+0x1f3/0x410
  kthread+0xd5/0x100
  ret_from_fork+0x2f/0x50
  ret_from_fork_asm+0x1a/0x30
  </TASK>
 Modules linked in: mce_inject hwpoison_inject
 ---[ end trace 0000000000000000 ]---
 RIP: 0010:shrink_huge_zero_page_scan+0x168/0x1a0
 RSP: 0018:ffff9933c6c57bd0 EFLAGS: 00000246
 RAX: 000000000000003e RBX: 0000000000000000 RCX: ffff88f61fc5c9c8
 RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff88f61fc5c9c0
 RBP: ffffcd7c446b0000 R08: ffffffff9a9405f0 R09: 0000000000005492
 R10: 00000000000030ea R11: ffffffff9a9405f0 R12: 0000000000000000
 R13: 0000000000000000 R14: 0000000000000000 R15: ffff88e703c4ac00
 FS:  0000000000000000(0000) GS:ffff88f61fc40000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 000055f4da6e9878 CR3: 0000000c71048000 CR4: 00000000000006f0

The root cause is that HWPoison flag will be set for huge_zero_folio
without increasing the folio refcnt.  But then unpoison_memory() will
decrease the folio refcnt unexpectedly as it appears like a successfully
hwpoisoned folio leading to VM_BUG_ON_PAGE(page_ref_count(page) == 0) when
releasing huge_zero_folio.

Skip unpoisoning huge_zero_folio in unpoison_memory() to fix this issue.
We're not prepared to unpoison huge_zero_folio yet.

Link: https://lkml.kernel.org/r/20240516122608.22610-1-linmiaohe@huawei.com
Fixes: 478d134 ("mm/huge_memory: do not overkill when splitting huge_zero_page")
	Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
	Acked-by: David Hildenbrand <david@redhat.com>
	Reviewed-by: Yang Shi <shy828301@gmail.com>
	Reviewed-by: Oscar Salvador <osalvador@suse.de>
	Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
	Cc: Naoya Horiguchi <nao.horiguchi@gmail.com>
	Cc: Xu Yu <xuyu@linux.alibaba.com>
	Cc: <stable@vger.kernel.org>
	Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit fe6f86f)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
Signed-off-by: Roxana Nicolescu <rnicolescu@ciq.com>
jira VULN-38461
cve CVE-2024-42152
commit-author Sagi Grimberg <sagi@grimberg.me>
commit c758b77

In nvmet_sq_destroy we capture sq->ctrl early and if it is non-NULL we
know that a ctrl was allocated (in the admin connect request handler)
and we need to release pending AERs, clear ctrl->sqs and sq->ctrl
(for nvme-loop primarily), and drop the final reference on the ctrl.

However, a small window is possible where nvmet_sq_destroy starts (as
a result of the client giving up and disconnecting) concurrently with
the nvme admin connect cmd (which may be in an early stage). But *before*
kill_and_confirm of sq->ref (i.e. the admin connect managed to get an sq
live reference). In this case, sq->ctrl was allocated however after it was
captured in a local variable in nvmet_sq_destroy.
This prevented the final reference drop on the ctrl.

Solve this by re-capturing the sq->ctrl after all inflight request has
completed, where for sure sq->ctrl reference is final, and move forward
based on that.

This issue was observed in an environment with many hosts connecting
multiple ctrls simoutanuosly, creating a delay in allocating a ctrl
leading up to this race window.

	Reported-by: Alex Turin <alex@vastdata.com>
	Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
	Reviewed-by: Christoph Hellwig <hch@lst.de>
	Signed-off-by: Keith Busch <kbusch@kernel.org>
(cherry picked from commit c758b77)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-5295
cve CVE-2024-36270
commit-author Florian Westphal <fw@strlen.de>
commit 21a673b

syzbot reports:
general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
[..]
RIP: 0010:nf_tproxy_laddr4+0xb7/0x340 net/ipv4/netfilter/nf_tproxy_ipv4.c:62
Call Trace:
 nft_tproxy_eval_v4 net/netfilter/nft_tproxy.c:56 [inline]
 nft_tproxy_eval+0xa9a/0x1a00 net/netfilter/nft_tproxy.c:168

__in_dev_get_rcu() can return NULL, so check for this.

Reported-and-tested-by: syzbot+b94a6818504ea90d7661@syzkaller.appspotmail.com
Fixes: cc6eb43 ("tproxy: use the interface primary IP address as a default value for --on-ip")
	Signed-off-by: Florian Westphal <fw@strlen.de>
	Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
(cherry picked from commit 21a673b)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-47918
cve CVE-2024-40931
commit-author Paolo Abeni <pabeni@redhat.com>
commit 8031b58

This is strictly related to commit fb7a0d3 ("mptcp: ensure snd_nxt
is properly initialized on connect"). It turns out that syzkaller can
trigger the retransmit after fallback and before processing any other
incoming packet - so that snd_una is still left uninitialized.

Address the issue explicitly initializing snd_una together with snd_nxt
and write_seq.

	Suggested-by: Mat Martineau <martineau@kernel.org>
Fixes: 8fd7380 ("mptcp: fallback in case of simultaneous connect")
	Cc: stable@vger.kernel.org
	Reported-by: Christoph Paasch <cpaasch@apple.com>
Closes: multipath-tcp/mptcp_net-next#485
	Signed-off-by: Paolo Abeni <pabeni@redhat.com>
	Reviewed-by: Mat Martineau <martineau@kernel.org>
	Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240607-upstream-net-20240607-misc-fixes-v1-1-1ab9ddfa3d00@kernel.org
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 8031b58)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-44150
cve CVE-2024-41073
commit-author Chunguang Xu <chunguang.xu@shopee.com>
commit e5d574a

If a discard request needs to be retried, and that retry may fail before
a new special payload is added, a double free will result. Clear the
RQF_SPECIAL_LOAD when the request is cleaned.

	Signed-off-by: Chunguang Xu <chunguang.xu@shopee.com>
	Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
	Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
	Signed-off-by: Keith Busch <kbusch@kernel.org>
(cherry picked from commit e5d574a)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
@ciq-kernel-automation ciq-kernel-automation Bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label Jul 20, 2026
@github-actions

Copy link
Copy Markdown

🤖 Validation Checks In Progress Workflow run: https://github.com/ctrliq/kernel-src-tree/actions/runs/29751994334

@github-actions

Copy link
Copy Markdown

🔍 Interdiff Analysis

  • ⚠️ PR commit 29941bdd920 (mm/huge_memory: don't unpoison huge_zero_folio) → upstream fe6f86f4b408
    Differences found:
================================================================================
*    DELTA DIFFERENCES - code changes that differ between the patches          *
================================================================================

--- b/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2144,7 +2144,7 @@
 		goto unlock_mutex;
 	}
 
-	if (is_huge_zero_page(page)) {
+	if (is_huge_zero_folio(folio)) {
 		unpoison_pr_info("Unpoison: huge zero page is not supported %#lx\n",
 				 pfn, &unpoison_rs);
 		ret = -EOPNOTSUPP;

This is an automated interdiff check for backported commits.

@github-actions

Copy link
Copy Markdown

Validation checks completed successfully View full results: https://github.com/ctrliq/kernel-src-tree/actions/runs/29751994334

@PlaidCat
PlaidCat requested a review from a team July 20, 2026 14:57
@roxanan1996

Copy link
Copy Markdown
Contributor

🔍 Interdiff Analysis

* ⚠️ PR commit `29941bdd920 (mm/huge_memory: don't unpoison huge_zero_folio)` → upstream `fe6f86f4b408`
  **Differences found:**
================================================================================
*    DELTA DIFFERENCES - code changes that differ between the patches          *
================================================================================

--- b/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2144,7 +2144,7 @@
 		goto unlock_mutex;
 	}
 
-	if (is_huge_zero_page(page)) {
+	if (is_huge_zero_folio(folio)) {
 		unpoison_pr_info("Unpoison: huge zero page is not supported %#lx\n",
 				 pfn, &unpoison_rs);
 		ret = -EOPNOTSUPP;

This is an automated interdiff check for backported commits.

Expected as I mentioned in the commit body

upstream-diff |
	Used is_huge_zero_page() instead of is_huge_zero_folio() due to
	missing the converstion to folios that started with commit
	9637d7dfb19c ("mm/memory-failure: convert free_raw_hwp_pages() to folios")

@roxanan1996 roxanan1996 changed the title [ciqlts9_2] Multiple patches tested (7 commits) [ciqlts9_2] Multiple patches tested (8 commits) Jul 20, 2026

@bmastbergen bmastbergen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥌

@bmastbergen
bmastbergen requested a review from a team July 20, 2026 16:42

@PlaidCat PlaidCat left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@PlaidCat
PlaidCat merged commit a411ac1 into ciqlts9_2 Jul 20, 2026
5 checks passed
@PlaidCat
PlaidCat deleted the {ciq_kernel_automation}_ciqlts9_2 branch July 20, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

3 participants