You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops
sch_sfq as a classful qdisc needs the .leaf handler. Otherwise, there
is an oops possible in tc_modify_qdisc()/check_loop().
Fixes commit 7d2681a6ff
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
98a21ef0ab
commit
41065fba84
@@ -508,6 +508,11 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct Qdisc *sfq_leaf(struct Qdisc *sch, unsigned long arg)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static unsigned long sfq_get(struct Qdisc *sch, u32 classid)
|
static unsigned long sfq_get(struct Qdisc *sch, u32 classid)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@@ -575,6 +580,7 @@ static void sfq_walk(struct Qdisc *sch, struct qdisc_walker *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct Qdisc_class_ops sfq_class_ops = {
|
static const struct Qdisc_class_ops sfq_class_ops = {
|
||||||
|
.leaf = sfq_leaf,
|
||||||
.get = sfq_get,
|
.get = sfq_get,
|
||||||
.put = sfq_put,
|
.put = sfq_put,
|
||||||
.tcf_chain = sfq_find_tcf,
|
.tcf_chain = sfq_find_tcf,
|
||||||
|
|||||||
Reference in New Issue
Block a user