# \[PATCH RESEND v2 08/18\] cred: Reject inodes with invalid ids in set\_create\_file\_as()

- From: Seth Forshee \<hidden\>
- Date: 2016-01-04 18:04:24 
- List: linux-raid
- Page: https://ratatoskr.run/linux-raid/2016/01/104023
- Thread: https://ratatoskr.run/linux-bcache/2016/01/103178/t.md

```text
Using INVALID_[UG]ID for the LSM file creation context doesn't
make sense, so return an error if the inode passed to
set_create_file_as() has an invalid id.

Signed-off-by: Seth Forshee <redacted>
Acked-by: Serge Hallyn <redacted>
---
 kernel/cred.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/cred.c b/kernel/cred.c
index 71179a09c1d6..ff8606f77d90 100644
--- a/kernel/cred.c
+++ b/kernel/cred.c
@@ -689,6 +689,8 @@ EXPORT_SYMBOL(set_security_override_from_ctx);
  */
 int set_create_files_as(struct cred *new, struct inode *inode)
 {
+	if (!uid_valid(inode->i_uid) || !gid_valid(inode->i_gid))
+		return -EINVAL;
 	new->fsuid = inode->i_uid;
 	new->fsgid = inode->i_gid;
 	return security_kernel_create_files_as(new, inode);
-- 
1.9.1


------------------------------------------------------------------------------
```
