---
id: CVE-2026-23217
title: 'riscv: trace: fix snapshot deadlock with sbi ecall'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  riscv: trace: fix snapshot deadlock with sbi ecall

  If sbi_ecall.c's functions are traceable,

  echo "__sbi_ecall:snapshot" > /sys/kernel/tracing/set_ftrace_filter

  may …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f <
    f8b8ec0ddde74066d4452a7a961da544f193e00f
  - >-
    Linux >= 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f <
    b1f8285bc8e3508c1fde23b5205f1270215d4984
  - >-
    Linux >= 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f <
    b0d7f5f0c9f05f1b6d4ee7110f15bef9c11f9df0
  - Linux 82f134ddd4f5da11c277bd1aa02e2a733179725a
  - Linux >= 6.10.10 < 6.11
  - Linux 6.11
published: '2026-02-18'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T12:39:00.498Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-23217'
references:
  - url: 'https://git.kernel.org/stable/c/f8b8ec0ddde74066d4452a7a961da544f193e00f'
  - url: 'https://git.kernel.org/stable/c/b1f8285bc8e3508c1fde23b5205f1270215d4984'
  - url: 'https://git.kernel.org/stable/c/b0d7f5f0c9f05f1b6d4ee7110f15bef9c11f9df0'
tags:
  - cve.org
epss: 0.0014
epssPercentile: 0.03354
ingestedAt: '2026-10-21T12:48:53.669Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

riscv: trace: fix snapshot deadlock with sbi ecall

If sbi_ecall.c's functions are traceable,

echo "__sbi_ecall:snapshot" > /sys/kernel/tracing/set_ftrace_filter

may get the kernel into a deadlock.

(Functions in sbi_ecall.c are excluded from tracing if
CONFIG_RISCV_ALTERNATIVE_EARLY is set.)

__sbi_ecall triggers a snapshot of the ringbuffer. The snapshot code
raises an IPI interrupt, which results in another call to __sbi_ecall
and another snapshot...

All it takes to get into this endless loop is one initial __sbi_ecall.
On RISC-V systems without SSTC extension, the clock events in
timer-riscv.c issue periodic sbi ecalls, making the problem easy to
trigger.

Always exclude the sbi_ecall.c functions from tracing to fix the
potential deadlock.

sbi ecalls can easiliy be logged via trace events, excluding ecall
functions from function tracing is not a big limitation.

## Affected

- `Linux >= 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f < f8b8ec0ddde74066d4452a7a961da544f193e00f`
- `Linux >= 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f < b1f8285bc8e3508c1fde23b5205f1270215d4984`
- `Linux >= 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f < b0d7f5f0c9f05f1b6d4ee7110f15bef9c11f9df0`
- `Linux 82f134ddd4f5da11c277bd1aa02e2a733179725a`
- `Linux >= 6.10.10 < 6.11`
- `Linux 6.11`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
