git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
fs
/
ext2
/
ioctl.c
diff --git
a/fs/ext2/ioctl.c
b/fs/ext2/ioctl.c
index
11ee1a2
..
67a0c6b
100644
(file)
--- a/
fs/ext2/ioctl.c
+++ b/
fs/ext2/ioctl.c
@@
-25,7
+25,7
@@
int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd,
switch (cmd) {
case EXT2_IOC_GETFLAGS:
flags = ei->i_flags & EXT2_FL_USER_VISIBLE;
switch (cmd) {
case EXT2_IOC_GETFLAGS:
flags = ei->i_flags & EXT2_FL_USER_VISIBLE;
- return put_user(flags, (int *) arg);
+ return put_user(flags, (int
__user
*) arg);
case EXT2_IOC_SETFLAGS: {
unsigned int oldflags;
case EXT2_IOC_SETFLAGS: {
unsigned int oldflags;
@@
-35,7
+35,7
@@
int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd,
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
return -EACCES;
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
return -EACCES;
- if (get_user(flags, (int *) arg))
+ if (get_user(flags, (int
__user
*) arg))
return -EFAULT;
if (!S_ISDIR(inode->i_mode))
return -EFAULT;
if (!S_ISDIR(inode->i_mode))
@@
-50,8
+50,8
@@
int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd,
* This test looks nicer. Thanks to Pauline Middelink
*/
if ((oldflags & EXT2_IMMUTABLE_FL) ||
* This test looks nicer. Thanks to Pauline Middelink
*/
if ((oldflags & EXT2_IMMUTABLE_FL) ||
- ((flags ^ oldflags) &
-
(EXT2_APPEND_FL | EXT2_IMMUTABLE
_FL))) {
+ ((flags ^ oldflags) &
(EXT2_APPEND_FL |
+
EXT2_IMMUTABLE_FL | EXT2_IUNLINK
_FL))) {
if (!capable(CAP_LINUX_IMMUTABLE))
return -EPERM;
}
if (!capable(CAP_LINUX_IMMUTABLE))
return -EPERM;
}
@@
-61,20
+61,20
@@
int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd,
ei->i_flags = flags;
ext2_set_inode_flags(inode);
ei->i_flags = flags;
ext2_set_inode_flags(inode);
- inode->i_ctime = CURRENT_TIME;
+ inode->i_ctime = CURRENT_TIME
_SEC
;
mark_inode_dirty(inode);
return 0;
}
case EXT2_IOC_GETVERSION:
mark_inode_dirty(inode);
return 0;
}
case EXT2_IOC_GETVERSION:
- return put_user(inode->i_generation, (int *) arg);
+ return put_user(inode->i_generation, (int
__user
*) arg);
case EXT2_IOC_SETVERSION:
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
return -EPERM;
if (IS_RDONLY(inode))
return -EROFS;
case EXT2_IOC_SETVERSION:
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
return -EPERM;
if (IS_RDONLY(inode))
return -EROFS;
- if (get_user(inode->i_generation, (int *) arg))
+ if (get_user(inode->i_generation, (int
__user
*) arg))
return -EFAULT;
return -EFAULT;
- inode->i_ctime = CURRENT_TIME;
+ inode->i_ctime = CURRENT_TIME
_SEC
;
mark_inode_dirty(inode);
return 0;
default:
mark_inode_dirty(inode);
return 0;
default: