Re: [PATCH 3/8] ima: return d_name.name if d_path fails

From: Mimi Zohar
Date: Mon Mar 03 2014 - 08:45:59 EST


On Fri, 2014-02-28 at 16:59 +0200, Dmitry Kasatkin wrote:
> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx>

Nice refactoring. Please add a patch description.

Mimi
> ---
> security/integrity/ima/ima_api.c | 2 +-
> security/integrity/ima/ima_main.c | 7 +------
> 2 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c
> index c6b4a73..ba9e4d7 100644
> --- a/security/integrity/ima/ima_api.c
> +++ b/security/integrity/ima/ima_api.c
> @@ -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;
> }
> diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
> index 50413d0..52ac6cf 100644
> --- a/security/integrity/ima/ima_main.c
> +++ b/security/integrity/ima/ima_main.c
> @@ -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 @@ out:
> 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,


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/