From: Mikulas Patocka Date: Sun, 8 May 2011 18:44:00 +0000 (+0200) Subject: HPFS: Restrict uid and gid to 16-bit values X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=48f10e8ce7461b393186c4c7c6d6f6634082159c;p=openwrt%2Fstaging%2Fblogic.git HPFS: Restrict uid and gid to 16-bit values Restrict uid and gid to 16-bit values. HPFS stores only 2 bytes in the EAs. Signed-off-by: Mikulas Patocka Signed-off-by: Linus Torvalds --- diff --git a/fs/hpfs/inode.c b/fs/hpfs/inode.c index d093ce749412..bc61bb4fd38d 100644 --- a/fs/hpfs/inode.c +++ b/fs/hpfs/inode.c @@ -261,6 +261,10 @@ int hpfs_setattr(struct dentry *dentry, struct iattr *attr) hpfs_lock(inode->i_sb); if (inode->i_ino == hpfs_sb(inode->i_sb)->sb_root) goto out_unlock; + if ((attr->ia_valid & ATTR_UID) && attr->ia_uid >= 0x10000) + goto out_unlock; + if ((attr->ia_valid & ATTR_GID) && attr->ia_gid >= 0x10000) + goto out_unlock; if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size > inode->i_size) goto out_unlock;