Skip to content
OpenAdvisories
Unscored CVE-2021-47145 EUVD-2021-33793GHSA-mh64-ppph-hcxx

btrfs: do not BUG_ON in link_to_fixup_dir

Published Mar 25, 2024 · Updated May 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-edge Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-kvm Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lts-xenial Package: linux-nvidia-6.2 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-vmware Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

btrfs: do not BUG_ON in link_to_fixup_dir

While doing error injection testing I got the following panic

kernel BUG at fs/btrfs/tree-log.c:1862!
invalid opcode: 0000 [#1] SMP NOPTI
CPU: 1 PID: 7836 Comm: mount Not tainted 5.13.0-rc1+ #305
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-2.fc32 04/01/2014
RIP: 0010:link_to_fixup_dir+0xd5/0xe0
RSP: 0018:ffffb5800180fa30 EFLAGS: 00010216
RAX: fffffffffffffffb RBX: 00000000fffffffb RCX: ffff8f595287faf0
RDX: ffffb5800180fa37 RSI: ffff8f5954978800 RDI: 0000000000000000
RBP: ffff8f5953af9450 R08: 0000000000000019 R09: 0000000000000001
R10: 000151f408682970 R11: 0000000120021001 R12: ffff8f5954978800
R13: ffff8f595287faf0 R14: ffff8f5953c77dd0 R15: 0000000000000065
FS: 00007fc5284c8c40(0000) GS:ffff8f59bbd00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fc5287f47c0 CR3: 000000011275e002 CR4: 0000000000370ee0
Call Trace:
replay_one_buffer+0x409/0x470
? btree_read_extent_buffer_pages+0xd0/0x110
walk_up_log_tree+0x157/0x1e0
walk_log_tree+0xa6/0x1d0
btrfs_recover_log_trees+0x1da/0x360
? replay_one_extent+0x7b0/0x7b0
open_ctree+0x1486/0x1720
btrfs_mount_root.cold+0x12/0xea
? __kmalloc_track_caller+0x12f/0x240
legacy_get_tree+0x24/0x40
vfs_get_tree+0x22/0xb0
vfs_kern_mount.part.0+0x71/0xb0
btrfs_mount+0x10d/0x380
? vfs_parse_fs_string+0x4d/0x90
legacy_get_tree+0x24/0x40
vfs_get_tree+0x22/0xb0
path_mount+0x433/0xa10
__x64_sys_mount+0xe3/0x120
do_syscall_64+0x3d/0x80
entry_SYSCALL_64_after_hwframe+0x44/0xae

We can get -EIO or any number of legitimate errors from
btrfs_search_slot(), panicing here is not the appropriate response. The
error path for this code handles errors properly, simply return the
error.

Affected products

VendorProductAffectedFixed
Linux Linux 2.6.29 4.4.271

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 5.14.6-1 —
Debian 13 linux 5.14.6-1 —
Debian 12 linux 5.14.6-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux-riscv +22 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-80.90 —
Ubuntu 20.04 LTS linux-aws 5.4.0-1054.57 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1055.57 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1016.19 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1049.53 —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop 5.4.0-1021.22 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1044.46 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1052.56 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1041.45 —
Ubuntu 18.04 LTS linux 4.15.0-151.157 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1109.116 —
Ubuntu 18.04 LTS linux-aws-5.4 5.4.0-1054.57~18.04.1 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1121.134 —
Ubuntu 18.04 LTS linux-azure-5.4 5.4.0-1055.57~18.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1106.120 —
Ubuntu 18.04 LTS linux-gcp-5.4 5.4.0-1049.53~18.04.1 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-80.90~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1097.99 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1078.86 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1052.56~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1041.45~18.04.1 —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1069.73+fips2 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1073.76+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1031.36 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1067.71~20.04.1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2051.53 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2033.37 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1066.75 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2016.18 —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips 4.4.0-1123.130 USN-8143-2
Ubuntu Pro 16.04 LTS linux 4.4.0-279.313 USN-8143-1
Ubuntu Pro 16.04 LTS linux-aws 4.4.0-1191.206 USN-8143-1
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1109.116~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1121.134~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1106.120~16.04.1 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-151.157~16.04.1 —
Ubuntu Pro 16.04 LTS linux-kvm 4.4.0-1154.165 USN-8143-1
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1078.86~16.04.1 —
Ubuntu Pro 14.04 LTS linux No fix yet —
Ubuntu Pro 14.04 LTS linux-aws 4.4.0-1153.159 USN-8143-1
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1121.134~14.04.1 —
Ubuntu Pro 14.04 LTS linux-lts-xenial 4.4.0-279.313~14.04.1 USN-8143-1
ReleasePackageFixed inAdvisory
SLES 12 SP5 kernel-azure +2 4.12.14-16.194.1 SUSE-SU-2024:2901-1
SLES 12 SP5 kernel-docs +4 4.12.14-122.222.1 SUSE-SU-2024:2561-1
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 12 SP5 kernel-azure +2 4.12.14-16.194.1 SUSE-SU-2024:2901-1
SLES for SAP 12 SP5 kernel-syms +2 4.12.14-122.222.1 SUSE-SU-2024:2561-1
SLE Real Time 12 SP5 kernel-rt +3 4.12.14-10.194.1 SUSE-SU-2024:2493-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.222.1 SUSE-SU-2024:2561-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_58 1-8.3.1 SUSE-SU-2024:2561-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 kernel-livepatch-4.14.238-182.421 1.0-0.amzn2 ALAS2-2021-1685
Amazon Linux 2 perf +8 4.14.238-182.421.amzn2 ALAS2-2021-1685

Advisories 7

References