Messages in this thread | | | Date | Mon, 21 Nov 2022 19:48:18 -0500 | Subject | Re: [PATCH net] tipc: check skb_linearize() return value in tipc_disc_rcv() | From | Jon Maloy <> |
| |
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 <yuehaibing@huawei.com> > --- > 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 <jmaloy@redhat.com>
| |