Lines Matching refs:dirent

135 	struct old_linux_dirent __user * dirent;  member
144 struct old_linux_dirent __user * dirent; in fillonedir() local
155 dirent = buf->dirent; in fillonedir()
156 if (!access_ok(dirent, in fillonedir()
157 (unsigned long)(dirent->d_name + namlen + 1) - in fillonedir()
158 (unsigned long)dirent)) in fillonedir()
160 if ( __put_user(d_ino, &dirent->d_ino) || in fillonedir()
161 __put_user(offset, &dirent->d_offset) || in fillonedir()
162 __put_user(namlen, &dirent->d_namlen) || in fillonedir()
163 __copy_to_user(dirent->d_name, name, namlen) || in fillonedir()
164 __put_user(0, dirent->d_name + namlen)) in fillonedir()
173 struct old_linux_dirent __user *, dirent, unsigned int, count) in SYSCALL_DEFINE3() argument
179 .dirent = dirent in SYSCALL_DEFINE3()
217 struct linux_dirent __user * dirent; in filldir() local
235 dirent = buf->previous; in filldir()
236 if (dirent && signal_pending(current)) in filldir()
243 if (!user_access_begin(dirent, sizeof(*dirent))) in filldir()
245 if (dirent) in filldir()
246 unsafe_put_user(offset, &dirent->d_off, efault_end); in filldir()
247 dirent = buf->current_dir; in filldir()
248 unsafe_put_user(d_ino, &dirent->d_ino, efault_end); in filldir()
249 unsafe_put_user(reclen, &dirent->d_reclen, efault_end); in filldir()
250 unsafe_put_user(d_type, (char __user *) dirent + reclen - 1, efault_end); in filldir()
251 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end); in filldir()
254 buf->previous = dirent; in filldir()
255 dirent = (void __user *)dirent + reclen; in filldir()
256 buf->current_dir = dirent; in filldir()
267 struct linux_dirent __user *, dirent, unsigned int, count) in SYSCALL_DEFINE3() argument
274 .current_dir = dirent in SYSCALL_DEFINE3()
278 if (!access_ok(dirent, count)) in SYSCALL_DEFINE3()
310 struct linux_dirent64 __user *dirent; in filldir64() local
322 dirent = buf->previous; in filldir64()
323 if (dirent && signal_pending(current)) in filldir64()
330 if (!user_access_begin(dirent, sizeof(*dirent))) in filldir64()
332 if (dirent) in filldir64()
333 unsafe_put_user(offset, &dirent->d_off, efault_end); in filldir64()
334 dirent = buf->current_dir; in filldir64()
335 unsafe_put_user(ino, &dirent->d_ino, efault_end); in filldir64()
336 unsafe_put_user(reclen, &dirent->d_reclen, efault_end); in filldir64()
337 unsafe_put_user(d_type, &dirent->d_type, efault_end); in filldir64()
338 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end); in filldir64()
341 buf->previous = dirent; in filldir64()
342 dirent = (void __user *)dirent + reclen; in filldir64()
343 buf->current_dir = dirent; in filldir64()
353 int ksys_getdents64(unsigned int fd, struct linux_dirent64 __user *dirent, in ksys_getdents64() argument
361 .current_dir = dirent in ksys_getdents64()
365 if (!access_ok(dirent, count)) in ksys_getdents64()
389 struct linux_dirent64 __user *, dirent, unsigned int, count) in SYSCALL_DEFINE3() argument
391 return ksys_getdents64(fd, dirent, count); in SYSCALL_DEFINE3()
404 struct compat_old_linux_dirent __user *dirent; member
414 struct compat_old_linux_dirent __user *dirent; in compat_fillonedir() local
425 dirent = buf->dirent; in compat_fillonedir()
426 if (!access_ok(dirent, in compat_fillonedir()
427 (unsigned long)(dirent->d_name + namlen + 1) - in compat_fillonedir()
428 (unsigned long)dirent)) in compat_fillonedir()
430 if ( __put_user(d_ino, &dirent->d_ino) || in compat_fillonedir()
431 __put_user(offset, &dirent->d_offset) || in compat_fillonedir()
432 __put_user(namlen, &dirent->d_namlen) || in compat_fillonedir()
433 __copy_to_user(dirent->d_name, name, namlen) || in compat_fillonedir()
434 __put_user(0, dirent->d_name + namlen)) in compat_fillonedir()
443 struct compat_old_linux_dirent __user *, dirent, unsigned int, count) in COMPAT_SYSCALL_DEFINE3() argument
449 .dirent = dirent in COMPAT_SYSCALL_DEFINE3()
481 struct compat_linux_dirent __user * dirent; in compat_filldir() local
496 dirent = buf->previous; in compat_filldir()
497 if (dirent) { in compat_filldir()
500 if (__put_user(offset, &dirent->d_off)) in compat_filldir()
503 dirent = buf->current_dir; in compat_filldir()
504 if (__put_user(d_ino, &dirent->d_ino)) in compat_filldir()
506 if (__put_user(reclen, &dirent->d_reclen)) in compat_filldir()
508 if (copy_to_user(dirent->d_name, name, namlen)) in compat_filldir()
510 if (__put_user(0, dirent->d_name + namlen)) in compat_filldir()
512 if (__put_user(d_type, (char __user *) dirent + reclen - 1)) in compat_filldir()
514 buf->previous = dirent; in compat_filldir()
515 dirent = (void __user *)dirent + reclen; in compat_filldir()
516 buf->current_dir = dirent; in compat_filldir()
525 struct compat_linux_dirent __user *, dirent, unsigned int, count) in COMPAT_SYSCALL_DEFINE3() argument
531 .current_dir = dirent, in COMPAT_SYSCALL_DEFINE3()
536 if (!access_ok(dirent, count)) in COMPAT_SYSCALL_DEFINE3()