]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: gred: prevent races when adding offloads to stats
authorJakub Kicinski <kuba@kernel.org>
Fri, 13 Jan 2023 04:41:37 +0000 (20:41 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Feb 2023 07:34:25 +0000 (08:34 +0100)
commit9516aa83f11aef3242aaf7e672c5675f80988b17
treef22ca7f844e950b5c3b63e00a6e23595b9f4e5eb
parentace793e3ea3172eced7b959ae02f000d25e889c8
net: sched: gred: prevent races when adding offloads to stats

[ Upstream commit 8d2316700e7ca7be4a4b4f7c31b25afe6ca07d02 ]

Naresh reports seeing a warning that gred is calling
u64_stats_update_begin() with preemption enabled.
Arnd points out it's coming from _bstats_update().

We should be holding the qdisc lock when writing
to stats, they are also updated from the datapath.

Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Link: https://lore.kernel.org/all/CA+G9fYsTr9_r893+62u6UGD3dVaCE-kN9C-Apmb2m=hxjc1Cqg@mail.gmail.com/
Fixes: 8a54c7ddf207 ("net: sched: gred: support reporting stats from offloads")
Link: https://lore.kernel.org/r/20230113044137.1383067-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sched/sch_gred.c