CVE-2026-23055: i2c: riic: Move suspend handling to NOIRQ phase

Published Feb 4, 2026
·
Updated

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

i2c: riic: Move suspend handling to NOIRQ phase

Commit 53326135d0e0 ("i2c: riic: Add suspend/resume support") added suspend support for the Renesas I2C driver and following this change on RZ/G3E the following WARNING is seen on entering suspend ...

[ 134.275704] Freezing remaining freezable tasks completed (elapsed 0.001 seconds) [ 134.285536] ------------[ cut here ]------------ [ 134.290298] i2c i2c-2: Transfer while suspended [ 134.295174] WARNING: drivers/i2c/i2c-core.h:56 at i2csmbusxfer+0x1e4/0x214, CPU#0: systemd-sleep/388 [ 134.365507] Tainted: [W]=WARN [ 134.368485] Hardware name: Renesas SMARC EVK version 2 based on r9a09g047e57 (DT) [ 134.375961] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 134.382935] pc : i2csmbusxfer+0x1e4/0x214 [ 134.387329] lr : i2csmbusxfer+0x1e4/0x214 [ 134.391717] sp : ffff800083f23860 [ 134.395040] x29: ffff800083f23860 x28: 0000000000000000 x27: ffff800082ed5d60 [ 134.402226] x26: 0000001f4395fd74 x25: 0000000000000007 x24: 0000000000000001 [ 134.409408] x23: 0000000000000000 x22: 000000000000006f x21: ffff800083f23936 [ 134.416589] x20: ffff0000c090e140 x19: ffff0000c090e0d0 x18: 0000000000000006 [ 134.423771] x17: 6f63657320313030 x16: 2e30206465737061 x15: ffff800083f23280 [ 134.430953] x14: 0000000000000000 x13: ffff800082b16ce8 x12: 0000000000000f09 [ 134.438134] x11: 0000000000000503 x10: ffff800082b6ece8 x9 : ffff800082b16ce8 [ 134.445315] x8 : 00000000ffffefff x7 : ffff800082b6ece8 x6 : 80000000fffff000 [ 134.452495] x5 : 0000000000000504 x4 : 0000000000000000 x3 : 0000000000000000 [ 134.459672] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c9ee9e80 [ 134.466851] Call trace: [ 134.469311] i2csmbusxfer+0x1e4/0x214 (P) [ 134.473715] i2csmbusxfer+0xbc/0x120 [ 134.477507] i2csmbusreadbytedata+0x4c/0x84 [ 134.482077] isl1208i2creadtime+0x44/0x178 [rtcisl1208] [ 134.487703] isl1208rtcreadtime+0x14/0x20 [rtcisl1208] [ 134.493226] rtcreadtime+0x44/0x88 [ 134.497012] rtcreadtime+0x3c/0x68 [ 134.500622] rtcsuspend+0x9c/0x170

The warning is triggered because I2C transfers can still be attempted while the controller is already suspended, due to inappropriate ordering of the system sleep callbacks.

If the controller is autosuspended, there is no way to wake it up once runtime PM disabled (in suspendlate()). During system resume, the I2C controller will be available only after runtime PM is re-enabled (in resumeearly()). However, this may be too late for some devices.

Wake up the controller in the suspend() callback while runtime PM is still enabled. The I2C controller will remain available until the suspendnoirq() callback (pmruntimeforcesuspend()) is called. During resume, the I2C controller can be restored by the resumenoirq() callback (pmruntimeforceresume()). Finally, the resume() callback re-enables autosuspend. As a result, the I2C controller can remain available until the system enters suspendnoirq() and from resumenoirq().

Affected Software

2 affected componentsFixes available
linux/kernel
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
  2. Compensating control

    Wake up the Renesas I2C controller in the suspend() callback while runtime PM is still enabled, moving suspend handling to the NOIRQ phase to prevent I2C transfers while the controller is suspended.

Event History

Feb 4, 2026
CVE Published
via MITRE·04:04 PM
Data Sourced
via MITRE·04:04 PM
Description
Data Sourced
via NVD·05:16 PM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

Which systems are most likely to encounter this issue?

The reported warning occurs on Renesas RZ/G3E hardware using the Renesas RIIC I2C driver during system suspend. The example system is a Renesas SMARC EVK based on r9a09g047e57.

2

When does the issue manifest?

It manifests while entering suspend, after freezable tasks have been frozen, when an I2C SMBus transfer is attempted while the I2C bus is suspended. The observed result is a kernel WARNING reporting "Transfer while suspended."

3

How can I determine whether a system is affected?

Check kernel logs during suspend for an I2C warning containing "Transfer while suspended" and a stack trace through __i2c_smbus_xfer. The report identifies the affected bus as i2c-2 in the example, but the relevant indicator is use of the RIIC driver during suspend.

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