Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61997c43 authored by Dmitry Kasatkin's avatar Dmitry Kasatkin Committed by Mimi Zohar
Browse files

ima: return d_name.name if d_path fails



This is a small refactoring so ima_d_path() returns dentry name
if path reconstruction fails. It simplifies callers actions
and removes code duplication.

Signed-off-by: default avatarDmitry Kasatkin <d.kasatkin@samsung.com>
Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
parent 2bb930ab
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -332,5 +332,5 @@ const char *ima_d_path(struct path *path, char **pathbuf)
			pathname = NULL;
		}
	}
	return pathname;
	return pathname ?: (const char *)path->dentry->d_name.name;
}
+1 −6
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ __setup("ima_hash=", hash_setup);
 */
static void ima_rdwr_violation_check(struct file *file)
{
	struct dentry *dentry = file->f_path.dentry;
	struct inode *inode = file_inode(file);
	fmode_t mode = file->f_mode;
	int must_measure;
@@ -111,8 +110,6 @@ static void ima_rdwr_violation_check(struct file *file)
		return;

	pathname = ima_d_path(&file->f_path, &pathbuf);
	if (!pathname || strlen(pathname) > IMA_EVENT_NAME_LEN_MAX)
		pathname = dentry->d_name.name;

	if (send_tomtou)
		ima_add_violation(file, pathname, "invalid_pcr", "ToMToU");
@@ -220,9 +217,7 @@ static int process_measurement(struct file *file, const char *filename,
	if (rc != 0)
		goto out_digsig;

	pathname = !filename ? ima_d_path(&file->f_path, &pathbuf) : filename;
	if (!pathname)
		pathname = (const char *)file->f_dentry->d_name.name;
	pathname = filename ?: ima_d_path(&file->f_path, &pathbuf);

	if (action & IMA_MEASURE)
		ima_store_measurement(iint, file, pathname,