Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp966041pxp; Wed, 16 Mar 2022 22:53:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwZ+uQtkLAP1PgxvOZD4DXxDtxs10nVbuZE/1tif3nwrg6gCd/y5YhZi4kDkOZfL9/KNGo7 X-Received: by 2002:a63:6942:0:b0:380:153e:63f9 with SMTP id e63-20020a636942000000b00380153e63f9mr2512478pgc.212.1647496423021; Wed, 16 Mar 2022 22:53:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647496423; cv=none; d=google.com; s=arc-20160816; b=qO74TSCKqB7Pq/BJlJGqBkNO9CDKk4cBuqlRQHa+g8DlfT/vC4STC45jbXzR3HdcBM YlDQDQ8FPqFX1vcRqHJsLFai+uVLqaCnhoJZwLfEaoNZ57Wd0rqDU+33j9FJpkETMEpJ PDsw/7/LWMtrMMGUZThb1Usga7XBQe+55JbTRxj7LPpbp6fuG6Nu6kz4jqc+H/MKhm9s qyw2OX9rG14nAGJQbNagljeuGgKG4qF90ArFQB5mdgEbV/Lt4fRcPsgDjdXdU/SDq1O6 KhT+6w4GlG4vWnsNOFYvK/weUjI+kQQ3D3QOCzOOSM3MYsz/trzKv26FZ+KQf4kucRNi EUzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=em46uHT2Wr9UGmvm3AylWtT1TeSOw0Y1k0gjyaknWRs=; b=rVATOu7mZXJy3MX4P6nQqJ81aFUXFMUoSdnI9N0g8R8Qhedt53XOe9B7UFwRjlv0Sx 5VGsOh37FOTCR9EVkj2N7JuyP5P5Zhi5YOAmEZiX++Nv5ggbTXrfSMAU8H66GzKz/OUq TfETA1ddhSrMgCTLLywfE7gRZ2dQDtd7ninpQvWV2g/Q1Xa/pEotMTiSOc6bUwrxZ5Sf 2AyulkIAqOKeo9SfqvleQcTaDV1qD2ACM3tLy6EFw5q/dQlf6RdAPZGp3TuV+soNeqZG Ey57yBDrJ6x/73MmHiRsiJ5QsT8YVVJ7CxbbDGraHxdHnVzifmtsRU9xgAchTwWV6iAC T9Tw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="SCN/EWik"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x26-20020a63485a000000b00381b8708c12si1069415pgk.636.2022.03.16.22.53.31; Wed, 16 Mar 2022 22:53:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="SCN/EWik"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229463AbiCQFyW (ORCPT + 99 others); Thu, 17 Mar 2022 01:54:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbiCQFyU (ORCPT ); Thu, 17 Mar 2022 01:54:20 -0400 Received: from mail-ej1-x641.google.com (mail-ej1-x641.google.com [IPv6:2a00:1450:4864:20::641]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28C6124B5E0; Wed, 16 Mar 2022 22:25:26 -0700 (PDT) Received: by mail-ej1-x641.google.com with SMTP id bg10so8421950ejb.4; Wed, 16 Mar 2022 22:25:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=em46uHT2Wr9UGmvm3AylWtT1TeSOw0Y1k0gjyaknWRs=; b=SCN/EWikFBaQIMyNBdgMwQPzjJYXS8611qgRiiXVB40QrJAh/iVayzKoZG3EFCNQ1R pRJ75Z2HJMaQtkYgfAHjJCf7SjyksYMbRknnDtFe+Slq+fW/M1wV7j7UcG08j3Rtuit8 fHkFvL+Vgb5co84FN3C60G0XEZ3P3+MJArtfFMJex3n2yNmjXkBdzpHiKl9cM0p7BC6L Oj8u5yffGQm7tLeLceYCxbmBgmOglURzUbxjqpA6+ZN+nYNdBUWlNlhDl+7yiAh1FwA4 qCTHTeGJpU0H/CvHWDdEzIh/iFewSRMwwGJb3uHSDqa2U9ARAwQ56xhSqfC9G+iaPV7+ I5wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=em46uHT2Wr9UGmvm3AylWtT1TeSOw0Y1k0gjyaknWRs=; b=N3OdN98ZWw9a0eDRayOm2N03XPofh6tO9nApWJwFw7CmheXwWY8KG2aq67U0fHYjjk 6Tl5IAXd5Q1RgxDzTNHFl94W2xmuuu7mXo8zD0ycHJCrYl9IYJgaVX+bpomGTfeVOVc1 IN1ChOANzA6RuY320EqdB+MJr+Ox9xnZt5FZ7+3o3Qc25cQY+UfMr76M9z3rLbjtfJ/7 ffKRq7yCZXbu5Eko20+fYrqS2jm6fKTy0o/xEiulTs9u6WyZu5vxvJTsSEBTNhhDrCX5 Abz5s5LX8IVExkggbgezDcnAUZpTzjWC5NEFiy1DlpeKQoNeiiVq9gfFQxxajZix+ySm sfQw== X-Gm-Message-State: AOAM530H3BO7kNlDwZZP0I3fhQYd93RKFNF3HvVPOr6AsSo8qeY3bbxe nPrXwjeVSD/rRZ50MXLmhHqTV4QO4Avy0AWpZgM= X-Received: by 2002:a17:906:4cca:b0:6ce:6a06:bf7 with SMTP id q10-20020a1709064cca00b006ce6a060bf7mr2862712ejt.109.1647494724540; Wed, 16 Mar 2022 22:25:24 -0700 (PDT) MIME-Version: 1.0 References: <20220316063148.700769-1-imagedong@tencent.com> <20220316063148.700769-3-imagedong@tencent.com> In-Reply-To: From: Menglong Dong Date: Thu, 17 Mar 2022 13:25:13 +0800 Message-ID: Subject: Re: [PATCH net-next v3 2/3] net: icmp: introduce __ping_queue_rcv_skb() to report drop reasons To: David Ahern Cc: Jakub Kicinski , Paolo Abeni , Steven Rostedt , Ingo Molnar , xeb@mail.ru, David Miller , Hideaki YOSHIFUJI , Menglong Dong , Eric Dumazet , Martin Lau , Talal Ahmad , Kees Cook , Alexander Lobakin , Hao Peng , Mengen Sun , dongli.zhang@oracle.com, LKML , netdev , Biao Jiang Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 17, 2022 at 11:56 AM David Ahern wrote: > > On 3/16/22 12:31 AM, menglong8.dong@gmail.com wrote: > > diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c > > index 3ee947557b88..9a1ea6c263f8 100644 > > --- a/net/ipv4/ping.c > > +++ b/net/ipv4/ping.c > > @@ -934,16 +934,24 @@ int ping_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, > > } > > EXPORT_SYMBOL_GPL(ping_recvmsg); > > > > -int ping_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) > > +static enum skb_drop_reason __ping_queue_rcv_skb(struct sock *sk, > > + struct sk_buff *skb) > > { > > + enum skb_drop_reason reason; > > + > > pr_debug("ping_queue_rcv_skb(sk=%p,sk->num=%d,skb=%p)\n", > > inet_sk(sk), inet_sk(sk)->inet_num, skb); > > - if (sock_queue_rcv_skb(sk, skb) < 0) { > > - kfree_skb(skb); > > + if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) { > > + kfree_skb_reason(skb, reason); > > pr_debug("ping_queue_rcv_skb -> failed\n"); > > - return -1; > > + return reason; > > } > > - return 0; > > + return SKB_NOT_DROPPED_YET; > > +} > > + > > +int ping_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) > > +{ > > + return __ping_queue_rcv_skb(sk, skb) ?: -1; > > } > > EXPORT_SYMBOL_GPL(ping_queue_rcv_skb); > > > > This is a generic proto callback and you are now changing its return > code in a way that seems to conflict with existing semantics The return value of ping_queue_rcv_skb() seems not changed. In the previous code, -1 is returned on failure and 0 for success. This logic isn't changed, giving __ping_queue_rcv_skb() != 0 means failure and -1 is returned. Isn't it?