Re: [patch 08/11] fuse: fix permission checking on sticky directories

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Aug 3 2007 19:44, Miklos Szeredi wrote:
>--- linux.orig/fs/fuse/fuse_i.h	2007-08-03 18:36:15.000000000 +0200
>+++ linux/fs/fuse/fuse_i.h	2007-08-03 18:36:17.000000000 +0200
>@@ -63,6 +63,10 @@ struct fuse_inode {
> 
> 	/** Time in jiffies until the file attributes are valid */
> 	u64 i_time;
>+
>+	/** The sticky bit in inode->i_mode may have been remved, so
                                                             ^
                                            may have been removed.

>+	    preserve the original mode */
>+	mode_t orig_i_mode;
> };
> 
> /** FUSE specific file data */
>Index: linux/fs/fuse/inode.c
>===================================================================
>--- linux.orig/fs/fuse/inode.c	2007-08-03 18:36:14.000000000 +0200
>+++ linux/fs/fuse/inode.c	2007-08-03 18:36:37.000000000 +0200
>@@ -120,10 +120,18 @@ static void fuse_truncate(struct address
> void fuse_change_attributes(struct inode *inode, struct fuse_attr *attr)
> {
> 	struct fuse_conn *fc = get_fuse_conn(inode);
>+	struct fuse_inode *fi = get_fuse_inode(inode);
> 	loff_t oldsize;
> 
> 	inode->i_ino     = attr->ino;
>-	inode->i_mode    = (inode->i_mode & S_IFMT) + (attr->mode & 07777);
>+	fi->orig_i_mode  = (inode->i_mode & S_IFMT) + (attr->mode & 07777);

Although it does not matter in this case, | is safer (and perhaps faster?).



	Jan
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux