ANDROID: fuse-bpf: Fix truncate

Maps would crash every second launch. This was caused by maps receiving
an incorrect file size after truncate, then mapping the file.

Bug: 215486645
Test: fuse_test + launch maps 100 times & look for native crashes
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: I13b0211330fb48592864ab53f8ffff60c19aab11
This commit is contained in:
Paul Lawrence
2022-01-27 20:44:30 +00:00
parent 0da4b942e0
commit 9ef501f329

View File

@@ -1738,6 +1738,9 @@ int fuse_setattr_backing(struct fuse_args *fa,
inode_lock(d_inode(backing_path->dentry));
res = notify_change(backing_path->dentry, &new_attr, NULL);
inode_unlock(d_inode(backing_path->dentry));
if (res == 0 && (new_attr.ia_valid & ATTR_SIZE))
i_size_write(dentry->d_inode, new_attr.ia_size);
return res;
}