Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp702214iob; Thu, 12 May 2022 02:53:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKAvLnkJOn+pft8TN3/jyms96nhXjcmtcNvIIzHD7SXHgYdUEaxC6Iz+Ti8T8Mkhd1Kmzo X-Received: by 2002:a63:4c56:0:b0:3c6:b63f:4bc8 with SMTP id m22-20020a634c56000000b003c6b63f4bc8mr16407932pgl.413.1652349221272; Thu, 12 May 2022 02:53:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652349221; cv=none; d=google.com; s=arc-20160816; b=iXdxE4jvaLa+zd5u3ITUi8dOXzKuCEUkX++StZZmJOFyTgNxmUgvz11mbrknQa1mW9 /wJEV7dDLOjzMXMD3wTRKkxkdznX7FJBVvtYh7Q51fmYqMew1d9KL/gwTyfBkt01Ks4m yn+9KWquuODt8ySDf6vXf+u0v6sWY4MYtEs8ZrSnxkjyXbRC9Ww70Bsk8OFQdPyFb+q3 WLjawxAL1kxieGsKcXkzwFRRLV3Mpb0xrak3E6ofj3s3lWrpd52IKmWtAk35oNCxbvEj iE3LSAEcUEm8+b0BL2MkKXv9bKZXdmpOarcaJ+/gAL8N/OfVmNji6i4Wia7pxix7nPnT Gaqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=G1//gcoG5dd5Xm0zg4VatFXg6tYAeNHGCyIbpFfQR/o=; b=wLy39C2V8vGjjdkwp6zQkcwZPZJphirHbwwATuQ0wTcSrP9+/a4gkcU5w5SSk2bsIT i0RUuInckYc1GH5aU8MVbpl4semmSk58hewC3LlkMV2KTV594I83g/jwi+74JMLmMCQ0 9RXLKtPwQYQ3dMUVxY6BNmHj1zspxvIOmtZ6wqStcPlqsgbC+ObeVxuSBn9GG4liXsDA V7nvXwyeEQsOX8Q6hAVzMNrCoZnNl46bmGnutvCXFqbUCBo8zoy6oqpZVTcHMZX73jMI ydBhD76/DLAj3c+Ya4HHOLxhvoDKaO4A1AcbkNyJnipZDYQrGnRGg0FuX6yVJdYRYT3e k7CA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f5-20020a170902ce8500b001590829860dsi6413897plg.400.2022.05.12.02.53.29; Thu, 12 May 2022 02:53:41 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242071AbiEKMxz (ORCPT + 99 others); Wed, 11 May 2022 08:53:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231210AbiEKMxv (ORCPT ); Wed, 11 May 2022 08:53:51 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C49C65933A for ; Wed, 11 May 2022 05:53:50 -0700 (PDT) Received: from ptx.hi.pengutronix.de ([2001:67c:670:100:1d::c0]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nolqa-0004z8-Cs; Wed, 11 May 2022 14:53:44 +0200 Received: from ore by ptx.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1nolqZ-0003oj-Tj; Wed, 11 May 2022 14:53:43 +0200 Date: Wed, 11 May 2022 14:53:43 +0200 From: Oleksij Rempel To: Oliver Hartkopp Cc: Wolfgang Grandegger , Marc Kleine-Budde , Devid Antonio Filoni , kernel@pengutronix.de, linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, David Jander Subject: Re: [PATCH 1/1] can: skb: add and set local_origin flag Message-ID: <20220511125343.GA24267@pengutronix.de> References: <20220511121913.2696181-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 14:41:16 up 42 days, 1:10, 82 users, load average: 0.08, 0.10, 0.09 User-Agent: Mutt/1.10.1 (2018-07-13) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c0 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable 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 Wed, May 11, 2022 at 02:38:32PM +0200, Oliver Hartkopp wrote: > Hi Oleksij, > > On 5/11/22 14:19, Oleksij Rempel wrote: > > Add new can_skb_priv::local_origin flag to be able detect egress > > packages even if they was sent directly from kernel and not assigned to > > some socket. > > > > Signed-off-by: Oleksij Rempel > > Cc: Devid Antonio Filoni > > --- > > drivers/net/can/dev/skb.c | 3 +++ > > include/linux/can/skb.h | 1 + > > net/can/raw.c | 2 +- > > 3 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/can/dev/skb.c b/drivers/net/can/dev/skb.c > > index 61660248c69e..3e2357fb387e 100644 > > --- a/drivers/net/can/dev/skb.c > > +++ b/drivers/net/can/dev/skb.c > > @@ -63,6 +63,7 @@ int can_put_echo_skb(struct sk_buff *skb, struct net_device *dev, > > /* save frame_len to reuse it when transmission is completed */ > > can_skb_prv(skb)->frame_len = frame_len; > > + can_skb_prv(skb)->local_origin = true; > > skb_tx_timestamp(skb); > > @@ -200,6 +201,7 @@ struct sk_buff *alloc_can_skb(struct net_device *dev, struct can_frame **cf) > > can_skb_reserve(skb); > > can_skb_prv(skb)->ifindex = dev->ifindex; > > can_skb_prv(skb)->skbcnt = 0; > > + can_skb_prv(skb)->local_origin = false; > > *cf = skb_put_zero(skb, sizeof(struct can_frame)); > > @@ -231,6 +233,7 @@ struct sk_buff *alloc_canfd_skb(struct net_device *dev, > > can_skb_reserve(skb); > > can_skb_prv(skb)->ifindex = dev->ifindex; > > can_skb_prv(skb)->skbcnt = 0; > > + can_skb_prv(skb)->local_origin = false; > > IMO this patch does not work as intended. > > You probably need to revisit every place where can_skb_reserve() is used, > e.g. in raw_sendmsg(). > > E.g. to make it work for virtual CAN and vxcan interfaces. ok, i'll take a look on it. > > I'm a bit unsure why we should not stick with the simple skb->sk handling? In case of J1939 we have kernel generate control frames not associated with any socket. For example transfer abort messages because no receive socket was detected. Or there are multiple receive sockets and attaching to one of it make no sense. Regards, Oleksij -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |