Skip to content

Commit

Permalink
IMA: remove read permissions on the ima policy file
Browse files Browse the repository at this point in the history
The IMA policy file does not implement read.  Trying to just open/read/close
the file will load a blank policy and you cannot then change the policy
without a reboot.  This removes the read permission from the file so one must
at least be attempting to write...

Signed-off-by: Eric Paris <[email protected]>
Acked-by: Mimi Zohar <[email protected]>
Signed-off-by: James Morris <[email protected]>
  • Loading branch information
eparis authored and James Morris committed May 14, 2009
1 parent b103387 commit f850a7c
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion security/integrity/ima/ima_fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
* implemenents security file system for reporting
* current measurement list and IMA statistics
*/
#include <linux/fcntl.h>
#include <linux/module.h>
#include <linux/seq_file.h>
#include <linux/rculist.h>
Expand Down Expand Up @@ -283,6 +284,9 @@ static atomic_t policy_opencount = ATOMIC_INIT(1);
*/
int ima_open_policy(struct inode * inode, struct file * filp)
{
/* No point in being allowed to open it if you aren't going to write */
if (!(filp->f_flags & O_WRONLY))
return -EACCES;
if (atomic_dec_and_test(&policy_opencount))
return 0;
return -EBUSY;
Expand Down Expand Up @@ -349,7 +353,7 @@ int ima_fs_init(void)
goto out;

ima_policy = securityfs_create_file("policy",
S_IRUSR | S_IRGRP | S_IWUSR,
S_IWUSR,
ima_dir, NULL,
&ima_measure_policy_ops);
if (IS_ERR(ima_policy))
Expand Down

0 comments on commit f850a7c

Please sign in to comment.