On 2021/5/11 14:37, Zou Wei wrote: > Use memdup_user_nul() helper instead of open-coding to > simplify the code. > > Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> > Signed-off-by: Zou Wei <zou_wei@xxxxxxxxxx> > --- > drivers/crypto/hisilicon/qm.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c > index ce439a0..83a5d30 100644 > --- a/drivers/crypto/hisilicon/qm.c > +++ b/drivers/crypto/hisilicon/qm.c > @@ -1570,17 +1570,10 @@ static ssize_t qm_cmd_write(struct file *filp, const char __user *buffer, > if (count > QM_DBG_WRITE_LEN) > return -ENOSPC; > > - cmd_buf = kzalloc(count + 1, GFP_KERNEL); > - if (!cmd_buf) > + cmd_buf = memdup_user_nul(buffer, count); > + if (IS_ERR(cmd_buf)) > return -ENOMEM; > > - if (copy_from_user(cmd_buf, buffer, count)) { > - kfree(cmd_buf); > - return -EFAULT; > - } > - > - cmd_buf[count] = '\0'; > - > cmd_buf_tmp = strchr(cmd_buf, '\n'); > if (cmd_buf_tmp) { > *cmd_buf_tmp = '\0'; > It is fine to me, thanks! BTW, normally we use crypto: hisilicon - switch to memdup_user_nul() as the subject line, just like other patches :)