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: Dmitry Kasatkin <d.kasatkin@samsung.com> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Этот коммит содержится в:

коммит произвёл
Mimi Zohar

родитель
2bb930abcf
Коммит
61997c4383
@@ -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,
|
||||
|
Ссылка в новой задаче
Block a user