Commit 9a5f04bf authored by Jesper Juhl's avatar Jesper Juhl Committed by Linus Torvalds
Browse files

[PATCH] selinux: kfree cleanup



kfree(NULL) is legal.

Signed-off-by: default avatarJesper Juhl <juhl-lkml@dif.dk>
Acked-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a2ba192c
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1658,9 +1658,8 @@ static int selinux_bprm_secureexec (struct linux_binprm *bprm)

static void selinux_bprm_free_security(struct linux_binprm *bprm)
{
	struct bprm_security_struct *bsec = bprm->security;
	kfree(bprm->security);
	bprm->security = NULL;
	kfree(bsec);
}

extern struct vfsmount *selinuxfs_mount;
+3 −6
Original line number Diff line number Diff line
@@ -951,7 +951,6 @@ static int sel_make_bools(void)
	u32 sid;

	/* remove any existing files */
	if (bool_pending_values)
	kfree(bool_pending_values);

	sel_remove_bools(dir);
@@ -997,10 +996,8 @@ static int sel_make_bools(void)
out:
	free_page((unsigned long)page);
	if (names) {
		for (i = 0; i < num; i++) {
			if (names[i])
		for (i = 0; i < num; i++)
			kfree(names[i]);
		}
		kfree(names);
	}
	return ret;
+3 −6
Original line number Diff line number Diff line
@@ -166,7 +166,6 @@ static void cond_list_destroy(struct cond_node *list)

void cond_policydb_destroy(struct policydb *p)
{
	if (p->bool_val_to_struct != NULL)
	kfree(p->bool_val_to_struct);
	avtab_destroy(&p->te_cond_avtab);
	cond_list_destroy(p->cond_list);
@@ -174,7 +173,6 @@ void cond_policydb_destroy(struct policydb *p)

int cond_init_bool_indexes(struct policydb *p)
{
	if (p->bool_val_to_struct)
	kfree(p->bool_val_to_struct);
	p->bool_val_to_struct = (struct cond_bool_datum**)
		kmalloc(p->p_bools.nprim * sizeof(struct cond_bool_datum*), GFP_KERNEL);
@@ -185,7 +183,6 @@ int cond_init_bool_indexes(struct policydb *p)

int cond_destroy_bool(void *key, void *datum, void *p)
{
	if (key)
	kfree(key);
	kfree(datum);
	return 0;
+5 −10
Original line number Diff line number Diff line
@@ -590,16 +590,11 @@ void policydb_destroy(struct policydb *p)
		hashtab_destroy(p->symtab[i].table);
	}

	for (i = 0; i < SYM_NUM; i++) {
		if (p->sym_val_to_name[i])
	for (i = 0; i < SYM_NUM; i++)
		kfree(p->sym_val_to_name[i]);
	}

	if (p->class_val_to_struct)
	kfree(p->class_val_to_struct);
	if (p->role_val_to_struct)
	kfree(p->role_val_to_struct);
	if (p->user_val_to_struct)
	kfree(p->user_val_to_struct);

	avtab_destroy(&p->te_avtab);
+2 −4
Original line number Diff line number Diff line
@@ -1705,10 +1705,8 @@ int security_get_bools(int *len, char ***names, int **values)
err:
	if (*names) {
		for (i = 0; i < *len; i++)
			if ((*names)[i])
			kfree((*names)[i]);
	}
	if (*values)
	kfree(*values);
	goto out;
}