ANDROID: incfs: Add check for ATTR_KILL_SUID and ATTR_MODE in incfs_setattr
Add an explicite check for ATTR_KILL_SUID and ATTR_MODE in incfs_setattr.
Both of these attributes can not be set at the same time, otherwise
notify_change() function will check it and invoke BUG(), crashing
the system.
Bug: 243394930
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Change-Id: I91080d68efbd62f1441e20a5c02feef3d1b06e4e
diff --git a/fs/incfs/vfs.c b/fs/incfs/vfs.c
index 7766404..342998f 100644
--- a/fs/incfs/vfs.c
+++ b/fs/incfs/vfs.c
@@ -1592,6 +1592,10 @@
if (ia->ia_valid & ATTR_SIZE)
return -EINVAL;
+ if ((ia->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID)) &&
+ (ia->ia_valid & ATTR_MODE))
+ return -EINVAL;
+
if (!di)
return -EINVAL;
backing_dentry = di->backing_path.dentry;