CVE-2022-48922 - QEMU RISC-V Linux Kernel Null Pointer Dereference

CVE ID : CVE-2022-48922 Published : Aug. 22, 2024, 2:15 a.m. | 44 minutes ago Description : In the Linux kernel, the following vulnerability has been resolved: riscv: fix oops caused by irqsoff latency tracer The trace_hardirqs_{on,off}() require the caller to setup frame pointer properly. This because these two functions use macro 'CALLER_ADDR1' (aka. __builtin_return_address(1)) to acquire caller info. If the $fp is used for other purpose, the code generated this macro (as below) could trigger memory access fault. 0xffffffff8011510e : ld a1,-16(s0) 0xffffffff80115112 : ld s2,-8(a1) # ] restore_all+0x12/0x6e This because the $fp(aka. $s0) register is not used as frame pointer in the assembly entry code. resume_kernel: REG_L s0, TASK_TI_PREEMPT_COUNT(tp) bnez s0, restore_all REG_L s0, TASK_TI_FLAGS(tp) andi s0, s0, _TIF_NEED_RESCHED beqz s0, restore_all call preempt_schedule_irq j restore_all To fix above issue, here we add one extra level wrapper for function trace_hardirqs_{on,off}() so they can be safely called by low level entry code. Severity: 0.0 | NA Visit the link for more details, such as CVSS details, affected products, timeline, and more...

Aug 22, 2024 - 05:00
 0  3
CVE-2022-48922 - QEMU RISC-V Linux Kernel Null Pointer Dereference
CVE ID : CVE-2022-48922
Published : Aug. 22, 2024, 2:15 a.m. | 44 minutes ago
Description : In the Linux kernel, the following vulnerability has been resolved: riscv: fix oops caused by irqsoff latency tracer The trace_hardirqs_{on,off}() require the caller to setup frame pointer properly. This because these two functions use macro 'CALLER_ADDR1' (aka. __builtin_return_address(1)) to acquire caller info. If the $fp is used for other purpose, the code generated this macro (as below) could trigger memory access fault. 0xffffffff8011510e : ld a1,-16(s0) 0xffffffff80115112 : ld s2,-8(a1) # ] restore_all+0x12/0x6e This because the $fp(aka. $s0) register is not used as frame pointer in the assembly entry code. resume_kernel: REG_L s0, TASK_TI_PREEMPT_COUNT(tp) bnez s0, restore_all REG_L s0, TASK_TI_FLAGS(tp) andi s0, s0, _TIF_NEED_RESCHED beqz s0, restore_all call preempt_schedule_irq j restore_all To fix above issue, here we add one extra level wrapper for function trace_hardirqs_{on,off}() so they can be safely called by low level entry code.
Severity: 0.0 | NA
Visit the link for more details, such as CVSS details, affected products, timeline, and more...