ima: eliminate passing d_name.name to process_measurement()
authorMimi Zohar <zohar@linux.vnet.ibm.com>
Mon, 15 Apr 2013 15:27:20 +0000 (11:27 -0400)
committerJames Morris <james.l.morris@oracle.com>
Thu, 18 Apr 2013 00:20:57 +0000 (17:20 -0700)
commitdf2c2afba4fa867616436364633c7612ccfba84b
tree7a5c2c9656a734e69d95ce43a5663995f7878fc7
parent958d2c2f4ad905e3ffa1711d19184d21d9b00cc1
ima: eliminate passing d_name.name to process_measurement()

Passing a pointer to the dentry name, as a parameter to
process_measurement(), causes a race condition with rename() and
is unnecessary, as the dentry name is already accessible via the
file parameter.

In the normal case, we use the full pathname as provided by
brpm->filename, bprm->interp, or ima_d_path().  Only on ima_d_path()
failure, do we fallback to using the d_name.name, which points
either to external memory or d_iname.

Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
security/integrity/ima/ima_main.c