Align with ip_rcv() by dropping PACKET_OTHERHOST packets before
calling skb_share_check(). This avoids unnecessary skb processing
for packets that will be discarded anyway.
Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Acked-by: Guillaume Nault <gnault@redhat.com>
Link: https://patch.msgid.link/20250623033431.408810-1-dqfext@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
         * can't change.
         */
 
-       if (skb->pkt_type == PACKET_OTHERHOST)
-               goto abort_kfree;
-
        if (sk->sk_state & PPPOX_BOUND) {
                ppp_input(&po->chan, skb);
        } else if (sk->sk_state & PPPOX_RELAY) {
        struct pppoe_net *pn;
        int len;
 
+       if (skb->pkt_type == PACKET_OTHERHOST)
+               goto drop;
+
        skb = skb_share_check(skb, GFP_ATOMIC);
        if (!skb)
                goto out;