diff options
author | Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> | 2011-05-08 14:44:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-09 12:04:24 -0400 |
commit | 48f10e8ce7461b393186c4c7c6d6f6634082159c (patch) | |
tree | 3365f32b68e207b4961452eff2030c811950811f /fs | |
parent | f73976818adeaa46515a238b21e865850b011a87 (diff) |
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 <mikulas@artax.karlin.mff.cuni.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/hpfs/inode.c | 4 |
1 files changed, 4 insertions, 0 deletions
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) | |||
261 | hpfs_lock(inode->i_sb); | 261 | hpfs_lock(inode->i_sb); |
262 | if (inode->i_ino == hpfs_sb(inode->i_sb)->sb_root) | 262 | if (inode->i_ino == hpfs_sb(inode->i_sb)->sb_root) |
263 | goto out_unlock; | 263 | goto out_unlock; |
264 | if ((attr->ia_valid & ATTR_UID) && attr->ia_uid >= 0x10000) | ||
265 | goto out_unlock; | ||
266 | if ((attr->ia_valid & ATTR_GID) && attr->ia_gid >= 0x10000) | ||
267 | goto out_unlock; | ||
264 | if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size > inode->i_size) | 268 | if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size > inode->i_size) |
265 | goto out_unlock; | 269 | goto out_unlock; |
266 | 270 | ||