X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=security%2Flsm_audit.c;h=7bd6f138236b3a010d457ab473ea73fd02641c8c;hb=3d749a6a26b0811b4b2bb4ec2c47cd630a6bbf88;hp=893af8a2fa1e994c518b7649ddc9d29b61c8681a;hpb=a61944c251c3e68c4bbf6eb96ff61c7b286351c5;p=~andy%2Flinux diff --git a/security/lsm_audit.c b/security/lsm_audit.c index 893af8a2fa1..7bd6f138236 100644 --- a/security/lsm_audit.c +++ b/security/lsm_audit.c @@ -114,19 +114,20 @@ int ipv6_skb_to_auditdata(struct sk_buff *skb, int offset, ret = 0; struct ipv6hdr *ip6; u8 nexthdr; + __be16 frag_off; ip6 = ipv6_hdr(skb); if (ip6 == NULL) return -EINVAL; - ipv6_addr_copy(&ad->u.net.v6info.saddr, &ip6->saddr); - ipv6_addr_copy(&ad->u.net.v6info.daddr, &ip6->daddr); + ad->u.net.v6info.saddr = ip6->saddr; + ad->u.net.v6info.daddr = ip6->daddr; ret = 0; /* IPv6 can have several extension header before the Transport header * skip them */ offset = skb_network_offset(skb); offset += sizeof(*ip6); nexthdr = ip6->nexthdr; - offset = ipv6_skip_exthdr(skb, offset, &nexthdr); + offset = ipv6_skip_exthdr(skb, offset, &nexthdr, &frag_off); if (offset < 0) return 0; if (proto)