Skip to content

Commit

Permalink
SELinux: calculate and print hashtab stats with a generic function
Browse files Browse the repository at this point in the history
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: Eric Paris <eparis@redhat.com>
Reviewed-by: James Morris <jmorris@namei.org>
  • Loading branch information
Eric Paris committed Apr 28, 2011
1 parent 03a4c01 commit be30b16
Showing 1 changed file with 13 additions and 19 deletions.
32 changes: 13 additions & 19 deletions security/selinux/ss/policydb.c
Original file line number Diff line number Diff line change
Expand Up @@ -423,32 +423,26 @@ static int (*index_f[SYM_NUM]) (void *key, void *datum, void *datap) =
};

#ifdef DEBUG_HASHES
static void symtab_hash_eval(struct symtab *s)
static void hash_eval(struct hashtab *h, const char *hash_name)
{
int i;

for (i = 0; i < SYM_NUM; i++) {
struct hashtab *h = s[i].table;
struct hashtab_info info;
struct hashtab_info info;

hashtab_stat(h, &info);
printk(KERN_DEBUG "SELinux: %s: %d entries and %d/%d buckets used, "
"longest chain length %d\n", symtab_name[i], h->nel,
info.slots_used, h->size, info.max_chain_len);
}
hashtab_stat(h, &info);
printk(KERN_DEBUG "SELinux: %s: %d entries and %d/%d buckets used, "
"longest chain length %d\n", hash_name, h->nel,
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);
printk(KERN_DEBUG "SELinux: rangetr: %d entries and %d/%d buckets used, "
"longest chain length %d\n", h->nel,
info.slots_used, h->size, info.max_chain_len);
for (i = 0; i < SYM_NUM; i++)
hash_eval(s[i].table, symtab_name[i]);
}

#else
static inline void rangetr_hash_eval(struct hashtab *h)
static inline void hash_eval(struct hashtab *h, char *hash_name)
{
}
#endif
Expand Down Expand Up @@ -1802,7 +1796,7 @@ static int range_read(struct policydb *p, void *fp)
rt = NULL;
r = NULL;
}
rangetr_hash_eval(p->range_tr);
hash_eval(p->range_tr, "rangetr");
rc = 0;
out:
kfree(rt);
Expand Down

0 comments on commit be30b16

Please sign in to comment.