summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/namei.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/namei.c b/fs/namei.c
index bf6d8a738c59..dc36bda5c2e7 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -247,6 +247,9 @@ getname_kernel(const char * filename)
void putname(struct filename *name)
{
+ if (IS_ERR_OR_NULL(name))
+ return;
+
BUG_ON(name->refcnt <= 0);
if (--name->refcnt > 0)
@@ -4728,11 +4731,9 @@ exit1:
goto retry;
}
put_both:
- if (!IS_ERR(from))
- putname(from);
+ putname(from);
put_new:
- if (!IS_ERR(to))
- putname(to);
+ putname(to);
return error;
}