|
|
Log in / Subscribe / Register

[PATCH] symlink: allow an empty target string

From:  Pádraig Brady <P-AT-draigBrady.com>
To:  linux-kernel-AT-vger.kernel.org
Subject:  [PATCH] symlink: allow an empty target string
Date:  Thu, 17 Jan 2013 13:03:53 +0000
Message-ID:  <1358427833-3847-2-git-send-email-P@draigBrady.com>
Cc:  =?UTF-8?q?P=C3=A1draig=20Brady?= <P-AT-draigBrady.com>
Archive‑link:  Article

POSIX only states that ENOENT should be returned
if an empty string is specified for the link name.
In fact it states the link target...
"shall be treated only as a character string and
 shall not be validated as a pathname".

Signed-off-by: Pádraig Brady <P@draigBrady.com>
---
 fs/namei.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index 43a97ee..26dd264 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -3533,12 +3533,13 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
 		int, newdfd, const char __user *, newname)
 {
 	int error;
+	int empty;
 	struct filename *from;
 	struct dentry *dentry;
 	struct path path;
 	unsigned int lookup_flags = 0;
 
-	from = getname(oldname);
+	from = getname_flags(oldname, LOOKUP_EMPTY, &empty);
 	if (IS_ERR(from))
 		return PTR_ERR(from);
 retry:
-- 
1.7.6.4




to post comments


Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds