diff options
Diffstat (limited to 'security/selinux/hooks.c')
-rw-r--r-- | security/selinux/hooks.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 68629aa039ed..885a9a958b8d 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -2944,7 +2944,7 @@ static int selinux_parse_skb_ipv4(struct sk_buff *skb, | |||
2944 | int offset, ihlen, ret = -EINVAL; | 2944 | int offset, ihlen, ret = -EINVAL; |
2945 | struct iphdr _iph, *ih; | 2945 | struct iphdr _iph, *ih; |
2946 | 2946 | ||
2947 | offset = skb->nh.raw - skb->data; | 2947 | offset = skb_network_offset(skb); |
2948 | ih = skb_header_pointer(skb, offset, sizeof(_iph), &_iph); | 2948 | ih = skb_header_pointer(skb, offset, sizeof(_iph), &_iph); |
2949 | if (ih == NULL) | 2949 | if (ih == NULL) |
2950 | goto out; | 2950 | goto out; |
@@ -3026,7 +3026,7 @@ static int selinux_parse_skb_ipv6(struct sk_buff *skb, | |||
3026 | int ret = -EINVAL, offset; | 3026 | int ret = -EINVAL, offset; |
3027 | struct ipv6hdr _ipv6h, *ip6; | 3027 | struct ipv6hdr _ipv6h, *ip6; |
3028 | 3028 | ||
3029 | offset = skb->nh.raw - skb->data; | 3029 | offset = skb_network_offset(skb); |
3030 | ip6 = skb_header_pointer(skb, offset, sizeof(_ipv6h), &_ipv6h); | 3030 | ip6 = skb_header_pointer(skb, offset, sizeof(_ipv6h), &_ipv6h); |
3031 | if (ip6 == NULL) | 3031 | if (ip6 == NULL) |
3032 | goto out; | 3032 | goto out; |
@@ -3812,7 +3812,7 @@ static int selinux_nlmsg_perm(struct sock *sk, struct sk_buff *skb) | |||
3812 | err = -EINVAL; | 3812 | err = -EINVAL; |
3813 | goto out; | 3813 | goto out; |
3814 | } | 3814 | } |
3815 | nlh = (struct nlmsghdr *)skb->data; | 3815 | nlh = nlmsg_hdr(skb); |
3816 | 3816 | ||
3817 | err = selinux_nlmsg_lookup(isec->sclass, nlh->nlmsg_type, &perm); | 3817 | err = selinux_nlmsg_lookup(isec->sclass, nlh->nlmsg_type, &perm); |
3818 | if (err) { | 3818 | if (err) { |