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
This commit is contained in:
Tadeusz Struk 2022-09-13 10:56:54 -07:00 committed by Treehugger Robot
parent 51ba045c81
commit 7eaac3e1c5

View file

@ -1609,6 +1609,10 @@ static int incfs_setattr(struct user_namespace *ns, struct dentry *dentry,
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;