Lines Matching refs:dirent
18 #include <linux/dirent.h>
118 * POSIX says that a dirent name cannot contain NULL or a '/'.
159 * dirent-structure in size and that the code can't handle more
175 struct old_linux_dirent __user * dirent;
184 struct old_linux_dirent __user * dirent;
198 dirent = buf->dirent;
199 if (!user_write_access_begin(dirent,
200 (unsigned long)(dirent->d_name + namlen + 1) -
201 (unsigned long)dirent))
203 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
204 unsafe_put_user(offset, &dirent->d_offset, efault_end);
205 unsafe_put_user(namlen, &dirent->d_namlen, efault_end);
206 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
217 struct old_linux_dirent __user *, dirent, unsigned int, count)
223 .dirent = dirent
261 struct linux_dirent __user *dirent, *prev;
283 dirent = buf->current_dir;
284 prev = (void __user *) dirent - prev_reclen;
288 /* This might be 'dirent->d_off', but if so it will get overwritten */
290 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
291 unsafe_put_user(reclen, &dirent->d_reclen, efault_end);
292 unsafe_put_user(d_type, (char __user *) dirent + reclen - 1, efault_end);
293 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
296 buf->current_dir = (void __user *)dirent + reclen;
308 struct linux_dirent __user *, dirent, unsigned int, count)
314 .current_dir = dirent
349 struct linux_dirent64 __user *dirent, *prev;
365 dirent = buf->current_dir;
366 prev = (void __user *)dirent - prev_reclen;
370 /* This might be 'dirent->d_off', but if so it will get overwritten */
372 unsafe_put_user(ino, &dirent->d_ino, efault_end);
373 unsafe_put_user(reclen, &dirent->d_reclen, efault_end);
374 unsafe_put_user(d_type, &dirent->d_type, efault_end);
375 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
379 buf->current_dir = (void __user *)dirent + reclen;
391 struct linux_dirent64 __user *, dirent, unsigned int, count)
397 .current_dir = dirent
432 struct compat_old_linux_dirent __user *dirent;
442 struct compat_old_linux_dirent __user *dirent;
456 dirent = buf->dirent;
457 if (!user_write_access_begin(dirent,
458 (unsigned long)(dirent->d_name + namlen + 1) -
459 (unsigned long)dirent))
461 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
462 unsafe_put_user(offset, &dirent->d_offset, efault_end);
463 unsafe_put_user(namlen, &dirent->d_namlen, efault_end);
464 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
475 struct compat_old_linux_dirent __user *, dirent, unsigned int, count)
481 .dirent = dirent
513 struct compat_linux_dirent __user *dirent, *prev;
535 dirent = buf->current_dir;
536 prev = (void __user *) dirent - prev_reclen;
541 unsafe_put_user(d_ino, &dirent->d_ino, efault_end);
542 unsafe_put_user(reclen, &dirent->d_reclen, efault_end);
543 unsafe_put_user(d_type, (char __user *) dirent + reclen - 1, efault_end);
544 unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
548 buf->current_dir = (void __user *)dirent + reclen;
559 struct compat_linux_dirent __user *, dirent, unsigned int, count)
564 .current_dir = dirent,