浏览代码

IMA: open new file for read

When creating a new file, ima_path_check() assumed the new file
was being opened for write. Call ima_path_check() with the
appropriate acc_mode so that the read/write counters are
incremented correctly.

Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
Mimi Zohar 15 年之前
父节点
当前提交
6c1488fd58
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      fs/namei.c

+ 4 - 2
fs/namei.c

@@ -1533,9 +1533,11 @@ int may_open(struct path *path, int acc_mode, int flag)
 	if (error)
 	if (error)
 		return error;
 		return error;
 
 
-	error = ima_path_check(path,
-			       acc_mode & (MAY_READ | MAY_WRITE | MAY_EXEC),
+	error = ima_path_check(path, acc_mode ?
+			       acc_mode & (MAY_READ | MAY_WRITE | MAY_EXEC) :
+			       ACC_MODE(flag) & (MAY_READ | MAY_WRITE),
 			       IMA_COUNT_UPDATE);
 			       IMA_COUNT_UPDATE);
+
 	if (error)
 	if (error)
 		return error;
 		return error;
 	/*
 	/*