ANDROID: fuse-bpf: Add NULL pointer check in fuse_entry_revalidate

If userspace tried to add a backing file in a fuse_dentry_revalidate
where there wasn't one originally, this would trigger a crash. Disallow
this operation for now.

Bug: 296013218
Fixes: 57f3ff9648 ("ANDROID: fuse-bpf v1.1")

Test: fuse_test passes, following script no longer crashes:

adb shell su root setenforce 0
adb shell su root chmod ug+w /data/media
adb shell su root rm /data/media/Android -rf
adb shell su root mkdir -p /storage/emulated/Android/data/test
adb shell su root ls -l /storage/emulated/Android/data/test

Change-Id: Id8a67c43d1edfa010403d5f17e31109b796998cf
Signed-off-by: liujinbao1 <liujinbao1@xiaomi.corp-partner.google.com>
This commit is contained in:
liujinbao1 2023-10-12 12:28:06 +08:00 committed by Todd Kjos
parent 09641ca77f
commit 63d4231d85

View File

@ -192,7 +192,7 @@ static bool backing_data_changed(struct fuse_inode *fi, struct dentry *entry,
int err;
bool ret = true;
if (!entry) {
if (!entry || !fi->backing_inode) {
ret = false;
goto put_backing_file;
}