[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200611.124834.181904714491590620.davem@davemloft.net>
Date: Thu, 11 Jun 2020 12:48:34 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: tuong.t.lien@...tech.com.au
Cc: jmaloy@...hat.com, maloy@...jonn.com, ying.xue@...driver.com,
netdev@...r.kernel.org, tipc-discussion@...ts.sourceforge.net
Subject: Re: [net] tipc: fix NULL pointer dereference in tipc_disc_rcv()
From: Tuong Lien <tuong.t.lien@...tech.com.au>
Date: Thu, 11 Jun 2020 17:08:08 +0700
> When a bearer is enabled, we create a 'tipc_discoverer' object to store
> the bearer related data along with a timer and a preformatted discovery
> message buffer for later probing... However, this is only carried after
> the bearer was set 'up', that left a race condition resulting in kernel
> panic.
>
> It occurs when a discovery message from a peer node is received and
> processed in bottom half (since the bearer is 'up' already) just before
> the discoverer object is created but is now accessed in order to update
> the preformatted buffer (with a new trial address, ...) so leads to the
> NULL pointer dereference.
>
> We solve the problem by simply moving the bearer 'up' setting to later,
> so make sure everything is ready prior to any message receiving.
>
> Acked-by: Jon Maloy <jmaloy@...hat.com>
> Signed-off-by: Tuong Lien <tuong.t.lien@...tech.com.au>
Applied, thanks.
Powered by blists - more mailing lists