diff --git a/[refs] b/[refs] index dc44919f8d99..ba7d0ebd5d30 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e55f1bc5dcb60a47764f6eabd1501d2cb98fb2c4 +refs/heads/master: 878c41ce5747e1b417bdd92a694c33dc4bd6ec02 diff --git a/trunk/net/ipv6/netfilter/ip6t_policy.c b/trunk/net/ipv6/netfilter/ip6t_policy.c index 9f38cd0a6489..1d0f48276123 100644 --- a/trunk/net/ipv6/netfilter/ip6t_policy.c +++ b/trunk/net/ipv6/netfilter/ip6t_policy.c @@ -26,8 +26,9 @@ MODULE_LICENSE("GPL"); static inline int match_xfrm_state(struct xfrm_state *x, const struct ip6t_policy_elem *e) { -#define MATCH_ADDR(x,y,z) (!e->match.x || \ - ((ip6_masked_addrcmp((z), &e->x, &e->y)) == 0) ^ e->invert.x) +#define MATCH_ADDR(x,y,z) (!e->match.x || \ + ((!ip6_masked_addrcmp(&e->x, &e->y, z)) \ + ^ e->invert.x)) #define MATCH(x,y) (!e->match.x || ((e->x == (y)) ^ e->invert.x)) return MATCH_ADDR(saddr, smask, (struct in6_addr *)&x->props.saddr.a6) &&