Lines Matching refs:dirent
18 #include <linux/dirent.h>
82 * POSIX says that a dirent name cannot contain NULL or a '/'.
123 * dirent-structure in size and that the code can't handle more
139 struct old_linux_dirent __user * dirent;
148 struct old_linux_dirent __user * dirent;
162 dirent = buf->dirent;
163 if (!user_write_access_begin(dirent,
164 (unsigned long)(dirent->d_name + namlen + 1) -
165 (unsigned long)dirent))
167 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
168 unsafe_put_user(offset, &dirent->d_offset, efault_end);
169 unsafe_put_user(namlen, &dirent->d_namlen, efault_end);
170 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
181 struct old_linux_dirent __user *, dirent, unsigned int, count)
187 .dirent = dirent
225 struct linux_dirent __user *dirent, *prev;
247 dirent = buf->current_dir;
248 prev = (void __user *) dirent - prev_reclen;
252 /* This might be 'dirent->d_off', but if so it will get overwritten */
254 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
255 unsafe_put_user(reclen, &dirent->d_reclen, efault_end);
256 unsafe_put_user(d_type, (char __user *) dirent + reclen - 1, efault_end);
257 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
260 buf->current_dir = (void __user *)dirent + reclen;
272 struct linux_dirent __user *, dirent, unsigned int, count)
278 .current_dir = dirent
313 struct linux_dirent64 __user *dirent, *prev;
329 dirent = buf->current_dir;
330 prev = (void __user *)dirent - prev_reclen;
334 /* This might be 'dirent->d_off', but if so it will get overwritten */
336 unsafe_put_user(ino, &dirent->d_ino, efault_end);
337 unsafe_put_user(reclen, &dirent->d_reclen, efault_end);
338 unsafe_put_user(d_type, &dirent->d_type, efault_end);
339 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
343 buf->current_dir = (void __user *)dirent + reclen;
355 struct linux_dirent64 __user *, dirent, unsigned int, count)
361 .current_dir = dirent
396 struct compat_old_linux_dirent __user *dirent;
406 struct compat_old_linux_dirent __user *dirent;
420 dirent = buf->dirent;
421 if (!user_write_access_begin(dirent,
422 (unsigned long)(dirent->d_name + namlen + 1) -
423 (unsigned long)dirent))
425 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
426 unsafe_put_user(offset, &dirent->d_offset, efault_end);
427 unsafe_put_user(namlen, &dirent->d_namlen, efault_end);
428 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
439 struct compat_old_linux_dirent __user *, dirent, unsigned int, count)
445 .dirent = dirent
477 struct compat_linux_dirent __user *dirent, *prev;
499 dirent = buf->current_dir;
500 prev = (void __user *) dirent - prev_reclen;
505 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
506 unsafe_put_user(reclen, &dirent->d_reclen, efault_end);
507 unsafe_put_user(d_type, (char __user *) dirent + reclen - 1, efault_end);
508 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
512 buf->current_dir = (void __user *)dirent + reclen;
523 struct compat_linux_dirent __user *, dirent, unsigned int, count)
528 .current_dir = dirent,