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.
https://git.kernel.org/stable/c/be7b2de5b9a96ae68ffa3528e0a40d63e0fd8148
https://git.kernel.org/stable/c/8d669db59f7283b838e029af29da12e505265fae
https://git.kernel.org/stable/c/5ac900f73ce1d4d8308f40752b51bc8a02b244d2
https://git.kernel.org/stable/c/4f9a0f548413bf864f609c9f4bc56e3f1b3577d4
https://git.kernel.org/stable/c/4091f2d5b26d117c992ffcce1a5df425a0daedcd
https://git.kernel.org/stable/c/1ade9a335c69fc735cb7b3f222ed35ab135540fb
https://git.kernel.org/stable/c/1674d9bff8073bdee5dbc200f56fc3caa28d0566