CVE-2026-31741 PUBLISHED

counter: rz-mtu3-cnt: prevent counter from being toggled multiple times

Assigner: Linux
Reserved: 09.03.2026 Published: 01.05.2026 Updated: 01.05.2026

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

counter: rz-mtu3-cnt: prevent counter from being toggled multiple times

Runtime PM counter is incremented / decremented each time the sysfs enable file is written to.

If user writes 0 to the sysfs enable file multiple times, runtime PM usage count underflows, generating the following message.

rz-mtu3-counter rz-mtu3-counter.0: Runtime PM usage count underflow!

At the same time, hardware registers end up being accessed with clocks off in rz_mtu3_terminate_counter() to disable an already disabled channel.

If user writes 1 to the sysfs enable file multiple times, runtime PM usage count will be incremented each time, requiring the same number of 0 writes to get it back to 0.

If user writes 0 to the sysfs enable file while PWM is in progress, PWM is stopped without counter being the owner of the underlying MTU3 channel.

Check against the cached count_is_enabled value and exit if the user is trying to set the same enable value.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 0be8907359df4c62319f5cb2c6981ff0d9ebf35a to 885aa739a07ab45e90dfa997205acec97979ce4e (excl.)
  • affected from 0be8907359df4c62319f5cb2c6981ff0d9ebf35a to ced8b48420eddb1251f93c22dc23fa136490b3cd (excl.)
  • affected from 0be8907359df4c62319f5cb2c6981ff0d9ebf35a to e07237df8538b0ae98dce112e4f6db093d767f80 (excl.)
  • affected from 0be8907359df4c62319f5cb2c6981ff0d9ebf35a to f5f6f06d7e6d262026578b59ba7426eb04acce5d (excl.)
  • affected from 0be8907359df4c62319f5cb2c6981ff0d9ebf35a to 67c3f99bed6f422ba343d2b70a2eeeccdfd91bef (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.4 is affected
  • unaffected from 0 to 6.4 (excl.)
  • unaffected from 6.6.134 to 6.6.* (incl.)
  • unaffected from 6.12.81 to 6.12.* (incl.)
  • unaffected from 6.18.22 to 6.18.* (incl.)
  • unaffected from 6.19.12 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References