From: Jon M. <jm...@re...> - 2022-11-22 00:48:32
|
On 11/19/22 02:28, YueHaibing wrote: > If skb_linearize() fails in tipc_disc_rcv(), we need to free the skb instead of > handle it. > > Fixes: 25b0b9c4e835 ("tipc: handle collisions of 32-bit node address hash values") > Signed-off-by: YueHaibing <yue...@hu...> > --- > net/tipc/discover.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/net/tipc/discover.c b/net/tipc/discover.c > index e8630707901e..e8dcdf267c0c 100644 > --- a/net/tipc/discover.c > +++ b/net/tipc/discover.c > @@ -211,7 +211,10 @@ void tipc_disc_rcv(struct net *net, struct sk_buff *skb, > u32 self; > int err; > > - skb_linearize(skb); > + if (skb_linearize(skb)) { > + kfree_skb(skb); > + return; > + } > hdr = buf_msg(skb); > > if (caps & TIPC_NODE_ID128) Acked-by: Jon Maloy <jm...@re...> |