漏洞标题
SCSI: UFS: 核心: 在ufshcd_remove()期间取消RTC工作
漏洞描述信息
在Linux内核中,已修复了以下漏洞:
scsi: ufs: core: 在ufshcd_remove()中取消RTC工作
当前,RTC工作仅在__ufshcd_wl_suspend()时被取消。当在ufshcd_remove()中移除ufshcd时,RTC工作并未被取消。因此,在ufshcd_remove()之后触发的任何RTC工作都会导致空指针解引用,具体表现为:
无法处理内核空指针解引用,虚拟地址为00000000000002a4
工作队列:events ufshcd_rtc_work
调用跟踪:
_raw_spin_lock_irqsave+0x34/0x8c
pm_runtime_get_if_active+0x24/0xb4
ufshcd_rtc_work+0x124/0x19c
process_scheduled_works+0x18c/0x2d8
worker_thread+0x144/0x280
kthread+0x11c/0x128
ret_from_fork+0x10/0x20
由于RTC工作会访问ufshcd的内部结构,因此在移除ufshcd时应取消RTC工作。因此,在ufshcd_remove()中执行此操作,顺序与ufshcd_init()中的顺序相同。
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
漏洞类别
空指针解引用
漏洞标题
scsi: ufs: core: Cancel RTC work during ufshcd_remove()
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
scsi: ufs: core: Cancel RTC work during ufshcd_remove()
Currently, RTC work is only cancelled during __ufshcd_wl_suspend(). When
ufshcd is removed in ufshcd_remove(), RTC work is not cancelled. Due to
this, any further trigger of the RTC work after ufshcd_remove() would
result in a NULL pointer dereference as below:
Unable to handle kernel NULL pointer dereference at virtual address 00000000000002a4
Workqueue: events ufshcd_rtc_work
Call trace:
_raw_spin_lock_irqsave+0x34/0x8c
pm_runtime_get_if_active+0x24/0xb4
ufshcd_rtc_work+0x124/0x19c
process_scheduled_works+0x18c/0x2d8
worker_thread+0x144/0x280
kthread+0x11c/0x128
ret_from_fork+0x10/0x20
Since RTC work accesses the ufshcd internal structures, it should be cancelled
when ufshcd is removed. So do that in ufshcd_remove(), as per the order in
ufshcd_init().
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于net/ipv6模块中过期异常目的地缓存未释放。
CVSS信息
N/A
漏洞类别
其他