Logo
-

Byte Open Security

(ByteOS Network)

Log In

Sign Up

ByteOS

Security
Vulnerability Details
Registries
Custom Views
Weaknesses
Attack Patterns
Filters & Tools
CVE Vulnerability Details :
CVE-2021-46938
PUBLISHED
More InfoOfficial Page
Assigner-Linux
Assigner Org ID-416baaa9-dc9f-4396-8d5f-8c081fb06d67
View Known Exploited Vulnerability (KEV) details
Published At-27 Feb, 2024 | 18:40
Updated At-04 May, 2025 | 07:00
Rejected At-
▼CVE Numbering Authority (CNA)
dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails

In the Linux kernel, the following vulnerability has been resolved: dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails When loading a device-mapper table for a request-based mapped device, and the allocation/initialization of the blk_mq_tag_set for the device fails, a following device remove will cause a double free. E.g. (dmesg): device-mapper: core: Cannot initialize queue for request-based dm-mq mapped device device-mapper: ioctl: unable to set up device queue for new table. Unable to handle kernel pointer dereference in virtual kernel address space Failing address: 0305e098835de000 TEID: 0305e098835de803 Fault in home space mode while using kernel ASCE. AS:000000025efe0007 R3:0000000000000024 Oops: 0038 ilc:3 [#1] SMP Modules linked in: ... lots of modules ... Supported: Yes, External CPU: 0 PID: 7348 Comm: multipathd Kdump: loaded Tainted: G W X 5.3.18-53-default #1 SLE15-SP3 Hardware name: IBM 8561 T01 7I2 (LPAR) Krnl PSW : 0704e00180000000 000000025e368eca (kfree+0x42/0x330) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3 Krnl GPRS: 000000000000004a 000000025efe5230 c1773200d779968d 0000000000000000 000000025e520270 000000025e8d1b40 0000000000000003 00000007aae10000 000000025e5202a2 0000000000000001 c1773200d779968d 0305e098835de640 00000007a8170000 000003ff80138650 000000025e5202a2 000003e00396faa8 Krnl Code: 000000025e368eb8: c4180041e100 lgrl %r1,25eba50b8 000000025e368ebe: ecba06b93a55 risbg %r11,%r10,6,185,58 #000000025e368ec4: e3b010000008 ag %r11,0(%r1) >000000025e368eca: e310b0080004 lg %r1,8(%r11) 000000025e368ed0: a7110001 tmll %r1,1 000000025e368ed4: a7740129 brc 7,25e369126 000000025e368ed8: e320b0080004 lg %r2,8(%r11) 000000025e368ede: b904001b lgr %r1,%r11 Call Trace: [<000000025e368eca>] kfree+0x42/0x330 [<000000025e5202a2>] blk_mq_free_tag_set+0x72/0xb8 [<000003ff801316a8>] dm_mq_cleanup_mapped_device+0x38/0x50 [dm_mod] [<000003ff80120082>] free_dev+0x52/0xd0 [dm_mod] [<000003ff801233f0>] __dm_destroy+0x150/0x1d0 [dm_mod] [<000003ff8012bb9a>] dev_remove+0x162/0x1c0 [dm_mod] [<000003ff8012a988>] ctl_ioctl+0x198/0x478 [dm_mod] [<000003ff8012ac8a>] dm_ctl_ioctl+0x22/0x38 [dm_mod] [<000000025e3b11ee>] ksys_ioctl+0xbe/0xe0 [<000000025e3b127a>] __s390x_sys_ioctl+0x2a/0x40 [<000000025e8c15ac>] system_call+0xd8/0x2c8 Last Breaking-Event-Address: [<000000025e52029c>] blk_mq_free_tag_set+0x6c/0xb8 Kernel panic - not syncing: Fatal exception: panic_on_oops When allocation/initialization of the blk_mq_tag_set fails in dm_mq_init_request_queue(), it is uninitialized/freed, but the pointer is not reset to NULL; so when dev_remove() later gets into dm_mq_cleanup_mapped_device() it sees the pointer and tries to uninitialize and free it again. Fix this by setting the pointer to NULL in dm_mq_init_request_queue() error-handling. Also set it to NULL in dm_mq_cleanup_mapped_device().

Affected Products
Vendor
Linux Kernel Organization, IncLinux
Product
Linux
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Program Files
  • drivers/md/dm-rq.c
Default Status
unaffected
Versions
Affected
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before 8ae0185255eaf05bd66f4215c81e99bf01140fd9 (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before b42c0a33dfdd451d9be62dd5de58c39f2750b6e3 (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before 772b9f59657665af3b68d24d12b9d172d31f0dfb (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before a992a283c0b77d0a7c2c348add0e6a21fb1dab67 (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before 1cb02dc76f4c0a2749a02b26469512d6984252e9 (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before 6086f957416a6e87236c06079fcaba7a3998aeca (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before d757bf4c69cda3c3ab7f775dfabbf5a80e2f6f9d (git)
  • From 1c357a1e86a4227a6b6059f2de118ae47659cebc before 8e947c8f4a5620df77e43c9c75310dc510250166 (git)
Vendor
Linux Kernel Organization, IncLinux
Product
Linux
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Program Files
  • drivers/md/dm-rq.c
Default Status
affected
Versions
Affected
  • 4.6
Unaffected
  • From 0 before 4.6 (semver)
  • From 4.9.269 through 4.9.* (semver)
  • From 4.14.233 through 4.14.* (semver)
  • From 4.19.191 through 4.19.* (semver)
  • From 5.4.118 through 5.4.* (semver)
  • From 5.10.36 through 5.10.* (semver)
  • From 5.11.20 through 5.11.* (semver)
  • From 5.12.3 through 5.12.* (semver)
  • From 5.13 through * (original_commit_for_fix)
Metrics
VersionBase scoreBase severityVector
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

Credits

Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
https://git.kernel.org/stable/c/8ae0185255eaf05bd66f4215c81e99bf01140fd9
N/A
https://git.kernel.org/stable/c/b42c0a33dfdd451d9be62dd5de58c39f2750b6e3
N/A
https://git.kernel.org/stable/c/772b9f59657665af3b68d24d12b9d172d31f0dfb
N/A
https://git.kernel.org/stable/c/a992a283c0b77d0a7c2c348add0e6a21fb1dab67
N/A
https://git.kernel.org/stable/c/1cb02dc76f4c0a2749a02b26469512d6984252e9
N/A
https://git.kernel.org/stable/c/6086f957416a6e87236c06079fcaba7a3998aeca
N/A
https://git.kernel.org/stable/c/d757bf4c69cda3c3ab7f775dfabbf5a80e2f6f9d
N/A
https://git.kernel.org/stable/c/8e947c8f4a5620df77e43c9c75310dc510250166
N/A
▼Authorized Data Publishers (ADP)
1. CISA ADP Vulnrichment
Affected Products
Metrics
VersionBase scoreBase severityVector
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

Credits

Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
2. CVE Program Container
Affected Products
Metrics
VersionBase scoreBase severityVector
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

Credits

Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
https://git.kernel.org/stable/c/8ae0185255eaf05bd66f4215c81e99bf01140fd9
x_transferred
https://git.kernel.org/stable/c/b42c0a33dfdd451d9be62dd5de58c39f2750b6e3
x_transferred
https://git.kernel.org/stable/c/772b9f59657665af3b68d24d12b9d172d31f0dfb
x_transferred
https://git.kernel.org/stable/c/a992a283c0b77d0a7c2c348add0e6a21fb1dab67
x_transferred
https://git.kernel.org/stable/c/1cb02dc76f4c0a2749a02b26469512d6984252e9
x_transferred
https://git.kernel.org/stable/c/6086f957416a6e87236c06079fcaba7a3998aeca
x_transferred
https://git.kernel.org/stable/c/d757bf4c69cda3c3ab7f775dfabbf5a80e2f6f9d
x_transferred
https://git.kernel.org/stable/c/8e947c8f4a5620df77e43c9c75310dc510250166
x_transferred
Details not found