CVE: CVE-2022-48903
Published: 2024-08-22
Description: In the Linux kernel, the following vulnerability has been resolved:

btrfs: fix relocation crash due to premature return from btrfs_commit_transaction()

We are seeing crashes similar to the following trace:

[38.969182] WARNING: CPU: 20 PID: 2105 at fs/btrfs/relocation.c:4070 btrfs_relocate_block_group+0x2dc/0x340 [btrfs]
[38.973556] CPU: 20 PID: 2105 Comm: btrfs Not tainted 5.17.0-rc4 #54
[38.974580] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[38.976539] RIP: 0010:btrfs_relocate_block_group+0x2dc/0x340 [btrfs]
[38.980336] RSP: 0000:ffffb0dd42e03c20 EFLAGS: 00010206
[38.981218] RAX: ffff96cfc4ede800 RBX: ffff96cfc3ce0000 RCX:[PII_REDACTED]02ca14
[38.982560] RDX: [PII_REDACTED] RSI: 4cfd109a0bcb5d7f RDI: ffff96cfc3ce0360
[38.983619] RBP: ffff96cfc309c000 R08: [PII_REDACTED] R09: [PII_REDACTED]
[38.984678] R10: ffff96cec0000001 R11: ffffe84c80000000 R12: ffff96cfc4ede800
[38.985735] R13: [PII_REDACTED] R14: [PII_REDACTED] R15: ffff96cfc3ce0360
[38.987146] FS:  00007f11c15218c0(0000) GS:ffff96d6dfb00000(0000) knlGS:[PII_REDACTED]
[38.988662] CS:  0010 DS: 0000 ES: 0000 CR0: [PII_REDACTED]
[38.989398] CR2: 00007ffc922c8e60 CR3:[PII_REDACTED]7a6001 CR4:[PII_REDACTED]370ee0
[38.990279] DR0: [PII_REDACTED] DR1: [PII_REDACTED] DR2: [PII_REDACTED]
[38.991219] DR3: [PII_REDACTED] DR6: 00000000fffe0ff0 DR7: [PII_REDACTED]
[38.992528] Call Trace:
[38.992854]  <TASK>
[38.993148]  btrfs_relocate_chunk+0x27/0xe0 [btrfs]
[38.993941]  btrfs_balance+0x78e/0xea0 [btrfs]
[38.994801]  ? vsnprintf+0x33c/0x520
[38.995368]  ? __kmalloc_track_caller+0x351/0x440
[38.996198]  btrfs_ioctl_balance+0x2b9/0x3a0 [btrfs]
[38.997084]  btrfs_ioctl+0x11b0/0x2da0 [btrfs]
[38.997867]  ? mod_objcg_state+0xee/0x340
[38.998552]  ? seq_release+0x24/0x30
[38.999184]  ? proc_nr_files+0x30/0x30
[38.999654]  ? call_rcu+0xc8/0x2f0
[39.000228]  ? __x64_sys_ioctl+0x84/0xc0
[39.000872]  ? btrfs_ioctl_get_supported_features+0x30/0x30 [btrfs]
[39.001973]  __x64_sys_ioctl+0x84/0xc0
[39.002566]  do_syscall_64+0x3a/0x80
[39.003011]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[39.003735] RIP: 0033:0x7f11c166959b
[39.007324] RSP: 002b:00007fff2543e998 EFLAGS: 00000246 ORIG_RAX: [PII_REDACTED]
[39.008521] RAX: ffffffffffffffda RBX: 00007f11c1521698 RCX: 00007f11c166959b
[39.009833] RDX: 00007fff2543ea40 RSI: 00000000c4009420 RDI: [PII_REDACTED]
[39.011270] RBP: [PII_REDACTED] R08: [PII_REDACTED] R09: 00007f11c16f94e0
[39.012581] R10: [PII_REDACTED] R11: [PII_REDACTED] R12: 00007fff25440df3
[39.014046] R13: [PII_REDACTED] R14: 00007fff2543ea40 R15: [PII_REDACTED]
[39.015040]  </TASK>
[39.015418] ---[ end trace [PII_REDACTED] ]---
[43.131559] ------------[ cut here ]------------
[43.132234] kernel BUG at fs/btrfs/extent-tree.c:2717!
[43.133031] invalid opcode: 0000 [#1] PREEMPT SMP PTI
[43.133702] CPU: 1 PID: 1839 Comm: btrfs Tainted: G        W         5.17.0-rc4 #54
[43.134863] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[43.136426] RIP: 0010:unpin_extent_range+0x37a/0x4f0 [btrfs]
[43.139913] RSP: 0000:ffffb0dd4216bc70 EFLAGS: 00010246
[43.140629] RAX: [PII_REDACTED] RBX: ffff96cfc34490f8 RCX: [PII_REDACTED]
[43.141604] RDX: [PII_REDACTED] RSI:[PII_REDACTED]d00000 RDI: 00000000ffffffff
[43.142645] RBP: [PII_REDACTED] R08: [PII_REDACTED] R09: ffff96cfd07dca50
[43.143669] R10: ffff96cfc46e8a00 R11: fffffffffffec000 R12:[PII_REDACTED]d00000
[43.144657] R13: ffff96cfc3ce0000 R14: ffffb0dd4216bd08 R15: [PII_REDACTED]
[43.145686] FS:  00007f7657dd68c0(0000) GS:ffff96d6df640000(0000) knlGS:[PII_REDACTED]
[43.146808] CS:  0010 DS: 0000 ES: 0000 CR0: [PII_REDACTED]
[43.147584] CR2: 00007f7fe81bf5b0 CR3:[PII_REDACTED]3ee004 CR4:[PII_REDACTED]370ee0
[43.148589] DR0: [PII_REDACTED] DR1: [PII_REDACTED] DR2: [PII_REDACTED]
[43.149581] DR3: [PII_REDACTED] DR6: 00000000fffe0ff0 DR7:[PII_REDACTED]0
---truncated---
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/5fd76bf31ccfecc06e2e6b29f8c809e934085b99; https://git.kernel.org/stable/c/725a6ac389b182261af174176e561a36b0f39ffc; https://git.kernel.org/stable/c/a4378947ae39f08c6ae4c6a87ccdebc981a7bbcb