[readdir] constify ->actor
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
33
fs/compat.c
33
fs/compat.c
@@ -874,15 +874,14 @@ asmlinkage long compat_sys_old_readdir(unsigned int fd,
|
||||
{
|
||||
int error;
|
||||
struct fd f = fdget(fd);
|
||||
struct compat_readdir_callback buf;
|
||||
struct compat_readdir_callback buf = {
|
||||
.ctx.actor = compat_fillonedir,
|
||||
.dirent = dirent
|
||||
};
|
||||
|
||||
if (!f.file)
|
||||
return -EBADF;
|
||||
|
||||
buf.result = 0;
|
||||
buf.dirent = dirent;
|
||||
buf.ctx.actor = compat_fillonedir;
|
||||
|
||||
error = iterate_dir(f.file, &buf.ctx);
|
||||
if (buf.result)
|
||||
error = buf.result;
|
||||
@@ -954,7 +953,11 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
|
||||
{
|
||||
struct fd f;
|
||||
struct compat_linux_dirent __user * lastdirent;
|
||||
struct compat_getdents_callback buf;
|
||||
struct compat_getdents_callback buf = {
|
||||
.ctx.actor = compat_filldir,
|
||||
.current_dir = dirent,
|
||||
.count = count
|
||||
};
|
||||
int error;
|
||||
|
||||
if (!access_ok(VERIFY_WRITE, dirent, count))
|
||||
@@ -964,12 +967,6 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
|
||||
if (!f.file)
|
||||
return -EBADF;
|
||||
|
||||
buf.current_dir = dirent;
|
||||
buf.previous = NULL;
|
||||
buf.count = count;
|
||||
buf.error = 0;
|
||||
buf.ctx.actor = compat_filldir;
|
||||
|
||||
error = iterate_dir(f.file, &buf.ctx);
|
||||
if (error >= 0)
|
||||
error = buf.error;
|
||||
@@ -1041,7 +1038,11 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
|
||||
{
|
||||
struct fd f;
|
||||
struct linux_dirent64 __user * lastdirent;
|
||||
struct compat_getdents_callback64 buf;
|
||||
struct compat_getdents_callback64 buf = {
|
||||
.ctx.actor = compat_filldir64,
|
||||
.current_dir = dirent,
|
||||
.count = count
|
||||
};
|
||||
int error;
|
||||
|
||||
if (!access_ok(VERIFY_WRITE, dirent, count))
|
||||
@@ -1051,12 +1052,6 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
|
||||
if (!f.file)
|
||||
return -EBADF;
|
||||
|
||||
buf.current_dir = dirent;
|
||||
buf.previous = NULL;
|
||||
buf.count = count;
|
||||
buf.error = 0;
|
||||
buf.ctx.actor = compat_filldir64;
|
||||
|
||||
error = iterate_dir(f.file, &buf.ctx);
|
||||
if (error >= 0)
|
||||
error = buf.error;
|
||||
|
Reference in New Issue
Block a user