[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250114172620.7e7e97b4@kernel.org>
Date: Tue, 14 Jan 2025 17:26:20 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Jamal Hadi Salim <jhs@...atatu.com>
Cc: netdev@...r.kernel.org, jiri@...nulli.us, xiyou.wangcong@...il.com,
davem@...emloft.net, edumazet@...gle.com, security@...nel.org,
nnamrec@...il.com
Subject: Re: [PATCH net 1/1 v3] net: sched: Disallow replacing of child
qdisc from one parent to another
On Sat, 11 Jan 2025 10:14:55 -0500 Jamal Hadi Salim wrote:
> The semantics of "replace" is for a del/add _on the same node_ and not
> a delete from one node(3:1) and add to another node (1:3) as in step10.
> While we could "fix" with a more complex approach there could be
> consequences to expectations so the patch takes the preventive approach of
> "disallow such config".
Your explanation reads like you want to prevent a qdisc changing
from one parent to another.
> + if (leaf_q && leaf_q->parent != q->parent) {
> + NL_SET_ERR_MSG(extack, "Invalid Parent for operation");
> + return -EINVAL;
> + }
But this test looks at the full parent path, not the major.
So the only case you allow is replacing the node.. with itself?
Did you mean to wrap these in TC_H_MAJ() || the parent comparison
is redundant || I misunderstand?
Powered by blists - more mailing lists