Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2022-50549— dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于shrinker_rwsem和dm_pool_abort_metadata之间的ABBA死锁,可能导致系统挂起。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.15% · P4

Affected Version Matrix 14

VendorProduct Version RangeStatus
Linux Linux e49e582965b3694f07a106adc83ddb44aa4f0890< 200aa33b5d781e7c0fa6c0c7db9dbcc3f574ce8f affected
e49e582965b3694f07a106adc83ddb44aa4f0890< 7e37578069737b04955c71dd85db8a3bc2709eff affected
e49e582965b3694f07a106adc83ddb44aa4f0890< f8c26c33fef588ee54852cffa7cbb9f9d9869405 affected
e49e582965b3694f07a106adc83ddb44aa4f0890< 2d891cc5a1706b6908bceb56af7176a463ee6d62 affected
e49e582965b3694f07a106adc83ddb44aa4f0890< cdf7a39bcc427febbfe3c3b9fe829825ead96c27 affected
e49e582965b3694f07a106adc83ddb44aa4f0890< 8111964f1b8524c4bb56b02cd9c7a37725ea21fd affected
3.6 affected
< 3.6 unaffected
… +6 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2022-50549

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata Following concurrent processes: P1(drop cache) P2(kworker) drop_caches_sysctl_handler drop_slab shrink_slab down_read(&shrinker_rwsem) - LOCK A do_shrink_slab super_cache_scan prune_icache_sb dispose_list evict ext4_evict_inode ext4_clear_inode ext4_discard_preallocations ext4_mb_load_buddy_gfp ext4_mb_init_cache ext4_read_block_bitmap_nowait ext4_read_bh_nowait submit_bh dm_submit_bio do_worker process_deferred_bios commit metadata_operation_failed dm_pool_abort_metadata down_write(&pmd->root_lock) - LOCK B __destroy_persistent_data_objects dm_block_manager_destroy dm_bufio_client_destroy unregister_shrinker down_write(&shrinker_rwsem) thin_map | dm_thin_find_block ↓ down_read(&pmd->root_lock) --> ABBA deadlock , which triggers hung task: [ 76.974820] INFO: task kworker/u4:3:63 blocked for more than 15 seconds. [ 76.976019] Not tainted 6.1.0-rc4-00011-g8f17dd350364-dirty #910 [ 76.978521] task:kworker/u4:3 state:D stack:0 pid:63 ppid:2 [ 76.978534] Workqueue: dm-thin do_worker [ 76.978552] Call Trace: [ 76.978564] __schedule+0x6ba/0x10f0 [ 76.978582] schedule+0x9d/0x1e0 [ 76.978588] rwsem_down_write_slowpath+0x587/0xdf0 [ 76.978600] down_write+0xec/0x110 [ 76.978607] unregister_shrinker+0x2c/0xf0 [ 76.978616] dm_bufio_client_destroy+0x116/0x3d0 [ 76.978625] dm_block_manager_destroy+0x19/0x40 [ 76.978629] __destroy_persistent_data_objects+0x5e/0x70 [ 76.978636] dm_pool_abort_metadata+0x8e/0x100 [ 76.978643] metadata_operation_failed+0x86/0x110 [ 76.978649] commit+0x6a/0x230 [ 76.978655] do_worker+0xc6e/0xd90 [ 76.978702] process_one_work+0x269/0x630 [ 76.978714] worker_thread+0x266/0x630 [ 76.978730] kthread+0x151/0x1b0 [ 76.978772] INFO: task test.sh:2646 blocked for more than 15 seconds. [ 76.979756] Not tainted 6.1.0-rc4-00011-g8f17dd350364-dirty #910 [ 76.982111] task:test.sh state:D stack:0 pid:2646 ppid:2459 [ 76.982128] Call Trace: [ 76.982139] __schedule+0x6ba/0x10f0 [ 76.982155] schedule+0x9d/0x1e0 [ 76.982159] rwsem_down_read_slowpath+0x4f4/0x910 [ 76.982173] down_read+0x84/0x170 [ 76.982177] dm_thin_find_block+0x4c/0xd0 [ 76.982183] thin_map+0x201/0x3d0 [ 76.982188] __map_bio+0x5b/0x350 [ 76.982195] dm_submit_bio+0x2b6/0x930 [ 76.982202] __submit_bio+0x123/0x2d0 [ 76.982209] submit_bio_noacct_nocheck+0x101/0x3e0 [ 76.982222] submit_bio_noacct+0x389/0x770 [ 76.982227] submit_bio+0x50/0xc0 [ 76.982232] submit_bh_wbc+0x15e/0x230 [ 76.982238] submit_bh+0x14/0x20 [ 76.982241] ext4_read_bh_nowait+0xc5/0x130 [ 76.982247] ext4_read_block_bitmap_nowait+0x340/0xc60 [ 76.982254] ext4_mb_init_cache+0x1ce/0xdc0 [ 76.982259] ext4_mb_load_buddy_gfp+0x987/0xfa0 [ 76.982263] ext4_discard_preallocations+0x45d/0x830 [ 76.982274] ext4_clear_inode+0x48/0xf0 [ 76.982280] ext4_evict_inode+0xcf/0xc70 [ 76.982285] evict+0x119/0x2b0 [ 76.982290] dispose_list+0x43/0xa0 [ 76.982294] prune_icache_sb+0x64/0x90 [ 76.982298] super_cache_scan+0x155/0x210 [ 76.982303] do_shrink_slab+0x19e/0x4e0 [ 76.982310] shrink_slab+0x2bd/0x450 [ 76.982317] drop_slab+0xcc/0x1a0 [ 76.982323] drop_caches_sysctl_handler+0xb7/0xe0 [ 76.982327] proc_sys_call_handler+0x1bc/0x300 [ 76.982331] proc_sys_write+0x17/0x20 [ 76.982334] vfs_write+0x3d3/0x570 [ 76.982342] ksys_write+0x73/0x160 [ 76.982347] __x64_sys_write+0x1e/0x30 [ 76.982352] do_syscall_64+0x35/0x80 [ 76.982357] entry_SYSCALL_64_after_hwframe+0x63/0xcd Funct ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于shrinker_rwsem和dm_pool_abort_metadata之间的ABBA死锁,可能导致系统挂起。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux e49e582965b3694f07a106adc83ddb44aa4f0890 ~ 200aa33b5d781e7c0fa6c0c7db9dbcc3f574ce8f -
Linux Linux 3.6 -

II. Public POCs for CVE-2022-50549

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-50549

请登录查看更多情报信息。

Patches & Fixes for CVE-2022-50549 (6)

Same Patch Batch · Linux · 2025-10-07 · 118 CVEs total

CVE-2023-53629 9.8 CRITICAL fs: dlm: fix use after free in midcomms commit
CVE-2023-53630 8.8 HIGH iommufd: Fix unpinning of pages when an access is present
CVE-2023-53676 8.8 HIGH scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
CVE-2023-53675 8.8 HIGH scsi: ses: Fix possible desc_ptr out-of-bounds accesses
CVE-2023-53673 8.8 HIGH Bluetooth: hci_event: call disconnect callback before deleting conn
CVE-2023-53679 8.3 HIGH wifi: mt7601u: fix an integer underflow
CVE-2023-53635 8.2 HIGH netfilter: conntrack: fix wrong ct->timeout value
CVE-2022-50555 7.8 HIGH tipc: fix a null-ptr-deref in tipc_topsrv_accept
CVE-2023-53659 7.8 HIGH iavf: Fix out-of-bounds when setting channels on remove
CVE-2023-53619 7.8 HIGH netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
CVE-2023-53660 7.8 HIGH bpf, cpumap: Handle skb as well when clean up ptr_ring
CVE-2023-53643 7.8 HIGH nvme-tcp: don't access released socket during error recovery
CVE-2023-53645 7.8 HIGH bpf: Make bpf_refcount_acquire fallible for non-owning refs
CVE-2023-53646 7.8 HIGH drm/i915/perf: add sentinel to xehp_oa_b_counters
CVE-2023-53669 7.8 HIGH tcp: fix skb_copy_ubufs() vs BIG TCP
CVE-2023-53626 7.8 HIGH ext4: fix possible double unlock when moving a directory
CVE-2023-53627 7.8 HIGH scsi: hisi_sas: Grab sas_dev lock when traversing the members of sas_dev.list
CVE-2022-50528 7.8 HIGH drm/amdkfd: Fix memory leakage
CVE-2023-53683 7.8 HIGH fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
CVE-2022-50518 7.8 HIGH parisc: Fix locking in pdc_iodc_print() firmware call

Showing top 20 of 118 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2022-50549

No comments yet


Leave a comment