Re: [PATCH] pid:fix a return value in alloc_pid

From: Christian Brauner
Date: Wed Mar 11 2020 - 05:12:53 EST


On March 11, 2020 9:19:16 AM GMT+01:00, tangbin <tangbin@xxxxxxxxxxxxxxxxxxxx> wrote:
>When I doing a make about linux-next in X86 right now,it prompts a
>warning about "âretvalâ may be used uninitialized in this function
>[-Wmaybe-uninitialized]". So I found that undefined 'retval' initially
>in alloc_pid(),so the return ERR_PTR(retval) was an uncertain value.
>Kmem_cache_alloc() is for sapce,so it will return ERR_PTR(-ENOMEM) if
>unsuccessful.
>
>Signed-off-by: tangbin <tangbin@xxxxxxxxxxxxxxxxxxxx>
>---
> kernel/pid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/kernel/pid.c b/kernel/pid.c
>index ff6cd67..f214094 100644
>--- a/kernel/pid.c
>+++ b/kernel/pid.c
>@@ -177,7 +177,7 @@ struct pid *alloc_pid(struct pid_namespace *ns,
>pid_t *set_tid,
>
> pid = kmem_cache_alloc(ns->pid_cachep, GFP_KERNEL);
> if (!pid)
>- return ERR_PTR(retval);
>+ return ERR_PTR(-ENOMEM);
>
> tmp = ns;
> pid->level = ns->level;

There's already a fixed version in my tree for this.
https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/commit/?h=fixes&id=10dab84caf400f2f5f8b010ebb0c7c4272ec5093

Thanks!
Christian