Re: [PATCH] filldir write data missing size

From: OGAWA Hirofumi
Date: Sat Jul 19 2008 - 13:24:46 EST


Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> writes:

> "loff_t" is long long.
> But "d_off" is unsigned long.
>
> Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
>
> diff --git a/fs/readdir.c b/fs/readdir.c
> index 4e026e5..01e7152
> --- a/fs/readdir.c
> +++ b/fs/readdir.c
> @@ -159,7 +159,7 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
> return -EOVERFLOW;
> dirent = buf->previous;
> if (dirent) {
> - if (__put_user(offset, &dirent->d_off))
> + if (__put_user((unsigned long)offset, &dirent->d_off))

Um.. __put_user() should be already doing it automatically..

> goto efault;
> }
> dirent = buf->current_dir;
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/