Re: [PATCH 1/2] fsl_hypervisor: dereferencing error pointers in ioctl

From: Andrew Morton
Date: Thu Apr 04 2019 - 15:10:49 EST


On Tue, 18 Dec 2018 11:20:03 +0300 Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:

> The strndup_user() function returns error pointers on error, and then
> in the error handling we pass the error pointers to kfree(). It will
> cause an Oops.
>

Looks good to me.

I guess we should fix this too?


From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: mm/util.c: fix strndup_user() comment

The kerneldoc misdescribes strndup_user()'s return value.

Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Timur Tabi <timur@xxxxxxxxxxxxx>
Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

mm/util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/mm/util.c~mm-utilc-fix-strndup_user-comment
+++ a/mm/util.c
@@ -204,7 +204,7 @@ EXPORT_SYMBOL(vmemdup_user);
* @s: The string to duplicate
* @n: Maximum number of bytes to copy, including the trailing NUL.
*
- * Return: newly allocated copy of @s or %NULL in case of error
+ * Return: newly allocated copy of @s or an ERR_PTR() in case of error
*/
char *strndup_user(const char __user *s, long n)
{
_