diff options
author | Junil Lee <junil0814.lee@lge.com> | 2017-06-08 06:18:09 +0200 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2017-06-09 22:13:50 +0200 |
commit | b4958c892e02241b9bd121f3397b76225ff6f4a3 (patch) | |
tree | e471fff24bbfa77f27596102f1be03c9dde77988 /security/selinux/ss/services.c | |
parent | selinux: use pernet operations for hook registration (diff) | |
download | linux-b4958c892e02241b9bd121f3397b76225ff6f4a3.tar.xz linux-b4958c892e02241b9bd121f3397b76225ff6f4a3.zip |
selinux: use kmem_cache for ebitmap
The allocated size for each ebitmap_node is 192byte by kzalloc().
Then, ebitmap_node size is fixed, so it's possible to use only 144byte
for each object by kmem_cache_zalloc().
It can reduce some dynamic allocation size.
Signed-off-by: Junil Lee <junil0814.lee@lge.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security/selinux/ss/services.c')
-rw-r--r-- | security/selinux/ss/services.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 202166612b80..2f02fa67ec2e 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -2054,9 +2054,11 @@ int security_load_policy(void *data, size_t len) if (!ss_initialized) { avtab_cache_init(); + ebitmap_cache_init(); rc = policydb_read(&policydb, fp); if (rc) { avtab_cache_destroy(); + ebitmap_cache_destroy(); goto out; } @@ -2067,6 +2069,7 @@ int security_load_policy(void *data, size_t len) if (rc) { policydb_destroy(&policydb); avtab_cache_destroy(); + ebitmap_cache_destroy(); goto out; } @@ -2074,6 +2077,7 @@ int security_load_policy(void *data, size_t len) if (rc) { policydb_destroy(&policydb); avtab_cache_destroy(); + ebitmap_cache_destroy(); goto out; } |