diff --git a/fs/fhandle.c b/fs/fhandle.c index a48e4a139be..f7c18e97d85 100644 --- a/fs/fhandle.c +++ b/fs/fhandle.c @@ -198,8 +198,9 @@ static int handle_to_path(int mountdirfd, struct file_handle __user *ufh, goto out_err; } /* copy the full handle */ - if (copy_from_user(handle, ufh, - sizeof(struct file_handle) + + *handle = f_handle; + if (copy_from_user(&handle->f_handle, + &ufh->f_handle, f_handle.handle_bytes)) { retval = -EFAULT; goto out_handle;