git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fat: convert to unlocked_ioctl
[pandora-kernel.git]
/
fs
/
fat
/
file.c
diff --git
a/fs/fat/file.c
b/fs/fat/file.c
index
e8c159d
..
a14c2f6
100644
(file)
--- a/
fs/fat/file.c
+++ b/
fs/fat/file.c
@@
-8,6
+8,7
@@
#include <linux/capability.h>
#include <linux/module.h>
#include <linux/capability.h>
#include <linux/module.h>
+#include <linux/compat.h>
#include <linux/mount.h>
#include <linux/time.h>
#include <linux/buffer_head.h>
#include <linux/mount.h>
#include <linux/time.h>
#include <linux/buffer_head.h>
@@
-114,9
+115,9
@@
out:
return err;
}
return err;
}
-int fat_generic_ioctl(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg)
+long fat_generic_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
{
+ struct inode *inode = filp->f_path.dentry->d_inode;
u32 __user *user_attr = (u32 __user *)arg;
switch (cmd) {
u32 __user *user_attr = (u32 __user *)arg;
switch (cmd) {
@@
-129,6
+130,15
@@
int fat_generic_ioctl(struct inode *inode, struct file *filp,
}
}
}
}
+#ifdef CONFIG_COMPAT
+static long fat_generic_compat_ioctl(struct file *filp, unsigned int cmd,
+ unsigned long arg)
+
+{
+ return fat_generic_ioctl(filp, cmd, (unsigned long)compat_ptr(arg));
+}
+#endif
+
static int fat_file_release(struct inode *inode, struct file *filp)
{
if ((filp->f_mode & FMODE_WRITE) &&
static int fat_file_release(struct inode *inode, struct file *filp)
{
if ((filp->f_mode & FMODE_WRITE) &&
@@
-159,7
+169,10
@@
const struct file_operations fat_file_operations = {
.aio_write = generic_file_aio_write,
.mmap = generic_file_mmap,
.release = fat_file_release,
.aio_write = generic_file_aio_write,
.mmap = generic_file_mmap,
.release = fat_file_release,
- .ioctl = fat_generic_ioctl,
+ .unlocked_ioctl = fat_generic_ioctl,
+#ifdef CONFIG_COMPAT
+ .compat_ioctl = fat_generic_compat_ioctl,
+#endif
.fsync = fat_file_fsync,
.splice_read = generic_file_splice_read,
};
.fsync = fat_file_fsync,
.splice_read = generic_file_splice_read,
};