Re: [PATCH net] xen-netback: avoid race that can lead to NULL pointer dereference

From: Wei Liu
Date: Thu Dec 12 2019 - 13:10:47 EST


On Thu, Dec 12, 2019 at 12:37:23PM +0000, Paul Durrant wrote:
> Commit 2ac061ce97f4 ("xen/netback: cleanup init and deinit code")
> introduced a problem. In function xenvif_disconnect_queue(), the value of
> queue->rx_irq is zeroed *before* queue->task is stopped. Unfortunately that
> task may call notify_remote_via_irq(queue->rx_irq) and calling that
> function with a zero value results in a NULL pointer dereference in
> evtchn_from_irq().
>
> This patch simply re-orders things, stopping all tasks before zero-ing the
> irq values, thereby avoiding the possibility of the race.
>
> Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>

Acked-by: Wei Liu <wei.liu@xxxxxxxxxx>