|
@@ -144,12 +144,12 @@ SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
|
|
|
struct osf_dirent __user *, dirent, unsigned int, count,
|
|
|
long __user *, basep)
|
|
|
{
|
|
|
- int error;
|
|
|
+ int error, fput_needed;
|
|
|
struct file *file;
|
|
|
struct osf_dirent_callback buf;
|
|
|
|
|
|
error = -EBADF;
|
|
|
- file = fget(fd);
|
|
|
+ file = fget_light(fd, &fput_needed);
|
|
|
if (!file)
|
|
|
goto out;
|
|
|
|
|
@@ -164,7 +164,7 @@ SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
|
|
|
if (count != buf.count)
|
|
|
error = count - buf.count;
|
|
|
|
|
|
- fput(file);
|
|
|
+ fput_light(file, fput_needed);
|
|
|
out:
|
|
|
return error;
|
|
|
}
|