]> 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)
commit53f779a0331a2d31e60af41b3a52d8365f3c9ecc
treef22ca7f844e950b5c3b63e00a6e23595b9f4e5eb
parent9c802b233e515f4069d4fd9bd6515c272adb8957
net: sched: gred: prevent races when adding offloads to stats

[ Upstream commit 339346d49ae0859fe19b860998867861d37f1a76 ]

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: 8860f866008a ("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