Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 257313b2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

selinux: avoid unnecessary avc cache stat hit count



There is no point in counting hits - we can calculate it from the number
of lookups and misses.

This makes the avc statistics a bit smaller, and makes the code
generation better too.

Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 044aea9b
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -343,11 +343,10 @@ static struct avc_node *avc_lookup(u32 ssid, u32 tsid, u16 tclass)
	node = avc_search_node(ssid, tsid, tclass);

	if (node)
		avc_cache_stats_incr(hits);
	else
		avc_cache_stats_incr(misses);

		return node;

	avc_cache_stats_incr(misses);
	return NULL;
}

static int avc_latest_notif_update(int seqno, int is_insert)
@@ -765,7 +764,7 @@ int avc_has_perm_noaudit(u32 ssid, u32 tsid,
	rcu_read_lock();

	node = avc_lookup(ssid, tsid, tclass);
	if (!node) {
	if (unlikely(!node)) {
		rcu_read_unlock();

		if (in_avd)
+0 −1
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ struct sk_buff;
 */
struct avc_cache_stats {
	unsigned int lookups;
	unsigned int hits;
	unsigned int misses;
	unsigned int allocations;
	unsigned int reclaims;
+7 −3
Original line number Diff line number Diff line
@@ -1380,10 +1380,14 @@ static int sel_avc_stats_seq_show(struct seq_file *seq, void *v)
	if (v == SEQ_START_TOKEN)
		seq_printf(seq, "lookups hits misses allocations reclaims "
			   "frees\n");
	else
		seq_printf(seq, "%u %u %u %u %u %u\n", st->lookups,
			   st->hits, st->misses, st->allocations,
	else {
		unsigned int lookups = st->lookups;
		unsigned int misses = st->misses;
		unsigned int hits = lookups - misses;
		seq_printf(seq, "%u %u %u %u %u %u\n", lookups,
			   hits, misses, st->allocations,
			   st->reclaims, st->frees);
	}
	return 0;
}