Commit be30b16d authored by Eric Paris's avatar Eric Paris

SELinux: calculate and print hashtab stats with a generic function

We have custom debug functions like rangetr_hash_eval and symtab_hash_eval
which do the same thing.  Just create a generic function that takes the name
of the hash table as an argument instead of having custom functions.
Signed-off-by: default avatarEric Paris <eparis@redhat.com>
Reviewed-by: default avatarJames Morris <jmorris@namei.org>
parent 03a4c018
...@@ -423,32 +423,26 @@ static int (*index_f[SYM_NUM]) (void *key, void *datum, void *datap) = ...@@ -423,32 +423,26 @@ static int (*index_f[SYM_NUM]) (void *key, void *datum, void *datap) =
}; };
#ifdef DEBUG_HASHES #ifdef DEBUG_HASHES
static void symtab_hash_eval(struct symtab *s) static void hash_eval(struct hashtab *h, const char *hash_name)
{ {
int i; struct hashtab_info info;
for (i = 0; i < SYM_NUM; i++) {
struct hashtab *h = s[i].table;
struct hashtab_info info;
hashtab_stat(h, &info); hashtab_stat(h, &info);
printk(KERN_DEBUG "SELinux: %s: %d entries and %d/%d buckets used, " printk(KERN_DEBUG "SELinux: %s: %d entries and %d/%d buckets used, "
"longest chain length %d\n", symtab_name[i], h->nel, "longest chain length %d\n", hash_name, h->nel,
info.slots_used, h->size, info.max_chain_len); info.slots_used, h->size, info.max_chain_len);
}
} }
static void rangetr_hash_eval(struct hashtab *h) static void symtab_hash_eval(struct symtab *s)
{ {
struct hashtab_info info; int i;
hashtab_stat(h, &info); for (i = 0; i < SYM_NUM; i++)
printk(KERN_DEBUG "SELinux: rangetr: %d entries and %d/%d buckets used, " hash_eval(s[i].table, symtab_name[i]);
"longest chain length %d\n", h->nel,
info.slots_used, h->size, info.max_chain_len);
} }
#else #else
static inline void rangetr_hash_eval(struct hashtab *h) static inline void hash_eval(struct hashtab *h, char *hash_name)
{ {
} }
#endif #endif
...@@ -1802,7 +1796,7 @@ static int range_read(struct policydb *p, void *fp) ...@@ -1802,7 +1796,7 @@ static int range_read(struct policydb *p, void *fp)
rt = NULL; rt = NULL;
r = NULL; r = NULL;
} }
rangetr_hash_eval(p->range_tr); hash_eval(p->range_tr, "rangetr");
rc = 0; rc = 0;
out: out:
kfree(rt); kfree(rt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment