Skip to contentSkip to conversation

selinux: increment flow cache genid

PATCH New Venkat Yekkirala 1 participant 1 message Jan 15, 2007 SELinux security module

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 selinux: increment flow cache genid

Currently, old flow cache entries remain valid even after a reload of SELinux policy.

This patch increments the flow cache generation id on policy (re)loads so that flow cache entries are revalidated as needed.

Thanks to Herbet Xu for pointing this out. See:
http://marc.theaimsgroup.com/?l=linux-netdev&m=116841378704536&w=2

There's also a general issue as well as a solution proposed by David Miller for when flow_cache_genid wraps. I might be submitting a separate patch for that later.

I request that this be applied to 2.6.20 since it's a security relevant fix.

---
 security/selinux/ss/services.c |    3 +++
 1 file changed, 3 insertions(+)
security/selinux/ss/services.c +3 -0
index 3eb1fa9..ff03933 100644
@@ -1299,6 +1299,7 @@ int security_load_policy(void *data, siz
 		avc_ss_reset(seqno);
 		selnl_notify_policyload(seqno);
 		selinux_netlbl_cache_invalidate();
+		atomic_inc(&flow_cache_genid);
 		return 0;
 	}
 
@@ -1354,6 +1355,7 @@ #endif
 	avc_ss_reset(seqno);
 	selnl_notify_policyload(seqno);
 	selinux_netlbl_cache_invalidate();
+	atomic_inc(&flow_cache_genid);
 
 	return 0;
 
@@ -1853,6 +1855,7 @@ out:
 	if (!rc) {
 		avc_ss_reset(seqno);
 		selnl_notify_policyload(seqno);
+		atomic_inc(&flow_cache_genid);
 	}
 	return rc;
 }

--
This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.