lib/mpi: Fix buffer overrun when SG is too long
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 27 Dec 2022 14:27:39 +0000 (15:27 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 6 Jan 2023 09:15:46 +0000 (17:15 +0800)
commit7361d1bc307b926cbca214ab67b641123c2d6357
tree50edbe327f6014e560ff3e888778f5fe2806c8e6
parente20d5a22bd241c5084184bcf69dfb6eddc35417f
lib/mpi: Fix buffer overrun when SG is too long

The helper mpi_read_raw_from_sgl sets the number of entries in
the SG list according to nbytes.  However, if the last entry
in the SG list contains more data than nbytes, then it may overrun
the buffer because it only allocates enough memory for nbytes.

Fixes: 2d4d1eea540b ("lib/mpi: Add mpi sgl helpers")
Reported-by: Roberto Sassu <roberto.sassu@huaweicloud.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
lib/mpi/mpicoder.c