net/sched/sch_mqprio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Maher Azzouzi <maherazz04@gmail.com>
TCA_MQPRIO_TC_ENTRY_INDEX is validated using
NLA_POLICY_MAX(NLA_U32, TC_QOPT_MAX_QUEUE), which allows the value
TC_QOPT_MAX_QUEUE (16). This leads to a 4-byte out-of-bounds stack write in
the fp[] array, which only has room for 16 elements (0–15).
Fix this by changing the policy to allow only up to TC_QOPT_MAX_QUEUE - 1.
Fixes: f62af20bed2d ("net/sched: mqprio: allow per-TC user input of FP
adminStatus")
Signed-off-by: Maher Azzouzi <maherazz04@gmail.com>
---
net/sched/sch_mqprio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/sched/sch_mqprio.c b/net/sched/sch_mqprio.c
index 51d4013b6121..f3e5ef9a9592 100644
--- a/net/sched/sch_mqprio.c
+++ b/net/sched/sch_mqprio.c
@@ -152,7 +152,7 @@ static int mqprio_parse_opt(struct net_device
*dev, struct tc_mqprio_qopt *qopt,
static const struct
nla_policy mqprio_tc_entry_policy[TCA_MQPRIO_TC_ENTRY_MAX + 1] = {
[TCA_MQPRIO_TC_ENTRY_INDEX] = NLA_POLICY_MAX(NLA_U32,
- TC_QOPT_MAX_QUEUE),
+ TC_QOPT_MAX_QUEUE - 1),
[TCA_MQPRIO_TC_ENTRY_FP] = NLA_POLICY_RANGE(NLA_U32,
TC_FP_EXPRESS,
TC_FP_PREEMPTIBLE),
--
2.34.1
On Tue, 29 Jul 2025 16:39:26 +0100 maher azz wrote: > From: Maher Azzouzi <maherazz04@gmail.com> > > TCA_MQPRIO_TC_ENTRY_INDEX is validated using > NLA_POLICY_MAX(NLA_U32, TC_QOPT_MAX_QUEUE), which allows the value > TC_QOPT_MAX_QUEUE (16). This leads to a 4-byte out-of-bounds stack write in > the fp[] array, which only has room for 16 elements (0–15). > > Fix this by changing the policy to allow only up to TC_QOPT_MAX_QUEUE - 1. > > Fixes: f62af20bed2d ("net/sched: mqprio: allow per-TC user input of FP > adminStatus") Don't wrap the Fixes tags; > no empty lines between tags; > Signed-off-by: Maher Azzouzi <maherazz04@gmail.com> your email client is corrupting the emails, tabs get replaced with spaces. Please add the review tag you received from Eric on v1 and try sending v3 with git send-email? -- pw-bot: cr
© 2016 - 2025 Red Hat, Inc.