CVE-2022-50225

In the Linux kernel, the following vulnerability has been resolved: riscv:uprobe fix SR_SPIE set/clear handling In riscv the process of uprobe going to clear spie before exec the origin insn,and set spie after that.But When access the page which origin insn has been placed a page fault may happen and irq was disabled in arch_uprobe_pre_xol function,It cause a WARN as follows. There is no need to clear/set spie in arch_uprobe_pre/post/abort_xol. We can just remove it. [ 31.684157] BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1488 [ 31.684677] in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 76, name: work [ 31.684929] preempt_count: 0, expected: 0 [ 31.685969] CPU: 2 PID: 76 Comm: work Tainted: G [ 31.686542] Hardware name: riscv-virtio,qemu (DT) [ 31.686797] Call Trace: [ 31.687053] [<ffffffff80006442>] dump_backtrace+0x30/0x38 [ 31.687699] [<ffffffff80812118>] show_stack+0x40/0x4c [ 31.688141] [<ffffffff8081817a>] dump_stack_lvl+0x44/0x5c [ 31.688396] [<ffffffff808181aa>] dump_stack+0x18/0x20 [ 31.688653] [<ffffffff8003e454>] __might_resched+0x114/0x122 [ 31.688948] [<ffffffff8003e4b2>] __might_sleep+0x50/0x7a [ 31.689435] [<ffffffff80822676>] down_read+0x30/0x130 [ 31.689728] [<ffffffff8000b650>] do_page_fault+0x166/x446 [ 31.689997] [<ffffffff80003c0c>] ret_from_exception+0x0/0xc
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

19 Nov 2025, 12:58

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: riscv:uprobe fix SR_SPIE set/clear management. En riscv, el proceso de uprobe borra spie antes de ejecutar la instrucción de origen y la configura después. Sin embargo, al acceder a la página donde se ha colocado la instrucción de origen, puede producirse un fallo de página y la función irq se ha deshabilitado en arch_uprobe_pre_xol. Esto genera una advertencia como la siguiente. No es necesario borrar/configurar spie en arch_uprobe_pre/post/abort_xol. Simplemente podemos eliminarlo. [ 31.684157] ERROR: función de suspensión llamada desde un contexto no válido en kernel/locking/rwsem.c:1488 [ 31.684677] in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 76, name: work [ 31.684929] preempt_count: 0, expected: 0 [ 31.685969] CPU: 2 PID: 76 Comm: work Tainted: G [ 31.686542] Nombre del hardware: riscv-virtio,qemu (DT) [ 31.686797] Rastreo de llamadas: [ 31.687053] [] dump_backtrace+0x30/0x38 [ 31.687699] [] show_stack+0x40/0x4c [ 31.688141] [] dump_stack_lvl+0x44/0x5c [ 31.688396] [] dump_stack+0x18/0x20 [ 31.688653] [] __might_resched+0x114/0x122 [ 31.688948] [] __might_sleep+0x50/0x7a [ 31.689435] [] down_read+0x30/0x130 [ 31.689728] [] do_page_fault+0x166/x446 [ 31.689997] [] ret_from_exception+0x0/0xc
References () https://git.kernel.org/stable/c/3811d51778900064d27d8c9a98f73410fb3b471d - () https://git.kernel.org/stable/c/3811d51778900064d27d8c9a98f73410fb3b471d - Patch
References () https://git.kernel.org/stable/c/3dbe5829408bc1586f75b4667ef60e5aab0209c7 - () https://git.kernel.org/stable/c/3dbe5829408bc1586f75b4667ef60e5aab0209c7 - Patch
References () https://git.kernel.org/stable/c/73fc099eaefd9a92c83b6c07dad066411fd5a192 - () https://git.kernel.org/stable/c/73fc099eaefd9a92c83b6c07dad066411fd5a192 - Patch
References () https://git.kernel.org/stable/c/c71e000db8536d27ec410abb3e314896a78b4f19 - () https://git.kernel.org/stable/c/c71e000db8536d27ec410abb3e314896a78b4f19 - Patch
CWE CWE-667
First Time Linux
Linux linux Kernel
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5

18 Jun 2025, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-06-18 11:15

Updated : 2025-11-19 12:58


NVD link : CVE-2022-50225

Mitre link : CVE-2022-50225

CVE.ORG link : CVE-2022-50225


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-667

Improper Locking