Venkat Yekkirala wrote: > This defines SELinux enforcement of the 2 new LSM hooks as well > as related changes elsewhere in the SELinux code. > > This also now keeps track of the peersid thru the establishment > of a connection on the server (tracking peersid on the client > is covered later in this patch set). > > Signed-off-by: Venkat Yekkirala <[EMAIL PROTECTED]> > > {snip} > > +static int selinux_skb_flow_in(struct sk_buff *skb, unsigned short family) > +{ > + u32 xfrm_sid; > + int err; > + > + if (selinux_compat_net) > + return 1; > + > + /* > + * loopback traffic already labeled and > + * flow-controlled on outbound. We may > + * need to flow-control on the inbound > + * as well if there's ever a use-case for it. > + */ > + if (skb->dev == &loopback_dev) > + return 1; > + > + err = selinux_xfrm_decode_session(skb, &xfrm_sid, 0); > + BUG_ON(err);
Just a quick question that has been nagging me for awhile - any particular reason why this is a BUG_ON() and not an "if (err) goto out;"? > + err = avc_has_perm(xfrm_sid, skb->secmark, SECCLASS_PACKET, > + PACKET__FLOW_IN, NULL); > + if (err) > + goto out; > + > + if (xfrm_sid) > + skb->secmark = xfrm_sid; > + > + /* See if NetLabel can flow in thru the current secmark here */ > + > +out: > + return err ? 0 : 1; > +}; -- paul moore linux security @ hp - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html