On Mon, Apr 27, 2020 at 11:39 PM Stephen Hemminger
<step...@networkplumber.org> wrote:
>
> The TAP driver does not initialize all the elements of the rte_flow
> structure. This can lead to crash in rte_flow_destroy.
>
> (gdb) where
>     flow=0x100e99280, error=0x0)
>     at drivers/net/tap/tap_flow.c:1514
>
> (gdb) p remote_flow
> $1 = (struct rte_flow *) 0x6b6b6b6b6b6b6b6b
>
> Which is here:
> static int
> tap_flow_destroy_pmd(struct pmd_internals *pmd,
>                      struct rte_flow *flow,
>                      struct rte_flow_error *error)
> {
>         struct rte_flow *remote_flow = flow->remote_flow;
> ...
>         if (remote_flow) {
>                 remote_flow->msg.nh.nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
>
> Simplest fix is to use rte_zmalloc() so remote_flow and other fields
> are always set at zero.
>
> Fixes: 2bc06869cd94 ("net/tap: add remote netdevice traffic capture")
> Cc: pascal.ma...@6wind.com

Not sure why you copied Pascal (I'd say he stopped working on dpdk 2 years ago).
Please use the devtools/get-maintainer.sh script.
Thanks.


-- 
David Marchand

Reply via email to