ima: use path names cache
__getname() uses slab allocation which is faster than kmalloc. Make use of it. Signed-off-by: Dmitry Kasatkin <d.kasatkin@samsung.com> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
This commit is contained in:
parent
c2baec7ffa
commit
456f5fd3f6
|
@ -325,11 +325,11 @@ const char *ima_d_path(struct path *path, char **pathbuf)
|
||||||
{
|
{
|
||||||
char *pathname = NULL;
|
char *pathname = NULL;
|
||||||
|
|
||||||
*pathbuf = kmalloc(PATH_MAX, GFP_KERNEL);
|
*pathbuf = __getname();
|
||||||
if (*pathbuf) {
|
if (*pathbuf) {
|
||||||
pathname = d_absolute_path(path, *pathbuf, PATH_MAX);
|
pathname = d_absolute_path(path, *pathbuf, PATH_MAX);
|
||||||
if (IS_ERR(pathname)) {
|
if (IS_ERR(pathname)) {
|
||||||
kfree(*pathbuf);
|
__putname(*pathbuf);
|
||||||
*pathbuf = NULL;
|
*pathbuf = NULL;
|
||||||
pathname = NULL;
|
pathname = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,7 +246,8 @@ out_digsig:
|
||||||
rc = -EACCES;
|
rc = -EACCES;
|
||||||
kfree(xattr_value);
|
kfree(xattr_value);
|
||||||
out_free:
|
out_free:
|
||||||
kfree(pathbuf);
|
if (pathbuf)
|
||||||
|
__putname(pathbuf);
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&inode->i_mutex);
|
mutex_unlock(&inode->i_mutex);
|
||||||
if ((rc && must_appraise) && (ima_appraise & IMA_APPRAISE_ENFORCE))
|
if ((rc && must_appraise) && (ima_appraise & IMA_APPRAISE_ENFORCE))
|
||||||
|
|
Loading…
Reference in New Issue