CVE-2026-90235
In the Linux kernel, the following vulnerability has been resolved:
sunrpc: xprtsock: annotate shared socket callbacks with READONCE/WRITEONCE
xprtsock replaces and restores sk->skdataready and
sk->skwritespace on live sockets with plain stores, and
xsudpdosetbuffersize() invokes sk->skwrite_space via a plain
load. These callback pointers are shared with generic socket and
protocol paths that may read or invoke them concurrently, so xprtsock
needs the same READONCE()/WRITEONCE() callback visibility contract
that the validated 4022 family applied elsewhere.
When SUNRPC takes over an AF_LOCAL, UDP, or TCP socket and later
restores the lower-socket callbacks during teardown, another CPU may
still hold an earlier callback snapshot. The plain replace/restore
pattern leaves the same visibility hole as the validated 4022 family,
so a stale snapshot can still invoke xsdataready() or
xsudpwrite_space() after the live callback fields have already been
restored to the lower-socket handlers.
Use WRITEONCE() for the shared skdataready and skwrite_space
stores in xslocalfinishconnecting(), xsudpfinishconnecting(),
xstcpfinishconnecting(), and xsrestoreoldcallbacks(). Use
READONCE() for the direct skwrite_space invocation in
xsudpdosetbuffer_size(). This matches the required callback
visibility contract while leaving adjacent skstatechange and
skerrorreport handling unchanged.
Package Versions Affected
Automatically patch vulnerabilities without upgrading
CVSS Version



Related Resources
References
https://git.kernel.org/stable/c/33930840b5f0a79f826e7c69dc6cd78f72a67481, https://git.kernel.org/stable/c/589f761236e05ff9de1bdfd6a5258f113e6457fe, https://git.kernel.org/stable/c/d8f0b83753809761a560c4b33249388548ba6e43, https://git.kernel.org/stable/c/da652cb17f9faeea1fa44b7215e8869a0b10b664, https://git.kernel.org/stable/c/ed80d009b154aa204f541d390884851b3d4f15ae, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90235.json, https://nvd.nist.gov/vuln/detail/CVE-2026-90235, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git