Don't free the outer match spec by its pointer in the parsing context
if it has already been tracked by an entry in the outer rule registry.
Fixes: dadff137931c ("net/sfc: support encap flow items in transfer rules")
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
}
}
+ /* The spec has now been tracked by the outer rule entry. */
+ ctx->match_spec_outer = NULL;
+
/*
* Depending on whether we reuse an existing outer rule or create a
* new one (see above), outer rule ID is either a valid value or
if (ctx->encap_type == EFX_TUNNEL_PROTOCOL_NONE)
return;
- efx_mae_match_spec_fini(sa->nic, ctx->match_spec_outer);
+ if (ctx->match_spec_outer != NULL)
+ efx_mae_match_spec_fini(sa->nic, ctx->match_spec_outer);
}
int