[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025050113-CVE-2022-49765-731b@gregkh>
Date: Thu, 1 May 2025 16:09:15 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-49765: net/9p: use a dedicated spinlock for trans_fd
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net/9p: use a dedicated spinlock for trans_fd
Shamelessly copying the explanation from Tetsuo Handa's suggested
patch[1] (slightly reworded):
syzbot is reporting inconsistent lock state in p9_req_put()[2],
for p9_tag_remove() from p9_req_put() from IRQ context is using
spin_lock_irqsave() on "struct p9_client"->lock but trans_fd
(not from IRQ context) is using spin_lock().
Since the locks actually protect different things in client.c and in
trans_fd.c, just replace trans_fd.c's lock by a new one specific to the
transport (client.c's protect the idr for fid/tag allocations,
while trans_fd.c's protects its own req list and request status field
that acts as the transport's state machine)
The Linux kernel CVE team has assigned CVE-2022-49765 to this issue.
Affected and fixed versions
===========================
Fixed in 5.15.80 with commit 43bbadb7e4636dc02f6a283c2a39e6438e6173cd
Fixed in 6.0.10 with commit 717b9b4f38703d7f5293059e3a242d16f76fa045
Fixed in 6.1 with commit 296ab4a813841ba1d5f40b03190fd1bd8f25aab0
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-2022-49765
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/9p/trans_fd.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/43bbadb7e4636dc02f6a283c2a39e6438e6173cd
https://git.kernel.org/stable/c/717b9b4f38703d7f5293059e3a242d16f76fa045
https://git.kernel.org/stable/c/296ab4a813841ba1d5f40b03190fd1bd8f25aab0
Powered by blists - more mailing lists