X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Freaddir.c;h=b03579bc021029ff86a81dd8bab5d9aafc3eec97;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=fbea474bdb78884352ec0d09ea1d558177a3f732;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/fs/readdir.c b/fs/readdir.c index fbea474bd..b03579bc0 100644 --- a/fs/readdir.c +++ b/fs/readdir.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -286,7 +287,9 @@ asmlinkage long sys_getdents64(unsigned int fd, struct linux_dirent64 __user * d lastdirent = buf.previous; if (lastdirent) { typeof(lastdirent->d_off) d_off = file->f_pos; - __put_user(d_off, &lastdirent->d_off); + error = -EFAULT; + if (__put_user(d_off, &lastdirent->d_off)) + goto out_putf; error = count - buf.count; }