|
| 1 | +tcx: Fix splat in ingress_destroy upon tcx_entry_free |
| 2 | + |
| 3 | +jira LE-1907 |
| 4 | +Rebuild_History Non-Buildable kernel-5.14.0-427.18.1.el9_4 |
| 5 | +commit-author Daniel Borkmann <daniel@iogearbox.net> |
| 6 | +commit dc644b540a2d2874112706591234be3d3fbf9ef7 |
| 7 | +Empty-Commit: Cherry-Pick Conflicts during history rebuild. |
| 8 | +Will be included in final tarball splat. Ref for failed cherry-pick at: |
| 9 | +ciq/ciq_backports/kernel-5.14.0-427.18.1.el9_4/dc644b54.failed |
| 10 | + |
| 11 | +On qdisc destruction, the ingress_destroy() needs to update the correct |
| 12 | +entry, that is, tcx_entry_update must NULL the dev->tcx_ingress pointer. |
| 13 | +Therefore, fix the typo. |
| 14 | + |
| 15 | +Fixes: e420bed02507 ("bpf: Add fd-based tcx multi-prog infra with link support") |
| 16 | + Reported-by: syzbot+bdcf141f362ef83335cf@syzkaller.appspotmail.com |
| 17 | + Reported-by: syzbot+b202b7208664142954fa@syzkaller.appspotmail.com |
| 18 | + Reported-by: syzbot+14736e249bce46091c18@syzkaller.appspotmail.com |
| 19 | + Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> |
| 20 | + Tested-by: syzbot+bdcf141f362ef83335cf@syzkaller.appspotmail.com |
| 21 | + Tested-by: syzbot+b202b7208664142954fa@syzkaller.appspotmail.com |
| 22 | + Tested-by: syzbot+14736e249bce46091c18@syzkaller.appspotmail.com |
| 23 | + Tested-by: Petr Machata <petrm@nvidia.com> |
| 24 | +Link: https://lore.kernel.org/r/20230721233330.5678-1-daniel@iogearbox.net |
| 25 | + Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| 26 | +(cherry picked from commit dc644b540a2d2874112706591234be3d3fbf9ef7) |
| 27 | + Signed-off-by: Jonathan Maple <jmaple@ciq.com> |
| 28 | + |
| 29 | +# Conflicts: |
| 30 | +# net/sched/sch_ingress.c |
| 31 | +diff --cc net/sched/sch_ingress.c |
| 32 | +index e43a45499372,a463a63192c3..000000000000 |
| 33 | +--- a/net/sched/sch_ingress.c |
| 34 | ++++ b/net/sched/sch_ingress.c |
| 35 | +@@@ -108,6 -119,15 +108,18 @@@ static void ingress_destroy(struct Qdis |
| 36 | + return; |
| 37 | + |
| 38 | + tcf_block_put_ext(q->block, sch, &q->block_info); |
| 39 | +++<<<<<<< HEAD |
| 40 | +++======= |
| 41 | ++ |
| 42 | ++ if (entry) { |
| 43 | ++ tcx_miniq_set_active(entry, false); |
| 44 | ++ if (!tcx_entry_is_active(entry)) { |
| 45 | ++ tcx_entry_update(dev, NULL, true); |
| 46 | ++ tcx_entry_free(entry); |
| 47 | ++ } |
| 48 | ++ } |
| 49 | ++ |
| 50 | +++>>>>>>> dc644b540a2d (tcx: Fix splat in ingress_destroy upon tcx_entry_free) |
| 51 | + net_dec_ingress_queue(); |
| 52 | + } |
| 53 | + |
| 54 | +* Unmerged path net/sched/sch_ingress.c |
0 commit comments