![]() |
Home ▼ Bookkeeping
Online ▼ Security
Audits ▼
Managed
DNS ▼
About
Order
FAQ
Acceptable Use Policy
Dynamic DNS Clients
Configure Domains Dyanmic DNS Update Password Network
Monitor ▼
Enterprise Package
Advanced Package
Standard Package
Free Trial
FAQ
Price/Feature Summary
Order/Renew
Examples
Configure/Status Alert Profiles | ||
CVE ID: | CVE-2021-47552 |
Description: | In the Linux kernel, the following vulnerability has been resolved:
blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and
disk_release() For avoiding to slow down queue destroy, we don't call
blk_mq_quiesce_queue() in blk_cleanup_queue(), instead of delaying to
cancel dispatch work in blk_release_queue(). However, this way has
caused kernel oops[1], reported by Changhui. The log shows that
scsi_device can be freed before running blk_release_queue(), which is
expected too since scsi_device is released after the scsi disk is
closed and the scsi_device is removed. Fixes the issue by canceling
blk-mq dispatch work in both blk_cleanup_queue() and disk_release():
1) when disk_release() is run, the disk has been closed, and any sync
dispatch activities have been done, so canceling dispatch work is
enough to quiesce filesystem I/O dispatch activity. 2) in
blk_cleanup_queue(), we only focus on passthrough request, and
passthrough request is always explicitly allocated & freed by its
caller, so once queue is frozen, all sync dispatch activity for
passthrough request has been done, then it is enough to just cancel
dispatch work for avoiding any dispatch activity. [1] kernel panic log
[12622.769416] BUG: kernel NULL pointer dereference, address:
0000000000000300 [12622.777186] #PF: supervisor read access in kernel
mode [12622.782918] #PF: error_code(0x0000) - not-present page
[12622.788649] PGD 0 P4D 0 [12622.791474] Oops: 0000 [#1] PREEMPT SMP
PTI [12622.796138] CPU: 10 PID: 744 Comm: kworker/10:1H Kdump: loaded
Not tainted 5.15.0+ #1 [12622.804877] Hardware name: Dell Inc.
PowerEdge R730/0H21J3, BIOS 1.5.4 10/002/2015 [12622.813321]
Workqueue: kblockd blk_mq_run_work_fn [12622.818572] RIP:
0010:sbitmap_get+0x75/0x190 [12622.823336] Code: 85 80 00 00 00 41 8b
57 08 85 d2 0f 84 b1 00 00 00 45 31 e4 48 63 cd 48 8d 1c 49 48 c1 e3
06 49 03 5f 10 4c 8d 6b 40 83 f0 01 <48> 8b 33 44 89 f2 4c 89 ef 0f b6
c8 e8 fa f3 ff ff 83 f8 ff 75 58 [12622.844290] RSP:
0018:ffffb00a446dbd40 EFLAGS: 00010202 [12622.850120] RAX:
0000000000000001 RBX: 0000000000000300 RCX: 0000000000000004
[12622.858082] RDX: 0000000000000006 RSI: 0000000000000082 RDI:
ffffa0b7a2dfe030 [12622.866042] RBP: 0000000000000004 R08:
0000000000000001 R09: ffffa0b742721334 [12622.874003] R10:
0000000000000008 R11: 0000000000000008 R12: 0000000000000000
[12622.881964] R13: 0000000000000340 R14: 0000000000000000 R15:
ffffa0b7a2dfe030 [12622.889926] FS: 0000000000000000(0000)
GS:ffffa0baafb40000(0000) knlGS:0000000000000000 [12622.898956] CS:
0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [12622.905367] CR2:
0000000000000300 CR3: 0000000641210001 CR4: 00000000001706e0
[12622.913328] Call Trace: [12622.916055] |
Test IDs: | None available |
Cross References: |
Common Vulnerability Exposure (CVE) ID: CVE-2021-47552 https://git.kernel.org/stable/c/2a19b28f7929866e1cec92a3619f4de9f2d20005 https://git.kernel.org/stable/c/2a19b28f7929866e1cec92a3619f4de9f2d20005 https://git.kernel.org/stable/c/e03513f58919d9e2bc6df765ca2c9da863d03d90 https://git.kernel.org/stable/c/e03513f58919d9e2bc6df765ca2c9da863d03d90 |