eCryptfs: fix ecryptfs_privileged_open() for read only files
Subsystems (2)
PATCH 1/1 eCryptfs: fix ecryptfs_privileged_open() for read only files
The intent here is to handle read only opens differently. For example, if we don't want to create the file if it doesn't exist. The problem here is that O_RDONLY is 0 and if (x & 0) {... is always false.
---
This is a static checker bug, and I am not very familiar with eCryptfs. Please review carefully.
fs/ecryptfs/kthread.c +1 -1
@@ -149,7 +149,7 @@ int ecryptfs_privileged_open(struct file **lower_file, (*lower_file) =dentry_open (lower_dentry, lower_mnt, flags, cred);if (!IS_ERR (*lower_file)) goto out; -if (flags &O_RDONLY ) { +if (!(flags &O_RDWR )) { rc =PTR_ERR ((*lower_file)); goto out; }
Quoted 5 lines · Dan Carpenter
The intent here is to handle read only opens differently. For example, if we don't want to create the file if it doesn't exist. The problem here is that
O_RDONLYis 0 and if (x & 0) {... is always false.Signed-off-by Dan Carpenter <[email protected]>
Thanks, Dan! I committed a slightly different fix with more context in the commit message (because I had to remind myself what was going on with that conditional in the first place).
Tyler
Quoted 21 lines
---
This is a static checker bug, and I am not very familiar with eCryptfs. Please review carefully.fs/ecryptfs/kthread.c +1
-2@@ -149,7 +149,7 @@ int ecryptfs_privileged_open(struct file **lower_file, (*lower_file) =dentry_open (lower_dentry, lower_mnt, flags, cred);if (!IS_ERR (*lower_file)) goto out; -if (flags &O_RDONLY ) { +if (!(flags &O_RDWR )) { rc =PTR_ERR ((*lower_file)); goto out; } --To unsubscribe from this list: send the line "unsubscribe ecryptfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 5 lines · Tyler Hicks
Quoted 4 lines · Dan Carpenter
The intent here is to handle read only opens differently. For example, if we don't want to create the file if it doesn't exist. The problem here is that
O_RDONLYis 0 and if (x & 0) {... is always false.
Quoted 8 lines
Quoted 1 line
Signed-off-by Dan Carpenter <[email protected]>Thanks, Dan! I committed a slightly different fix with more context in the commit message (because I had to remind myself what was going on with that conditional in the first place).
Looks good.
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html