diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index bf4aa9e02a90..43c006f8ec88 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -789,10 +789,8 @@ static ssize_t devkmsg_write(struct kiocb *iocb, struct iov_iter *from) } buf[len] = '\0'; - if (!copy_from_iter_full(buf, len, from)) { - kfree(buf); + if (!copy_from_iter_full(buf, len, from)) return -EFAULT; - } /* * Extract and skip the syslog prefix <[0-9]*>. Coming from userspace