This patch looks nice now.

One more change and we go:

On Tue, Jun 18, 2019 at 04:32:50PM +0800, xiao ruizhu wrote:
> diff --git a/net/netfilter/nf_conntrack_expect.c 
> b/net/netfilter/nf_conntrack_expect.c
> index 59c1880..7df6228 100644
> --- a/net/netfilter/nf_conntrack_expect.c
> +++ b/net/netfilter/nf_conntrack_expect.c
> @@ -252,13 +252,22 @@ static inline int expect_clash(const struct 
> nf_conntrack_expect *a,
>  static inline int expect_matches(const struct nf_conntrack_expect *a,
>                                const struct nf_conntrack_expect *b)
>  {
> -     return a->master == b->master &&
> -            nf_ct_tuple_equal(&a->tuple, &b->tuple) &&
> +     return nf_ct_tuple_equal(&a->tuple, &b->tuple) &&
>              nf_ct_tuple_mask_equal(&a->mask, &b->mask) &&
>              net_eq(nf_ct_net(a->master), nf_ct_net(b->master)) &&
>              nf_ct_zone_equal_any(a->master, nf_ct_zone(b->master));
>  }
>  
> +static bool master_matches(const struct nf_conntrack_expect *a,
> +                        const struct nf_conntrack_expect *b,
> +                        unsigned int flags)
> +{
> +     if (flags & NF_CT_EXP_F_CHECK_MASTER)

rename this to NF_CT_EXP_F_SKIP_MASTER.

Since semantics here is to skip the master check, rather than checking
for it.

> +             return true;
> +
> +     return a->master == b->master;
> +}

Thanks.

Reply via email to