Bug 1224690 (CVE-2023-52668) - VUL-0: CVE-2023-52668: kernel: btrfs: zoned: fix lock ordering in btrfs_zone_activate()
Summary: VUL-0: CVE-2023-52668: kernel: btrfs: zoned: fix lock ordering in btrfs_zone_...
Status: RESOLVED FIXED
Alias: CVE-2023-52668
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/406389/
Whiteboard: CVSSv3.1:SUSE:CVE-2023-52668:5.5:(AV:...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-20 16:06 UTC by SMASH SMASH
Modified: 2024-06-10 12:18 UTC (History)
2 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SMASH SMASH 2024-05-20 16:06:54 UTC
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.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2023-52668
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2023/CVE-2023-52668.mbox
https://git.kernel.org/stable/c/6f74989f5909cdec9b1274641f0fa306b15bb476
https://git.kernel.org/stable/c/1908e9d01e5395adff68d9d308a0fb15337e6272
https://git.kernel.org/stable/c/b18f3b60b35a8c01c9a2a0f0d6424c6d73971dc3
https://www.cve.org/CVERecord?id=CVE-2023-52668
https://bugzilla.redhat.com/show_bug.cgi?id=2281348
Comment 1 Joey Lee 2024-05-21 07:12:25 UTC
https://www.suse.com/security/cve/CVE-2023-52668.html
cvss 5.5
Comment 3 Joey Lee 2024-05-24 06:49:36 UTC
Nothing to be done
Comment 4 Gabriele Sonnu 2024-06-10 12:18:42 UTC
All done, closing.