Commit 3348bd33 authored by Ondrej Mosnacek's avatar Ondrej Mosnacek Committed by Paul Moore
Browse files

selinux: simplify range_write()



No need to traverse the hashtab to count its elements, hashtab already
tracks it for us.

Signed-off-by: default avatarOndrej Mosnacek <omosnace@redhat.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent 4c09f8b6
Loading
Loading
Loading
Loading
+2 −16
Original line number Diff line number Diff line
@@ -3405,14 +3405,6 @@ static int genfs_write(struct policydb *p, void *fp)
	return 0;
}

static int hashtab_cnt(void *key, void *data, void *ptr)
{
	int *cnt = ptr;
	*cnt = *cnt + 1;

	return 0;
}

static int range_write_helper(void *key, void *data, void *ptr)
{
	__le32 buf[2];
@@ -3444,19 +3436,13 @@ static int range_write_helper(void *key, void *data, void *ptr)
static int range_write(struct policydb *p, void *fp)
{
	__le32 buf[1];
	int rc, nel;
	int rc;
	struct policy_data pd;

	pd.p = p;
	pd.fp = fp;

	/* count the number of entries in the hashtab */
	nel = 0;
	rc = hashtab_map(p->range_tr, hashtab_cnt, &nel);
	if (rc)
		return rc;

	buf[0] = cpu_to_le32(nel);
	buf[0] = cpu_to_le32(p->range_tr->nel);
	rc = put_entry(buf, sizeof(u32), 1, fp);
	if (rc)
		return rc;