RDMA/ucma: Use struct_size() helper
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Tue, 4 Jun 2019 15:42:22 +0000 (10:42 -0500)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 7 Jun 2019 18:02:28 +0000 (15:02 -0300)
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/ucma.c

index 140a338a135f5e46a281ace1919f9827d6116edd..cbe46007661112fa0edb3f45bf14d6ce2d895e1a 100644 (file)
@@ -951,8 +951,7 @@ static ssize_t ucma_query_path(struct ucma_context *ctx,
                }
        }
 
-       if (copy_to_user(response, resp,
-                        sizeof(*resp) + (i * sizeof(struct ib_path_rec_data))))
+       if (copy_to_user(response, resp, struct_size(resp, path_data, i)))
                ret = -EFAULT;
 
        kfree(resp);