[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKq8=3JQ6NT=Jf60cY08H1f7Hg5QJK8svYcb+GM_LtUtKBf5uw@mail.gmail.com>
Date: Wed, 3 Apr 2019 21:09:37 +0800
From: Bo YU <tsu.yubo@...il.com>
To: Jon Maloy <jon.maloy@...csson.com>
Cc: Hoang Huu Le <hoang.h.le@...tech.com.au>,
"maloy@...jonn.com" <maloy@...jonn.com>,
"ying.xue@...driver.com" <ying.xue@...driver.com>,
"tipc-discussion@...ts.sourceforge.net"
<tipc-discussion@...ts.sourceforge.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [net-next] tipc: add NULL pointer check
On Wed, Apr 3, 2019 at 8:55 PM Jon Maloy <jon.maloy@...csson.com> wrote:
>
> Acked-by: Jon Maloy <jon.maloy@...csson.com>
>
> Although "somehow" is not the good term here,- the reason is obvious when looking into tipc_sk_proto_rcv().
If so,skb_peek in tipc_mcast_xmit() maybe alert?
>
>
> > -----Original Message-----
> > From: netdev-owner@...r.kernel.org <netdev-owner@...r.kernel.org>
> > On Behalf Of Hoang Le
> > Sent: 3-Apr-19 02:05
> > To: Jon Maloy <jon.maloy@...csson.com>; maloy@...jonn.com;
> > ying.xue@...driver.com; tipc-discussion@...ts.sourceforge.net;
> > netdev@...r.kernel.org
> > Subject: [net-next] tipc: add NULL pointer check
> >
> > skb somehow dequeued out of inputq before processing, it causes to NULL
> > pointer and kernel crashed.
> >
> > Add checking skb valid before using.
> >
> > Fixes: c55c8edafa9 ("tipc: smooth change between replicast and broadcast")
> > Reported-by: Tuong Lien Tong <tuong.t.lien@...tech.com.au>
> > Acked-by: Ying Xue <ying.xue@...driver.com>
> > Signed-off-by: Hoang Le <hoang.h.le@...tech.com.au>
> > ---
> > net/tipc/bcast.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c index
> > 76e14dc08bb9..6c997d4a6218 100644
> > --- a/net/tipc/bcast.c
> > +++ b/net/tipc/bcast.c
> > @@ -769,6 +769,9 @@ void tipc_mcast_filter_msg(struct net *net, struct
> > sk_buff_head *defq,
> > u32 node, port;
> >
> > skb = skb_peek(inputq);
> > + if (!skb)
> > + return;
> > +
> > hdr = buf_msg(skb);
> >
> > if (likely(!msg_is_syn(hdr) && skb_queue_empty(defq)))
> > --
> > 2.17.1
>
Powered by blists - more mailing lists