CVE-2026-90195: riscv, bpf: Fix missing sign-ext for signed 1-byte and 2-byte kfunc args

Published Sep 17, 2026
·
Updated

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

riscv, bpf: Fix missing sign-ext for signed 1-byte and 2-byte kfunc args

On RV64, the ABI requires sign-extension for signed 1-byte and 2-byte kfunc args. However, the RV64 JIT currently does not perform sign-extension for such kfunc args.

Before commit 7ce090afbf72 ("bpf: Infer zextdst based on static register liveness analysis"), state pruning could potentially omit zero-extension of 32-bit subregisters, which inadvertently masked the above issue by making the args appear as if they had been properly sign-extended. After that commit, the problem is exposed, causing the kfunccall/kfunccalltest4 selftest to fail.

Fix this by extending the existing sign-extension logic to handle signed 1-byte and 2-byte kfunc args as well.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade riscv, bpf to a version that resolves this vulnerability.

    Patch riscv, bpf: Fix missing sign-ext for signed 1-byte and 2-byte kfunc args

Event History

Sep 17, 2026
CVE Published
via MITRE·04:07 PM
Data Sourced
via MITRE·04:07 PM
Description

Frequently Asked Questions

1

Which systems are affected by this issue?

The issue affects Linux systems using the RV64 RISC-V BPF JIT and kfunc calls with signed 1-byte or 2-byte arguments. The provided information does not identify affected kernel versions or configurations beyond that.

2

What conditions are needed to trigger the problem?

A BPF program must make a kfunc call that passes signed 1-byte or 2-byte arguments on RV64. The JIT's failure to sign-extend those arguments violates the RV64 ABI.

3

How can I determine whether the issue is present?

The kfunc_call/kfunc_call_test4 selftest fails when the issue is exposed. The description notes that the behavior became exposed after commit 7ce090afbf72, which changed zero-extension inference through static register liveness analysis.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203