spi: Use struct_size() helper
PATCH 1/1 spi: Use struct_size() helper
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example:
struct spi_replaced_transfers {
...
struct spi_transfer inserted_transfers[];
};Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes.
So, replace the following form:
insert * sizeof(struct spi_transfer) + sizeof(struct spi_replaced_transfers)
with:
struct_size(rxfer, inserted_transfers, insert)
This code was detected with the help of Coccinelle.
Signed-off-by Gustavo A. R. Silva <[email protected]>
--- drivers/spi/spi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/spi/spi.c +1 -2
@@ -2769,8 +2769,7 @@ struct spi_replaced_transfers *spi_replace_transfers(/* allocate the structure using spi_res */ rxfer =spi_res_alloc (msg->spi, __spi_replace_transfers_release, - insert *sizeof (struct spi_transfer ) - +sizeof (struct spi_replaced_transfers ) +struct_size (rxfer, inserted_transfers, insert) + extradatasize, gfp);if (!rxfer)
Signature · 1 line
2.21.0