Message ID | f8f1f383c4533a91a6025b1db5827ed6aaab002f.1647980983.git.christophe.jaillet@wanadoo.fr |
---|---|
State | New |
Headers | show |
Series | ksmbd: Remove a redundant zeroing of memory | expand |
Acked-by: Hyunchul Lee <hyc.lee@gmail.com> 2022년 3월 23일 (수) 오전 5:29, Christophe JAILLET <christophe.jaillet@wanadoo.fr>님이 작성: > > fill_transform_hdr() already call memset(0) on its 1st argument, so there > is no need to clear it explicitly before calling this function. > > Use kmalloc() instead of kzalloc() to save a few cycles. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > Alternatively, fill_transform_hdr() has only one caller. So its memset() > could be removed instead and this kzalloc() left as is. > --- > fs/ksmbd/smb2pdu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c > index bcb98109bac9..0e4f819e5859 100644 > --- a/fs/ksmbd/smb2pdu.c > +++ b/fs/ksmbd/smb2pdu.c > @@ -8434,7 +8434,7 @@ int smb3_encrypt_resp(struct ksmbd_work *work) > if (ARRAY_SIZE(iov) < rq_nvec) > return -ENOMEM; > > - work->tr_buf = kzalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); > + work->tr_buf = kmalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); > if (!work->tr_buf) > return rc; > > -- > 2.32.0 >
2022-03-23 5:29 GMT+09:00, Christophe JAILLET <christophe.jaillet@wanadoo.fr>: > fill_transform_hdr() already call memset(0) on its 1st argument, so there > is no need to clear it explicitly before calling this function. > > Use kmalloc() instead of kzalloc() to save a few cycles. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > Alternatively, fill_transform_hdr() has only one caller. So its memset() > could be removed instead and this kzalloc() left as is. I prefer this. Could you update the patch ? Thanks! > --- > fs/ksmbd/smb2pdu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c > index bcb98109bac9..0e4f819e5859 100644 > --- a/fs/ksmbd/smb2pdu.c > +++ b/fs/ksmbd/smb2pdu.c > @@ -8434,7 +8434,7 @@ int smb3_encrypt_resp(struct ksmbd_work *work) > if (ARRAY_SIZE(iov) < rq_nvec) > return -ENOMEM; > > - work->tr_buf = kzalloc(sizeof(struct smb2_transform_hdr) + 4, > GFP_KERNEL); > + work->tr_buf = kmalloc(sizeof(struct smb2_transform_hdr) + 4, > GFP_KERNEL); > if (!work->tr_buf) > return rc; > > -- > 2.32.0 > >
On Tue, Mar 22, 2022 at 09:29:51PM +0100, Christophe JAILLET wrote: > fill_transform_hdr() already call memset(0) on its 1st argument, so there > is no need to clear it explicitly before calling this function. > > Use kmalloc() instead of kzalloc() to save a few cycles. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > Alternatively, fill_transform_hdr() has only one caller. So its memset() > could be removed instead and this kzalloc() left as is. > --- > fs/ksmbd/smb2pdu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c > index bcb98109bac9..0e4f819e5859 100644 > --- a/fs/ksmbd/smb2pdu.c > +++ b/fs/ksmbd/smb2pdu.c > @@ -8434,7 +8434,7 @@ int smb3_encrypt_resp(struct ksmbd_work *work) > if (ARRAY_SIZE(iov) < rq_nvec) > return -ENOMEM; > > - work->tr_buf = kzalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); > + work->tr_buf = kmalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); ^^^ fill_transform_hdr() does not clear the last 4 bytes. regards, dan carpenter
On Wed, Mar 23, 2022 at 09:51:11AM +0300, Dan Carpenter wrote: > On Tue, Mar 22, 2022 at 09:29:51PM +0100, Christophe JAILLET wrote: > > fill_transform_hdr() already call memset(0) on its 1st argument, so there > > is no need to clear it explicitly before calling this function. > > > > Use kmalloc() instead of kzalloc() to save a few cycles. > > > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > > --- > > Alternatively, fill_transform_hdr() has only one caller. So its memset() > > could be removed instead and this kzalloc() left as is. > > --- > > fs/ksmbd/smb2pdu.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c > > index bcb98109bac9..0e4f819e5859 100644 > > --- a/fs/ksmbd/smb2pdu.c > > +++ b/fs/ksmbd/smb2pdu.c > > @@ -8434,7 +8434,7 @@ int smb3_encrypt_resp(struct ksmbd_work *work) > > if (ARRAY_SIZE(iov) < rq_nvec) > > return -ENOMEM; > > > > - work->tr_buf = kzalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); > > + work->tr_buf = kmalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); > ^^^ > fill_transform_hdr() does not clear the last 4 bytes. > Oops. I was looking at the wrong fill_transform_hdr() from smb2ops.c instead of smb2pdu.c. Sorry! regards, dan carpenter
diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index bcb98109bac9..0e4f819e5859 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -8434,7 +8434,7 @@ int smb3_encrypt_resp(struct ksmbd_work *work) if (ARRAY_SIZE(iov) < rq_nvec) return -ENOMEM; - work->tr_buf = kzalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); + work->tr_buf = kmalloc(sizeof(struct smb2_transform_hdr) + 4, GFP_KERNEL); if (!work->tr_buf) return rc;
fill_transform_hdr() already call memset(0) on its 1st argument, so there is no need to clear it explicitly before calling this function. Use kmalloc() instead of kzalloc() to save a few cycles. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- Alternatively, fill_transform_hdr() has only one caller. So its memset() could be removed instead and this kzalloc() left as is. --- fs/ksmbd/smb2pdu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)