summaryrefslogtreecommitdiff
path: root/lib/mpi/mpi-pow.c
diff options
context:
space:
mode:
authorVictor Nogueira <victor@mojatatu.com>2025-04-26 01:07:05 +0300
committerJakub Kicinski <kuba@kernel.org>2025-04-29 01:55:06 +0300
commitf99a3fbf023e20b626be4b0f042463d598050c9a (patch)
tree1803bfe0d4a24ebf70f151be99cfb17969172d8b /lib/mpi/mpi-pow.c
parentdfd76010f8e821b66116dec3c7d90dd2403d1396 (diff)
downloadlinux-f99a3fbf023e20b626be4b0f042463d598050c9a.tar.xz
net_sched: drr: Fix double list add in class with netem as child qdisc
As described in Gerrard's report [1], there are use cases where a netem child qdisc will make the parent qdisc's enqueue callback reentrant. In the case of drr, there won't be a UAF, but the code will add the same classifier to the list twice, which will cause memory corruption. In addition to checking for qlen being zero, this patch checks whether the class was already added to the active_list (cl_is_active) before adding to the list to cover for the reentrant case. [1] https://lore.kernel.org/netdev/CAHcdcOm+03OD2j6R0=YHKqmy=VgJ8xEOKuP6c7mSgnp-TEJJbw@mail.gmail.com/ Fixes: 37d9cf1a3ce3 ("sched: Fix detection of empty queues in child qdiscs") Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Victor Nogueira <victor@mojatatu.com> Link: https://patch.msgid.link/20250425220710.3964791-2-victor@mojatatu.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'lib/mpi/mpi-pow.c')
0 files changed, 0 insertions, 0 deletions