Bug 2315192 (CVE-2024-46840) - CVE-2024-46840 kernel: btrfs: clean up our handling of refs == 0 in snapshot delete
Summary: CVE-2024-46840 kernel: btrfs: clean up our handling of refs == 0 in snapshot ...
Keywords:
Status: NEW
Alias: CVE-2024-46840
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2315266
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-09-27 13:22 UTC by OSIDB Bzimport
Modified: 2024-09-27 18:07 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-09-27 13:22:25 UTC
In the Linux kernel, the following vulnerability has been resolved:

btrfs: clean up our handling of refs == 0 in snapshot delete

In reada we BUG_ON(refs == 0), which could be unkind since we aren't
holding a lock on the extent leaf and thus could get a transient
incorrect answer.  In walk_down_proc we also BUG_ON(refs == 0), which
could happen if we have extent tree corruption.  Change that to return
-EUCLEAN.  In do_walk_down() we catch this case and handle it correctly,
however we return -EIO, which -EUCLEAN is a more appropriate error code.
Finally in walk_up_proc we have the same BUG_ON(refs == 0), so convert
that to proper error handling.  Also adjust the error message so we can
actually do something with the information.


Note You need to log in before you can comment on or make changes to this bug.