Message ID | 20240928150030.1217-2-thorsten.blum@linux.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ksmbd: Use struct_size() to improve smb_direct_rdma_xmit() | expand |
On Sun, Sep 29, 2024 at 12:01 AM Thorsten Blum <thorsten.blum@linux.dev> wrote: > > Use struct_size() to calculate the number of bytes to allocate for a > new message. > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Applied it to #ksmbd-for-next-next. Thanks!
diff --git a/fs/smb/server/transport_rdma.c b/fs/smb/server/transport_rdma.c index 44c87e300c16..17c76713c6d0 100644 --- a/fs/smb/server/transport_rdma.c +++ b/fs/smb/server/transport_rdma.c @@ -1405,8 +1405,8 @@ static int smb_direct_rdma_xmit(struct smb_direct_transport *t, /* build rdma_rw_ctx for each descriptor */ desc_buf = buf; for (i = 0; i < desc_num; i++) { - msg = kzalloc(offsetof(struct smb_direct_rdma_rw_msg, sg_list) + - sizeof(struct scatterlist) * SG_CHUNK_SIZE, GFP_KERNEL); + msg = kzalloc(struct_size(msg, sg_list, SG_CHUNK_SIZE), + GFP_KERNEL); if (!msg) { ret = -ENOMEM; goto out;
Use struct_size() to calculate the number of bytes to allocate for a new message. Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> --- fs/smb/server/transport_rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)