Looks like this was already merged commit c8fc464cbda384ba4ed48c1e744ca82cd69f1f93 Author: YueHaibing <yuehaibing@xxxxxxxxxx> Date: Sat Jun 1 03:31:10 2019 +0000 cifs: Use kmemdup in SMB2_ioctl_init() Use kmemdup rather than duplicating its implementation This was reported by coccinelle. Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx> diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index 75311a8a68bf..ab8dc73d2282 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -2550,12 +2550,11 @@ SMB2_ioctl_init(struct cifs_tcon *tcon, struct smb_rqst *rqst, * indatalen is usually small at a couple of bytes max, so * just allocate through generic pool */ - in_data_buf = kmalloc(indatalen, GFP_NOFS); + in_data_buf = kmemdup(in_data, indatalen, GFP_NOFS); if (!in_data_buf) { cifs_small_buf_release(req); return -ENOMEM; } - memcpy(in_data_buf, in_data, indatalen); } req->CtlCode = cpu_to_le32(opcode); On Wed, Jul 3, 2019 at 8:18 AM Fuqian Huang <huangfq.daxian@xxxxxxxxx> wrote: > > kmemdup is introduced to duplicate a region of memory in a neat way. > Rather than kmalloc/kzalloc + memset, which the programmer needs to > write the size twice (sometimes lead to mistakes), kmemdup improves > readability, leads to smaller code and also reduce the chances of mistakes. > Suggestion to use kmemdup rather than using kmalloc/kzalloc + memset. > > Signed-off-by: Fuqian Huang <huangfq.daxian@xxxxxxxxx> > --- > fs/cifs/smb2pdu.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c > index 75311a8a68bf..ab8dc73d2282 100644 > --- a/fs/cifs/smb2pdu.c > +++ b/fs/cifs/smb2pdu.c > @@ -2550,12 +2550,11 @@ SMB2_ioctl_init(struct cifs_tcon *tcon, struct smb_rqst *rqst, > * indatalen is usually small at a couple of bytes max, so > * just allocate through generic pool > */ > - in_data_buf = kmalloc(indatalen, GFP_NOFS); > + in_data_buf = kmemdup(in_data, indatalen, GFP_NOFS); > if (!in_data_buf) { > cifs_small_buf_release(req); > return -ENOMEM; > } > - memcpy(in_data_buf, in_data, indatalen); > } > > req->CtlCode = cpu_to_le32(opcode); > -- > 2.11.0 > -- Thanks, Steve