Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2997347ybt; Mon, 22 Jun 2020 12:12:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxe7gcHCFLwp1PvIiezZVYGr1lJ8tyqXQxTFuTbUkKWO07R3IN/0j5uEflTyi8TpS0jUuQ5 X-Received: by 2002:aa7:c908:: with SMTP id b8mr18675668edt.76.1592853165287; Mon, 22 Jun 2020 12:12:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592853165; cv=none; d=google.com; s=arc-20160816; b=b3+BiV2bmAX8Ap5ZkczFt3tcviQ7zMI0zxn2dGQCWDDt1Kjk5QLCh9XI+Lq8Fr0L1D WFNQlXa4nNI87vuK9t8z2K9AEGppDv4Gw8t/bBJ0uGRrCLp8rEth2+Yc/od7V5VBGuGF OBqXHgIIehyhPfNDZWKMTf6CS/Ub2h4JOdjzV0bY6nB1mYRuCj+WSB+6WAI4fQa8h9l8 FJrYcU9nrJfwwsWG231Y+yiLt4A1kcf948AvW04zvjwlMwr+SYEG6oiBXEmYxBAZO5Qo 1YWoDzHy6gwmBk/N8P26FVZKtcl2n/11omloTQnvH4fA2GzksgEZkodK1sIU9FvSoJLd B9EA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:cc:from:to:subject :references:in-reply-to:content-transfer-encoding:mime-version; bh=ADbQPG+4TBylITWwQbnFHrTp8x1GNkrZj8O+yvxngKk=; b=0439tGEMlNdyMiEa/Zv60e8Jiyiv1vGXLk0Eqfoikt7sqDCgGJraEr2Flqma0aEn4X 8gQeCGW+bFuPj93gzPoEnR53VJiKLOgxskh6qODhfTU+Ubw53nabby0I/ITYYjOsxW7Y Vw5w5BX2kKBWHkrFEQFcF3B6f11zvCVG2SaxmnpKVKqzRNZ3wHmyKw7TDDOyMAgEBZvB PeDqGKUPgrPWGY/fmFX9br3zxKZnaVuuv2uIe/pCaBZgJzkaYYotqyNC2XT6l0bbYc1M XCe1VhlXPkuzq05+ysV64LkfhsTqREQhvaOQzEKp9rnTWbxC0Auw3hGD5KcRiVv9+tOC xJtQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a9si9809268edv.489.2020.06.22.12.12.22; Mon, 22 Jun 2020 12:12:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728405AbgFVNJM convert rfc822-to-8bit (ORCPT + 99 others); Mon, 22 Jun 2020 09:09:12 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:51871 "EHLO relay10.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727940AbgFVNJJ (ORCPT ); Mon, 22 Jun 2020 09:09:09 -0400 Received: from localhost (lfbn-tou-1-1075-236.w90-76.abo.wanadoo.fr [90.76.143.236]) (Authenticated sender: antoine.tenart@bootlin.com) by relay10.mail.gandi.net (Postfix) with ESMTPSA id 2DAA324001A; Mon, 22 Jun 2020 13:09:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT In-Reply-To: <20200620150045.GA2054@localhost> References: <20200619122300.2510533-1-antoine.tenart@bootlin.com> <20200619122300.2510533-7-antoine.tenart@bootlin.com> <20200620150045.GA2054@localhost> Subject: Re: [PATCH net-next v3 6/8] net: phy: mscc: timestamping and PHC support To: Richard Cochran From: Antoine Tenart Cc: davem@davemloft.net, andrew@lunn.ch, f.fainelli@gmail.com, hkallweit1@gmail.com, alexandre.belloni@bootlin.com, UNGLinuxDriver@microchip.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com, allan.nielsen@microchip.com, foss@0leil.net Message-ID: <159283134527.1456598.6263985916427354928@kwain> Date: Mon, 22 Jun 2020 15:09:05 +0200 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Richard, Quoting Richard Cochran (2020-06-20 17:00:45) > On Fri, Jun 19, 2020 at 02:22:58PM +0200, Antoine Tenart wrote: > > > +static void vsc85xx_dequeue_skb(struct vsc85xx_ptp *ptp) > > +{ > > + struct skb_shared_hwtstamps shhwtstamps; > > + struct vsc85xx_ts_fifo fifo; > > + struct sk_buff *skb; > > + u8 skb_sig[16], *p; > > + int i, len; > > + u32 reg; > > + > > + memset(&fifo, 0, sizeof(fifo)); > > + p = (u8 *)&fifo; > > + > > + reg = vsc85xx_ts_read_csr(ptp->phydev, PROCESSOR, > > + MSCC_PHY_PTP_EGR_TS_FIFO(0)); > > + if (reg & PTP_EGR_TS_FIFO_EMPTY) > > + return; > > + > > + *p++ = reg & 0xff; > > + *p++ = (reg >> 8) & 0xff; > > + > > + /* Read the current FIFO item. Reading FIFO6 pops the next one. */ > > + for (i = 1; i < 7; i++) { > > + reg = vsc85xx_ts_read_csr(ptp->phydev, PROCESSOR, > > + MSCC_PHY_PTP_EGR_TS_FIFO(i)); > > + *p++ = reg & 0xff; > > + *p++ = (reg >> 8) & 0xff; > > + *p++ = (reg >> 16) & 0xff; > > + *p++ = (reg >> 24) & 0xff; > > + } > > + > > + len = skb_queue_len(&ptp->tx_queue); > > + if (len < 1) > > + return; > > + > > + while (len--) { > > + skb = __skb_dequeue(&ptp->tx_queue); > > + if (!skb) > > + return; > > + > > + /* Can't get the signature of the packet, won't ever > > + * be able to have one so let's dequeue the packet. > > + */ > > + if (get_sig(skb, skb_sig) < 0) > > + continue; > > This leaks the skb. That's right, thanks for pointing this out! I'll fix it. Thanks, Antoine -- Antoine Ténart, Bootlin Embedded Linux and Kernel engineering https://bootlin.com