diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-08-28 12:52:22 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-26 22:20:08 -0400 |
| commit | 2903ff019b346ab8d36ebbf54853c3aaf6590608 (patch) | |
| tree | 962d94054765bb37bc00e977c3036e65c5fd91fe /arch/alpha | |
| parent | a5b470ba06aa3f96999ede5feba178df6bdb134a (diff) | |
switch simple cases of fget_light to fdget
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/alpha')
| -rw-r--r-- | arch/alpha/kernel/osf_sys.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index d6c49e67d3f..f1daf7ae42e 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c | |||
| @@ -144,28 +144,25 @@ SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd, | |||
| 144 | struct osf_dirent __user *, dirent, unsigned int, count, | 144 | struct osf_dirent __user *, dirent, unsigned int, count, |
| 145 | long __user *, basep) | 145 | long __user *, basep) |
| 146 | { | 146 | { |
| 147 | int error, fput_needed; | 147 | int error; |
| 148 | struct file *file; | 148 | struct fd arg = fdget(fd); |
| 149 | struct osf_dirent_callback buf; | 149 | struct osf_dirent_callback buf; |
| 150 | 150 | ||
| 151 | error = -EBADF; | 151 | if (!arg.file) |
| 152 | file = fget_light(fd, &fput_needed); | 152 | return -EBADF; |
| 153 | if (!file) | ||
| 154 | goto out; | ||
| 155 | 153 | ||
| 156 | buf.dirent = dirent; | 154 | buf.dirent = dirent; |
| 157 | buf.basep = basep; | 155 | buf.basep = basep; |
| 158 | buf.count = count; | 156 | buf.count = count; |
| 159 | buf.error = 0; | 157 | buf.error = 0; |
| 160 | 158 | ||
| 161 | error = vfs_readdir(file, osf_filldir, &buf); | 159 | error = vfs_readdir(arg.file, osf_filldir, &buf); |
| 162 | if (error >= 0) | 160 | if (error >= 0) |
| 163 | error = buf.error; | 161 | error = buf.error; |
| 164 | if (count != buf.count) | 162 | if (count != buf.count) |
| 165 | error = count - buf.count; | 163 | error = count - buf.count; |
| 166 | 164 | ||
| 167 | fput_light(file, fput_needed); | 165 | fdput(arg); |
| 168 | out: | ||
| 169 | return error; | 166 | return error; |
| 170 | } | 167 | } |
| 171 | 168 | ||
