Your objection to my previous patch was right: since the packet was dropped, the reorder had no observable benefit. I dropped that approach.
Reading your v2 series, I think the stronger invariant is simpler: make packet semantics stable at ingress before later protocol processing can observe two meanings. I wrote a small kselftest follow-up for the three outcomes and will send it separately. My broader side idea is just to make repeated reuse of an observed attack capability progressively more expensive. One speculative mechanism is a minimal ancestry "scar" that transformations cannot silently erase. I assume that is too stateful and out of scope here, so I am not proposing it for your series. I have also shared that broader defensive idea with a few relevant organizations because it may be useful beyond this bug; I do not claim to know the final architecture.Your objection to my previous patch was right: since the packet was dropped, the reorder had no observable benefit. I dropped that approach. Reading your v2 series, I think the stronger invariant is simpler: make packet semantics stable at ingress before later protocol processing can observe two meanings. I wrote a small kselftest follow-up for the three outcomes and will send it separately. My broader side idea is just to make repeated reuse of an observed attack capability progressively more expensive. One speculative mechanism is a minimal ancestry “scar” that transformations cannot silently erase. I assume that is too stateful and out of scope here, so I am not proposing it for your series. I have also shared that broader defensive idea with a few relevant organizations because it may be useful beyond this bug; I do not claim to know the final architecture.
