* CVE-2026-90107: net/smc: free pending qentry in smc_llc_flow_stop() before memset
@ 2026-09-17 16:08 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-17 16:08 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net/smc: free pending qentry in smc_llc_flow_stop() before memset
smc_llc_flow_stop() resets a flow struct with a blind memset:
spin_lock_bh(&lgr->llc_flow_lock);
memset(flow, 0, sizeof(*flow));
flow->type = SMC_LLC_FLOW_NONE;
spin_unlock_bh(&lgr->llc_flow_lock);
If flow->qentry is non-NULL at this point the pointer is overwritten without the
allocation being freed, leaking one kmalloc object.
A late-arriving duplicate CONFIRM_LINK or ADD_LINK_CONT message can set
flow->qentry after the legitimate message has been consumed by the waiter via
smc_llc_flow_qentry_clr() (which NULLs the pointer but leaves flow->type
non-zero) but before the flow completes and smc_llc_flow_stop() runs. In that
window the duplicate is stashed into flow->qentry, and then lost when
smc_llc_flow_stop() zeros the struct.
Call smc_llc_flow_qentry_del() inside the lock before the memset.
smc_llc_flow_qentry_del() already checks flow->qentry before freeing, so the
normal case where no entry is pending is a no-op.
The Linux kernel CVE team has assigned CVE-2026-90107 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 5.10.270 with commit 8e3deb150a5237b672c4579e69a6deb02027dbed
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 5.15.221 with commit 11bc373ee6630709f0c2da2e7860c23d503c9e9d
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 6.1.188 with commit 032aec7d03c9102616b98fea74f8f7145e7f867c
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 6.6.157 with commit 957dba2b8b5aebfe09caa6a6b22b958079082eab
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 6.12.110 with commit f03aa5d36ae3c4068a1c3885146be99aa7fd9307
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 6.18.52 with commit 0879ea157acc1ac6752f6fcb755d1f91a2359238
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 7.2.6 with commit 5ff429dd6725fa6c1e17a4ed0be8ab675f67a98b
Issue introduced in 5.8 with commit 555da9af827d95134656fa459c8f3ece04dd867a and fixed in 7.3-rc1 with commit 5ee0ceddc7785c6dcf4a8107fef01f0414a354f4
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-90107
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/smc/smc_llc.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/8e3deb150a5237b672c4579e69a6deb02027dbed
https://git.kernel.org/stable/c/11bc373ee6630709f0c2da2e7860c23d503c9e9d
https://git.kernel.org/stable/c/032aec7d03c9102616b98fea74f8f7145e7f867c
https://git.kernel.org/stable/c/957dba2b8b5aebfe09caa6a6b22b958079082eab
https://git.kernel.org/stable/c/f03aa5d36ae3c4068a1c3885146be99aa7fd9307
https://git.kernel.org/stable/c/0879ea157acc1ac6752f6fcb755d1f91a2359238
https://git.kernel.org/stable/c/5ff429dd6725fa6c1e17a4ed0be8ab675f67a98b
https://git.kernel.org/stable/c/5ee0ceddc7785c6dcf4a8107fef01f0414a354f4
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-17 16:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-17 16:08 CVE-2026-90107: net/smc: free pending qentry in smc_llc_flow_stop() before memset Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.