[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87wskyyzi6.fsf@duaron.myhome.or.jp>
Date: Tue, 10 Jun 2008 08:12:01 +0900
From: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
To: Adrian Bunk <bunk@...nel.org>
Cc: "H. Peter Anvin" <hpa@...nel.org>,
S..$(D*..(Ba.$(D+;.(Blar Onur <caglar@...dus.org.tr>,
linux-kernel@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Frank Seidel <fseidel@...e.de>,
Onur Küçük <onur@...dus.org.tr>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [2.6 patch] fat/dir.c: switch to struct __fat_fs_dirent
Adrian Bunk <bunk@...nel.org> writes:
> Can you apply the patch below after your patch?
Ok.
> 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.
Sounds good. Thanks.
> <-- 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@...nel.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
>
--
OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists