Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: invalidate target of rename fuse: fix kunmap in fuse_ioctl_copy_user fuse: prevent fuse_put_request on invalid pointer
This commit is contained in:
commit
e5a9236222
|
@ -712,8 +712,10 @@ static int fuse_rename(struct inode *olddir, struct dentry *oldent,
|
|||
fuse_invalidate_attr(newdir);
|
||||
|
||||
/* newent will end up negative */
|
||||
if (newent->d_inode)
|
||||
if (newent->d_inode) {
|
||||
fuse_invalidate_attr(newent->d_inode);
|
||||
fuse_invalidate_entry_cache(newent);
|
||||
}
|
||||
} else if (err == -EINTR) {
|
||||
/* If request was interrupted, DEITY only knows if the
|
||||
rename actually took place. If the invalidation
|
||||
|
|
|
@ -1063,7 +1063,8 @@ ssize_t fuse_direct_io(struct file *file, const char __user *buf,
|
|||
break;
|
||||
}
|
||||
}
|
||||
fuse_put_request(fc, req);
|
||||
if (!IS_ERR(req))
|
||||
fuse_put_request(fc, req);
|
||||
if (res > 0)
|
||||
*ppos = pos;
|
||||
|
||||
|
@ -1599,7 +1600,7 @@ static int fuse_ioctl_copy_user(struct page **pages, struct iovec *iov,
|
|||
kaddr += copy;
|
||||
}
|
||||
|
||||
kunmap(map);
|
||||
kunmap(page);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue