diff options
Diffstat (limited to 'fs/xfs')
| -rw-r--r-- | fs/xfs/xfs_ioctl.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index bcfe61202115..0b18776b075e 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c | |||
| @@ -271,32 +271,6 @@ xfs_open_by_handle( | |||
| 271 | return error; | 271 | return error; |
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | /* | ||
| 275 | * This is a copy from fs/namei.c:vfs_readlink(), except for removing it's | ||
| 276 | * unused first argument. | ||
| 277 | */ | ||
| 278 | STATIC int | ||
| 279 | do_readlink( | ||
| 280 | char __user *buffer, | ||
| 281 | int buflen, | ||
| 282 | const char *link) | ||
| 283 | { | ||
| 284 | int len; | ||
| 285 | |||
| 286 | len = PTR_ERR(link); | ||
| 287 | if (IS_ERR(link)) | ||
| 288 | goto out; | ||
| 289 | |||
| 290 | len = strlen(link); | ||
| 291 | if (len > (unsigned) buflen) | ||
| 292 | len = buflen; | ||
| 293 | if (copy_to_user(buffer, link, len)) | ||
| 294 | len = -EFAULT; | ||
| 295 | out: | ||
| 296 | return len; | ||
| 297 | } | ||
| 298 | |||
| 299 | |||
| 300 | int | 274 | int |
| 301 | xfs_readlink_by_handle( | 275 | xfs_readlink_by_handle( |
| 302 | struct file *parfilp, | 276 | struct file *parfilp, |
| @@ -334,7 +308,7 @@ xfs_readlink_by_handle( | |||
| 334 | error = -xfs_readlink(XFS_I(dentry->d_inode), link); | 308 | error = -xfs_readlink(XFS_I(dentry->d_inode), link); |
| 335 | if (error) | 309 | if (error) |
| 336 | goto out_kfree; | 310 | goto out_kfree; |
| 337 | error = do_readlink(hreq->ohandle, olen, link); | 311 | error = readlink_copy(hreq->ohandle, olen, link); |
| 338 | if (error) | 312 | if (error) |
| 339 | goto out_kfree; | 313 | goto out_kfree; |
| 340 | 314 | ||
