Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2022-49765

net/9p: use a dedicated spinlock for trans_fd

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)

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 673d62cdaac6ffbce980a349d3174b3929ceb9e5 to < 43bbadb7e4636dc02f6a283c2a39e6438e6173cdaffected
  • 673d62cdaac6ffbce980a349d3174b3929ceb9e5 to < 717b9b4f38703d7f5293059e3a242d16f76fa045affected
  • 673d62cdaac6ffbce980a349d3174b3929ceb9e5 to < 296ab4a813841ba1d5f40b03190fd1bd8f25aab0affected

Linux Linux

Default version status: affected

  • 2.6.28affected
  • 0 to < 2.6.28unaffected
  • 5.15.80 to ≤ 5.15.*unaffected
  • 6.0.10 to ≤ 6.0.*unaffected
  • 6.1 to ≤ *unaffected

References