Lucene search

K
cvelistLinuxCVELIST:CVE-2024-43862
HistoryAug 20, 2024 - 11:45 p.m.

CVE-2024-43862 net: wan: fsl_qmc_hdlc: Convert carrier_lock spinlock to a mutex

2024-08-2023:45:26
Linux
www.cve.org
3
linux kernel
vulnerability resolved
carrier detection
deadlock
framer_get_status()
mutex
spinlock
prove_locking
ifconfig
qmc_hdlc
cve

EPSS

0

Percentile

9.5%

In the Linux kernel, the following vulnerability has been resolved:

net: wan: fsl_qmc_hdlc: Convert carrier_lock spinlock to a mutex

The carrier_lock spinlock protects the carrier detection. While it is
held, framer_get_status() is called which in turn takes a mutex.
This is not correct and can lead to a deadlock.

A run with PROVE_LOCKING enabled detected the issue:
[ BUG: Invalid wait context ]

c204ddbc (&framer->mutex){+.+.}-{3:3}, at: framer_get_status+0x40/0x78
other info that might help us debug this:
context-{4:4}
2 locks held by ifconfig/146:
#0: c0926a38 (rtnl_mutex){+.+.}-{3:3}, at: devinet_ioctl+0x12c/0x664
#1: c2006a40 (&qmc_hdlc->carrier_lock){…}-{2:2}, at: qmc_hdlc_framer_set_carrier+0x30/0x98

Avoid the spinlock usage and convert carrier_lock to a mutex.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/wan/fsl_qmc_hdlc.c"
    ],
    "versions": [
      {
        "version": "54762918ca85",
        "lessThan": "f223d2b4acb7",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "54762918ca85",
        "lessThan": "c4d6a347ba7b",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/wan/fsl_qmc_hdlc.c"
    ],
    "versions": [
      {
        "version": "6.9",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "6.9",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10.4",
        "lessThanOrEqual": "6.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.11",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

EPSS

0

Percentile

9.5%