Lucene search

K
cvelistLinuxCVELIST:CVE-2023-52668
HistoryMay 17, 2024 - 2:01 p.m.

CVE-2023-52668 btrfs: zoned: fix lock ordering in btrfs_zone_activate()

2024-05-1714:01:52
Linux
www.cve.org
btrfs zoned lock ordering

6.4 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

15.5%

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

btrfs: zoned: fix lock ordering in btrfs_zone_activate()

The btrfs CI reported a lockdep warning as follows by running generic
generic/129.

WARNING: possible circular locking dependency detected
6.7.0-rc5+ #1 Not tainted

kworker/u5:5/793427 is trying to acquire lock:
ffff88813256d028 (&cache->lock){+.+.}-{2:2}, at: btrfs_zone_finish_one_bg+0x5e/0x130
but task is already holding lock:
ffff88810a23a318 (&fs_info->zone_active_bgs_lock){+.+.}-{2:2}, at: btrfs_zone_finish_one_bg+0x34/0x130
which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:
-> #1 (&fs_info->zone_active_bgs_lock){+.+.}-{2:2}:

-> #0 (&cache->lock){+.+.}-{2:2}:

This is because we take fs_info->zone_active_bgs_lock after a block_group’s
lock in btrfs_zone_activate() while doing the opposite in other places.

Fix the issue by expanding the fs_info->zone_active_bgs_lock’s critical
section and taking it before a block_group’s lock.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "fs/btrfs/zoned.c"
    ],
    "versions": [
      {
        "version": "a7e1ac7bdc5a",
        "lessThan": "6f74989f5909",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "a7e1ac7bdc5a",
        "lessThan": "1908e9d01e53",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "a7e1ac7bdc5a",
        "lessThan": "b18f3b60b35a",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "fs/btrfs/zoned.c"
    ],
    "versions": [
      {
        "version": "6.6",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "6.6",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.15",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.7.3",
        "lessThanOrEqual": "6.7.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.8",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

6.4 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

15.5%

Related for CVELIST:CVE-2023-52668