opening symlinks with O_CREAT under latest 2.5.74

Trond Myklebust (trond.myklebust@fys.uio.no)
Mon, 7 Jul 2003 21:30:34 +0200


>>>>> " " == Petr Vandrovec <vandrove@vc.cvut.cz> writes:

> Hi,
> couple of things stopped working on my box
> where I have /dev/vc/XX as symlinks to /dev/ttyXX, and some
> things use /dev/vc/XX and some /dev/ttyXX. After last update
> hour ago things which use /dev/vc/XX stopped working for
> non-root - they now fail with EACCES error if they attempt to
> redirect its input or output through '>' or '<>' bash
> redirection operators:

Whoops. Looks like I missed an assumption in open_namei().
Does the following patch fix the problem?

Cheers,
Trond

--- linux-2.5.74-up/fs/namei.c.orig 2003-06-30 08:49:25.000000000 +0200
+++ linux-2.5.74-up/fs/namei.c 2003-07-07 21:25:00.000000000 +0200
@@ -1344,6 +1344,7 @@
* stored in nd->last.name and we will have to putname() it when we
* are done. Procfs-like symlinks just set LAST_BIND.
*/
+ nd->flags |= LOOKUP_PARENT;
error = security_inode_follow_link(dentry, nd);
if (error)
goto exit_dput;
@@ -1352,6 +1353,7 @@
dput(dentry);
if (error)
return error;
+ nd->flags &= ~LOOKUP_PARENT;
if (nd->last_type == LAST_BIND) {
dentry = nd->dentry;
goto ok;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/