[SELINUX]: Fix 2.6.20-rc6 build when no xfrm
authorVenkat Yekkirala <vyekkirala@TrustedCS.com>
Sat, 27 Jan 2007 03:03:48 +0000 (19:03 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 27 Jan 2007 03:03:48 +0000 (19:03 -0800)
This patch is an incremental fix to the flow_cache_genid
patch for selinux that breaks the build of 2.6.20-rc6 when
xfrm is not configured.

Signed-off-by: Venkat Yekkirala <vyekkirala@TrustedCS.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
security/selinux/include/xfrm.h
security/selinux/ss/services.c

index 161eb571c82dfa471238d1fb5a535b7cdc75c389..31929e39f5ca9369e34e95715f9744fcb9a8f85f 100644 (file)
@@ -37,6 +37,11 @@ int selinux_xfrm_sock_rcv_skb(u32 sid, struct sk_buff *skb,
 int selinux_xfrm_postroute_last(u32 isec_sid, struct sk_buff *skb,
                        struct avc_audit_data *ad, u8 proto);
 int selinux_xfrm_decode_session(struct sk_buff *skb, u32 *sid, int ckall);
+
+static inline void selinux_xfrm_notify_policyload(void)
+{
+       atomic_inc(&flow_cache_genid);
+}
 #else
 static inline int selinux_xfrm_sock_rcv_skb(u32 isec_sid, struct sk_buff *skb,
                        struct avc_audit_data *ad)
@@ -55,6 +60,10 @@ static inline int selinux_xfrm_decode_session(struct sk_buff *skb, u32 *sid, int
        *sid = SECSID_NULL;
        return 0;
 }
+
+static inline void selinux_xfrm_notify_policyload(void)
+{
+}
 #endif
 
 static inline void selinux_skb_xfrm_sid(struct sk_buff *skb, u32 *sid)
index ff0393317f39b996912b1c0d552d3653828d4277..ca9154dc5d825bea7f680de2f42b0979e4a930a6 100644 (file)
@@ -1299,7 +1299,7 @@ int security_load_policy(void *data, size_t len)
                avc_ss_reset(seqno);
                selnl_notify_policyload(seqno);
                selinux_netlbl_cache_invalidate();
-               atomic_inc(&flow_cache_genid);
+               selinux_xfrm_notify_policyload();
                return 0;
        }
 
@@ -1355,7 +1355,7 @@ int security_load_policy(void *data, size_t len)
        avc_ss_reset(seqno);
        selnl_notify_policyload(seqno);
        selinux_netlbl_cache_invalidate();
-       atomic_inc(&flow_cache_genid);
+       selinux_xfrm_notify_policyload();
 
        return 0;
 
@@ -1855,7 +1855,7 @@ out:
        if (!rc) {
                avc_ss_reset(seqno);
                selnl_notify_policyload(seqno);
-               atomic_inc(&flow_cache_genid);
+               selinux_xfrm_notify_policyload();
        }
        return rc;
 }