Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2022-50225

riscv:uprobe fix SR_SPIE set/clear handling

Description

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

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 74784081aac8a0f3636965fc230e2d3b7cc123c6 to < c71e000db8536d27ec410abb3e314896a78b4f19affected
  • 74784081aac8a0f3636965fc230e2d3b7cc123c6 to < 3811d51778900064d27d8c9a98f73410fb3b471daffected
  • 74784081aac8a0f3636965fc230e2d3b7cc123c6 to < 73fc099eaefd9a92c83b6c07dad066411fd5a192affected
  • 74784081aac8a0f3636965fc230e2d3b7cc123c6 to < 3dbe5829408bc1586f75b4667ef60e5aab0209c7affected

Linux Linux

Default version status: affected

  • 5.12affected
  • 0 to < 5.12unaffected
  • 5.15.61 to ≤ 5.15.*unaffected
  • 5.18.18 to ≤ 5.18.*unaffected
  • 5.19.2 to ≤ 5.19.*unaffected
  • 6.0 to ≤ *unaffected

References