net/sched: sch_hfsc: Ensure inner classes have fsc curve
authorBudimir Markovic <markovicbudimir@gmail.com>
Thu, 24 Aug 2023 08:49:05 +0000 (01:49 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 26 Aug 2023 01:57:54 +0000 (18:57 -0700)
commitb3d26c5702c7d6c45456326e56d2ccf3f103e60f
tree2eccdcba9fa443c15c89918ca1a3c99e0532beb5
parentc4413a20fa6d7c4888009fb7dd391685f196cd36
net/sched: sch_hfsc: Ensure inner classes have fsc curve

HFSC assumes that inner classes have an fsc curve, but it is currently
possible for classes without an fsc curve to become parents. This leads
to bugs including a use-after-free.

Don't allow non-root classes without HFSC_FSC to become parents.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Reported-by: Budimir Markovic <markovicbudimir@gmail.com>
Signed-off-by: Budimir Markovic <markovicbudimir@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Link: https://lore.kernel.org/r/20230824084905.422-1-markovicbudimir@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_hfsc.c