In the Linux kernel, the following vulnerability has been resolved: remoteproc: fix OOB read via signed offset in rsc_table_for_each_entry() table->offset[i] is a u32 from firmware, but was stored into a signed int. A crafted offset like 0xFFFFFFF0 becomes -16, placing hdr 16 bytes before the table buffer. The subsequent avail check was bypassed because the negative int was promoted to a large size_t in the expression "table_sz - offset - sizeof(*hdr)", yielding a large positive avail and letting the out-of-bounds hdr->type read proceed undetected. Store the offset as u32 and validate it with unsigned comparisons before any pointer arithmetic.
https://git.kernel.org/stable/c/cc85e0d3d3333fd5fd2d50c9a4578d209d7f2564
https://git.kernel.org/stable/c/c82241a9454b2d30d53b50884f94b7972ba44a5e
https://git.kernel.org/stable/c/bc4940793aaa16a9cf90063b11d6926f8014a1b7
https://git.kernel.org/stable/c/bb840ea69347aff7bde5a208e7b5b180669a7656
https://git.kernel.org/stable/c/6fd220604f06c746760183df74b07384c3fdd660
https://git.kernel.org/stable/c/6a01ad25aa4f3a02153cf1d112cb9b65865cd5d8
https://git.kernel.org/stable/c/6282d47b24b0c98d08d02807d676a7f67b4c052e
https://git.kernel.org/stable/c/0d385be8f199b349f325cf90584b47b6a044ea79