[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190304.105626.1023614167952594956.davem@davemloft.net>
Date: Mon, 04 Mar 2019 10:56:26 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: idosch@...lanox.com
Cc: netdev@...r.kernel.org, nikolay@...ulusnetworks.com,
mlxsw@...lanox.com
Subject: Re: [PATCH net] ip6mr: Do not call __IP6_INC_STATS() from
preemptible context
From: Ido Schimmel <idosch@...lanox.com>
Date: Sun, 3 Mar 2019 07:34:57 +0000
> Similar to commit 44f49dd8b5a6 ("ipmr: fix possible race resulting from
> improper usage of IP_INC_STATS_BH() in preemptible context."), we cannot
> assume preemption is disabled when incrementing the counter and
> accessing a per-CPU variable.
>
> Preemption can be enabled when we add a route in process context that
> corresponds to packets stored in the unresolved queue, which are then
> forwarded using this route [1].
>
> Fix this by using IP6_INC_STATS() which takes care of disabling
> preemption on architectures where it is needed.
...
> Fixes: 0912ea38de61 ("[IPV6] MROUTE: Add stats in multicast routing module method ip6_mr_forward().")
> Signed-off-by: Ido Schimmel <idosch@...lanox.com>
> Reported-by: Amit Cohen <amitc@...lanox.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists