Hi Vladimir, On Fri, Aug 18, 2023 at 12:07 PM Vladimir Oltean <vladimir.oltean@xxxxxxx> wrote: > > Hi Jamal, > > On Fri, Aug 18, 2023 at 11:27:27AM -0400, Jamal Hadi Salim wrote: > > Can you try the attached patchlet? > > Thanks for the patch. I've tried it, and it eliminates the code path > (and thus the problem) exposed by the syzbot program, by responding to > RTM_NEWQDISC messages having the NLM_F_CREATE|NLM_F_REPLACE|NLM_F_EXCL > flags with "Error: Exclusivity flag on, cannot modify.". > Ok, that is more of the expected behavior. Noone should ever send that mumbo-jumbo (I doubt there is a "legit" control app that will do that). > Actually, to be precise, the first such netlink message successfully > creates the qdisc, but then the subsequent ones leave that qdisc alone > (don't change it), by failing with this extack message. > Yes, the first one will succeed because the root qdisc hasnt been grafted yet (and the only interesting bit is NLM_F_CREATE. everything else is ignored). > If that's the behavior that you intended, then I guess the answer is > that it works. Thanks a lot. > > What would be an appropriate Fixes: tag? > This should have been from early days when we trusted that iproute2 would do the right thing. I will look. I dont think this is a taprio only potential victim, it's just that syzbot was able to aggravate taprio sooner (it probably would have got to some other qdisc later in its adventures). > Side note: I believe that we can now also revert commit be3618d96510 > ("net/sched: taprio: fix slab-out-of-bounds Read in taprio_dequeue_from_txq"), > which was papering over an unknown (at the time) issue - the same as > this one - without really even completely covering it, either. Unfortunately the commit log is not helpful - i cant tell what "replace" means and cant seem to find the repro either. If you revert it and see the problem going away then we are good. +Cc Zhengchao Shao <shaozhengchao@xxxxxxxxxx> >Hence > this other syzbot report. > https://lore.kernel.org/netdev/3b977f76-0289-270e-8310-179315ee927d@xxxxxxxxxx/T/ > https://lore.kernel.org/netdev/20230608062756.3626573-1-shaozhengchao@xxxxxxxxxx/ Makes sense. BTW, thanks for your report - it made it faster to zone on the issue. The comments above that code also need a bit of fixing to provide clarity. cheers, jamal