mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
ANDROID: sdcardfs: Don't iput if we didn't igrab
If we fail to get top, top is either NULL, or igrab found that we're in the process of freeing that inode, and did not grab it. Either way, we didn't grab it, and have no business putting it. Signed-off-by: Daniel Rosenberg <drosen@google.com> Bug: 38117720 Change-Id: Ie2f587483b9abb5144263156a443e89bc69b767b
This commit is contained in:
committed by
Daniel Rosenberg
parent
6bf837d910
commit
0df2f98282
@@ -622,11 +622,8 @@ static int sdcardfs_permission(struct vfsmount *mnt, struct inode *inode, int ma
|
||||
struct inode tmp;
|
||||
struct inode *top = grab_top(SDCARDFS_I(inode));
|
||||
|
||||
if (!top) {
|
||||
release_top(SDCARDFS_I(inode));
|
||||
WARN(1, "Top value was null!\n");
|
||||
if (!top)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Permission check on sdcardfs inode.
|
||||
@@ -701,10 +698,8 @@ static int sdcardfs_setattr(struct vfsmount *mnt, struct dentry *dentry, struct
|
||||
inode = d_inode(dentry);
|
||||
top = grab_top(SDCARDFS_I(inode));
|
||||
|
||||
if (!top) {
|
||||
release_top(SDCARDFS_I(inode));
|
||||
if (!top)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Permission check on sdcardfs inode.
|
||||
|
||||
Reference in New Issue
Block a user