tcx: Fix splat in ingress_destroy upon tcx_entry_free
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 21 Jul 2023 23:33:30 +0000 (01:33 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 24 Jul 2023 18:42:35 +0000 (11:42 -0700)
On qdisc destruction, the ingress_destroy() needs to update the correct
entry, that is, tcx_entry_update must NULL the dev->tcx_ingress pointer.
Therefore, fix the typo.

Fixes: e420bed02507 ("bpf: Add fd-based tcx multi-prog infra with link support")
Reported-by: syzbot+bdcf141f362ef83335cf@syzkaller.appspotmail.com
Reported-by: syzbot+b202b7208664142954fa@syzkaller.appspotmail.com
Reported-by: syzbot+14736e249bce46091c18@syzkaller.appspotmail.com
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Tested-by: syzbot+bdcf141f362ef83335cf@syzkaller.appspotmail.com
Tested-by: syzbot+b202b7208664142954fa@syzkaller.appspotmail.com
Tested-by: syzbot+14736e249bce46091c18@syzkaller.appspotmail.com
Tested-by: Petr Machata <petrm@nvidia.com>
Link: https://lore.kernel.org/r/20230721233330.5678-1-daniel@iogearbox.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_ingress.c

index 04e886f6cee43361f49518917340e3e21ad75b0d..a463a63192c3c73fd1d346b91c3b0f34cfd1a55b 100644 (file)
@@ -123,7 +123,7 @@ static void ingress_destroy(struct Qdisc *sch)
        if (entry) {
                tcx_miniq_set_active(entry, false);
                if (!tcx_entry_is_active(entry)) {
-                       tcx_entry_update(dev, NULL, false);
+                       tcx_entry_update(dev, NULL, true);
                        tcx_entry_free(entry);
                }
        }