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>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user