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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2023-53231— erofs: Fix detection of atomic context

EPSS 0.03% · P7
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2023-53231

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
erofs: Fix detection of atomic context
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: erofs: Fix detection of atomic context Current check for atomic context is not sufficient as z_erofs_decompressqueue_endio can be called under rcu lock from blk_mq_flush_plug_list(). See the stacktrace [1] In such case we should hand off the decompression work for async processing rather than trying to do sync decompression in current context. Patch fixes the detection by checking for rcu_read_lock_any_held() and while at it use more appropriate !in_task() check than in_atomic(). Background: Historically erofs would always schedule a kworker for decompression which would incur the scheduling cost regardless of the context. But z_erofs_decompressqueue_endio() may not always be in atomic context and we could actually benefit from doing the decompression in z_erofs_decompressqueue_endio() if we are in thread context, for example when running with dm-verity. This optimization was later added in patch [2] which has shown improvement in performance benchmarks. ============================================== [1] Problem stacktrace [name:core&]BUG: sleeping function called from invalid context at kernel/locking/mutex.c:291 [name:core&]in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1615, name: CpuMonitorServi [name:core&]preempt_count: 0, expected: 0 [name:core&]RCU nest depth: 1, expected: 0 CPU: 7 PID: 1615 Comm: CpuMonitorServi Tainted: G S W OE 6.1.25-android14-5-maybe-dirty-mainline #1 Hardware name: MT6897 (DT) Call trace: dump_backtrace+0x108/0x15c show_stack+0x20/0x30 dump_stack_lvl+0x6c/0x8c dump_stack+0x20/0x48 __might_resched+0x1fc/0x308 __might_sleep+0x50/0x88 mutex_lock+0x2c/0x110 z_erofs_decompress_queue+0x11c/0xc10 z_erofs_decompress_kickoff+0x110/0x1a4 z_erofs_decompressqueue_endio+0x154/0x180 bio_endio+0x1b0/0x1d8 __dm_io_complete+0x22c/0x280 clone_endio+0xe4/0x280 bio_endio+0x1b0/0x1d8 blk_update_request+0x138/0x3a4 blk_mq_plug_issue_direct+0xd4/0x19c blk_mq_flush_plug_list+0x2b0/0x354 __blk_flush_plug+0x110/0x160 blk_finish_plug+0x30/0x4c read_pages+0x2fc/0x370 page_cache_ra_unbounded+0xa4/0x23c page_cache_ra_order+0x290/0x320 do_sync_mmap_readahead+0x108/0x2c0 filemap_fault+0x19c/0x52c __do_fault+0xc4/0x114 handle_mm_fault+0x5b4/0x1168 do_page_fault+0x338/0x4b4 do_translation_fault+0x40/0x60 do_mem_abort+0x60/0xc8 el0_da+0x4c/0xe0 el0t_64_sync_handler+0xd4/0xfc el0t_64_sync+0x1a0/0x1a4 [2] Link: https://lore.kernel.org/all/20210317035448.13921-1-huangjianan@oppo.com/
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于原子上下文检测不足,可能导致在RCU锁下进行同步解压缩。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux aea1286dcbbb87cf33595c2ac8b153c29a4611cb ~ 597fb60c75132719687e173b75cab8f6eb1ca657 -
LinuxLinux 4.19 -

II. Public POCs for CVE-2023-53231

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53231

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-15 · 210 CVEs total

CVE-2022-50293btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range
CVE-2023-53232mt76: mt7921: fix kernel panic by accessing unallocated eeprom.data
CVE-2023-53233net/smc: fix deadlock triggered by cancel_delayed_work_syn()
CVE-2023-53234watchdog: Fix kmemleak in watchdog_cdev_register
CVE-2023-53235drm/tests: helpers: Avoid a driver uaf
CVE-2023-53236iommufd: Do not corrupt the pfn list when doing batch carry
CVE-2023-53237drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini
CVE-2023-53238phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
CVE-2023-53239drm/msm/mdp5: Add check for kzalloc
CVE-2023-53240xsk: check IFF_UP earlier in Tx path
CVE-2023-53241nfsd: call op_release, even when op_func returns an error
CVE-2023-53242thermal/drivers/hisi: Drop second sensor hi3660
CVE-2022-50291kcm: annotate data-races around kcm->rx_psock
CVE-2022-50292drm/msm/dp: fix bridge lifetime
CVE-2022-50303drm/amdkfd: Fix double release compute pasid
CVE-2022-50300btrfs: fix extent map use-after-free when handling missing device in read_one_chunk
CVE-2022-50301iommu/omap: Fix buffer overflow in debugfs
CVE-2022-50302lockd: set other missing fields when unlocking files
CVE-2022-50299md: Replace snprintf with scnprintf
CVE-2022-50304mtd: core: fix possible resource leak in init_mtd()

Showing top 20 of 210 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2023-53231

No comments yet


Leave a comment