opening symlinks with O_CREAT under latest 2.5.74

From: Trond Myklebust (trond.myklebust@fys.uio.no)
Date: Mon Jul 07 2003 - 14:30:34 EST


>>>>> " " == 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/



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:30 EST