Commit 0b1f24e6 authored by Paul Moore's avatar Paul Moore

selinux: pull address family directly from the request_sock struct

We don't need to inspect the packet to determine if the packet is an
IPv4 packet arriving on an IPv6 socket when we can query the
request_sock directly.
Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
parent 050d032b
...@@ -4476,14 +4476,10 @@ static int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb, ...@@ -4476,14 +4476,10 @@ static int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb,
{ {
struct sk_security_struct *sksec = sk->sk_security; struct sk_security_struct *sksec = sk->sk_security;
int err; int err;
u16 family = sk->sk_family; u16 family = req->rsk_ops->family;
u32 connsid; u32 connsid;
u32 peersid; u32 peersid;
/* handle mapped IPv4 packets arriving via IPv6 sockets */
if (family == PF_INET6 && skb->protocol == htons(ETH_P_IP))
family = PF_INET;
err = selinux_skb_peerlbl_sid(skb, family, &peersid); err = selinux_skb_peerlbl_sid(skb, family, &peersid);
if (err) if (err)
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment