← Back to CVE List
CVE-2026-90274NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
coresight: etm4x: fix underflow for usage of (nrseqstate - 1)
According to IHI006H Embedded Trace Macrocell Architecture
Specification[0], TRCSEQEVR<n> is implemented only when
TRCIDR5.NUMSEQSTATE is 0b100, in which case n ranges from 0 to 2;
otherwise, TRCIDR5.NUMSEQSTATE is 0b000.
IOW, the number of usage in the initialisation or setting
TRCSEQEVR<n> with drvdata->nrseqstate - 1 in the loop could make
underflow issue when TRCIDR5.NUMSEQSTATE is 0b000.
Therefore, introduce nr_seq_ctrls field and untie it from nrseqstate.
As part of this introduce ETM_MAX_SEQ_TRANSITIONS macro and
apply nr_seq_ctrls and above macro to TRCSEQEVR<n> relevant fields setup.
coresight: etm4x: fix underflow for usage of (nrseqstate - 1)
According to IHI006H Embedded Trace Macrocell Architecture
Specification[0], TRCSEQEVR<n> is implemented only when
TRCIDR5.NUMSEQSTATE is 0b100, in which case n ranges from 0 to 2;
otherwise, TRCIDR5.NUMSEQSTATE is 0b000.
IOW, the number of usage in the initialisation or setting
TRCSEQEVR<n> with drvdata->nrseqstate - 1 in the loop could make
underflow issue when TRCIDR5.NUMSEQSTATE is 0b000.
Therefore, introduce nr_seq_ctrls field and untie it from nrseqstate.
As part of this introduce ETM_MAX_SEQ_TRANSITIONS macro and
apply nr_seq_ctrls and above macro to TRCSEQEVR<n> relevant fields setup.
Affected & Patched Versions
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < 8d669db59f7283b838e029af29da12e505265fae
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < 4091f2d5b26d117c992ffcce1a5df425a0daedcd
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < be7b2de5b9a96ae68ffa3528e0a40d63e0fd8148
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < 4f9a0f548413bf864f609c9f4bc56e3f1b3577d4
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < 1ade9a335c69fc735cb7b3f222ed35ab135540fb
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < 5ac900f73ce1d4d8308f40752b51bc8a02b244d2
- Linux Linux >= 2e1cdfe184b5202d51e0611d7a051e2bea303946 and < 1674d9bff8073bdee5dbc200f56fc3caa28d0566
- Linux Linux >= 4.2
- Linux Linux 8d669db59f7283b838e029af29da12e505265fae
- Linux Linux 4091f2d5b26d117c992ffcce1a5df425a0daedcd
- Linux Linux be7b2de5b9a96ae68ffa3528e0a40d63e0fd8148
- Linux Linux 4f9a0f548413bf864f609c9f4bc56e3f1b3577d4
- Linux Linux 1ade9a335c69fc735cb7b3f222ed35ab135540fb
- Linux Linux 5ac900f73ce1d4d8308f40752b51bc8a02b244d2
- Linux Linux 1674d9bff8073bdee5dbc200f56fc3caa28d0566
External References
- https://git.kernel.org/stable/c/8d669db59f7283b838e029af29da12e505265fae
- https://git.kernel.org/stable/c/4091f2d5b26d117c992ffcce1a5df425a0daedcd
- https://git.kernel.org/stable/c/be7b2de5b9a96ae68ffa3528e0a40d63e0fd8148
- https://git.kernel.org/stable/c/4f9a0f548413bf864f609c9f4bc56e3f1b3577d4
- https://git.kernel.org/stable/c/1ade9a335c69fc735cb7b3f222ed35ab135540fb
- https://git.kernel.org/stable/c/5ac900f73ce1d4d8308f40752b51bc8a02b244d2
- https://git.kernel.org/stable/c/1674d9bff8073bdee5dbc200f56fc3caa28d0566