[2.6 patch] fat/dir.c: switch to struct __fat_fs_dirent

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Adrian Bunk
Date: Monday, June 9, 2008 - 3:26 pm

On Mon, Jun 09, 2008 at 01:12:37PM +0900, OGAWA Hirofumi wrote:

Can you apply the patch below after your patch?

Since fat was the only user of struct dirent in the kernel (there's an 
unused JFS #define I'll also kill) we can then get rid of the 
conflicting structs.


cu
Adrian


<--  snip  -->


struct __fat_fs_dirent is what was formerly the kernel struct dirent
(that was different from the userspace struct dirent).

Converting all fat users to struct __fat_fs_dirent will allow us to get 
rid of the conflicting struct dirent definition.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---

 fs/fat/dir.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

b8c595b4b225c2485d8dbc7ff4cbcdc8e6113672 diff --git a/fs/fat/dir.c b/fs/fat/dir.c
index 486725e..041a112 100644
--- a/fs/fat/dir.c
+++ b/fs/fat/dir.c
@@ -17,7 +17,6 @@
 #include <linux/slab.h>
 #include <linux/time.h>
 #include <linux/msdos_fs.h>
-#include <linux/dirent.h>
 #include <linux/smp_lock.h>
 #include <linux/buffer_head.h>
 #include <linux/compat.h>
@@ -715,7 +714,7 @@ efault:									   \
 	return -EFAULT;							   \
 }
 
-FAT_IOCTL_FILLDIR_FUNC(fat_ioctl_filldir, dirent)
+FAT_IOCTL_FILLDIR_FUNC(fat_ioctl_filldir, __fat_fs_dirent)
 
 static int fat_ioctl_readdir(struct inode *inode, struct file *filp,
 			     void __user *dirent, filldir_t filldir,
@@ -741,7 +740,7 @@ static int fat_ioctl_readdir(struct inode *inode, struct file *filp,
 static int fat_dir_ioctl(struct inode *inode, struct file *filp,
 			 unsigned int cmd, unsigned long arg)
 {
-	struct dirent __user *d1 = (struct dirent __user *)arg;
+	struct __fat_fs_dirent __user *d1 = (struct __fat_fs_dirent __user *)arg;
 	int short_only, both;
 
 	switch (cmd) {
@@ -757,7 +756,7 @@ static int fat_dir_ioctl(struct inode *inode, struct file *filp,
 		return fat_generic_ioctl(inode, filp, cmd, arg);
 	}
 
-	if (!access_ok(VERIFY_WRITE, d1, sizeof(struct dirent[2])))
+	if (!access_ok(VERIFY_WRITE, d1, sizeof(struct __fat_fs_dirent[2])))
 		return -EFAULT;
 	/*
 	 * Yes, we don't need this put_user() absolutely. However old

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[2.6.26 patch] fat_valid_media() isn't for userspace, Adrian Bunk, (Sun Jun 8, 11:43 am)
Re: [2.6.26 patch] fat_valid_media() isn't for userspace, OGAWA Hirofumi, (Sun Jun 8, 11:55 am)
Re: [2.6.26 patch] fat_valid_media() isn't for userspace, H. Peter Anvin, (Sun Jun 8, 6:14 pm)
Re: [2.6.26 patch] fat_valid_media() isn't for userspace, OGAWA Hirofumi, (Sun Jun 8, 9:12 pm)
Re: [2.6.26 patch] fat_valid_media() isn't for userspace, H. Peter Anvin, (Sun Jun 8, 9:41 pm)
[2.6 patch] fat/dir.c: switch to struct __fat_fs_dirent, Adrian Bunk, (Mon Jun 9, 3:26 pm)
[2.6 patch] remove the in-kernel struct dirent{,64}, Adrian Bunk, (Mon Jun 9, 3:27 pm)