From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oa1-f99.google.com (mail-oa1-f99.google.com [209.85.160.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C1903939D6 for ; Mon, 6 Apr 2026 17:58:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.99 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775498286; cv=none; b=q91nEtJn4ZVI/3ImQ7LqepmW2m6PaoHJmXiEQs+HmjxDTwVLMQVaFPDfcnPAk9hRKOmjK62k1/3mr/V+TuEW8B0vEMqLBleO2U/nAmT7AhX7vAEXrKGjr0JCNMlIrYi/veZlOVNQQzIn1ceS1RZdhxSwiQpIpSmKityNDhGYDsQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775498286; c=relaxed/simple; bh=KoWiGxdA7eMlluw82ADCz/hEWx8BY9mKixVoCNP8Wm4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fIhaa6jmcqRHOlLC9lPRpQYuWhQIAMuEtdQiM/Vt0u9cftyHsSb+CPPqsB3I8bv0ujbjRR1EOcOe88SWGbRBvE5qOpqtap0raD49BTZLnXsZnI0O89gOaAVXNOwPFMafUh71vGJbeSKKjIbaswTif5B8+hU03oG5PN3R5UEUi0E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=bHBy0f4h; arc=none smtp.client-ip=209.85.160.99 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="bHBy0f4h" Received: by mail-oa1-f99.google.com with SMTP id 586e51a60fabf-41576c5c01cso2481784fac.3 for ; Mon, 06 Apr 2026 10:58:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775498284; x=1776103084; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=r6Rw3k1N40qCZwRrtuE29C+8M83AncDyy6tmfraYWWE=; b=mVoqDu1Way+PiavQ+YiB4ZBluOdDz29ePC0r1pfoox41uV2Eua8RRUaszR0sfvykVW c3OYAxyoxgAY7IYrlAAUS9Smzl/ouEBScqqTi49zJeDgSAH5wY57Q3m6iv58R8KKnDCn Ojm7DHO5u9Yb0C0yI4+xl/gVOHgSoWFrXz3aBB3P0AdRtmM0vxzvZfVnhkOs6YMn1eR2 wAtnlxUOyScKL9jn0gnAY7eRfzNj8g1MYABmaI1RKkc8eDK5tHWR/BekQ2DgOYIibHnd oMQVUQw1IR5lquh08NQPWx/U7bcT0efuhcaFUyoZyRl9CUklu1VP/dGMBSjiirkMZHId yPdg== X-Gm-Message-State: AOJu0YwrphWJ8G6uxNGTO+iPyKA2b40CatkltJNXRf8VdwwDL5pO4m8M g60JETBeZV2owEpda8E4GRmAlqtazEk/JapXZtqL4uFI0juSS0C79fhavhIsaFH90TfWIJh4Ia3 yD5z8AZoMopsScNcGmKvuB3xGc1eS3f+QuLzrR06X90wlTEjtANgjfveUtJKtpsaT04HE3iIMB6 An/dPvf346aQB9dFQasV7utFnUFkA6pqfT+JJKoYK3bnUfRlI4Yg+kb7YpC/P7uj1g2toR3uaWS dEfUSK/AA== X-Gm-Gg: AeBDievAMUrmApq9ox91SLuxv4UwalhLZBd+4KfK3GbkCLmw3qzUitesWThtIhy0v8v i9VWrAGi67+IpJogsKqalApjY8X9gmuF2jxX+scms13xw/XHW0WJYEltTn+Qw1rqhZXAkrRfLNO TUJVsQoF4OFmNiObMPV6dsMF6KidsgSBIhhzlpHqG5lH7b4D4F/171TUeqKpeCU0Hsajnp7KFu/ x81bNYf8OgtRMZdXGx16RWslDZdnxUGlMKfDUvvw7XypkzxWNF1uou0m4z5EZYPclLQnSS9VMhk pUd5V5GwSKav5xc0w2BoXlwtdLfeuMY3qZd/6c+SORrpTrUrzLG+k5JWhj9wqe8Bd0IQJUIgFoG uNYOvMh9KWPT2Fp1wqrSWDctS7UvhTGb6g/sdWo+0Fa/WIjXbM4uVbcDjSlbUoOoRXfbQ0Jvln6 yNFbZJl1ew16QCaeQGOLbapqAmLhqtA9qBL2gKmzZXB4t+18E4+ZGhq2s= X-Received: by 2002:a05:6871:7408:b0:417:d068:6029 with SMTP id 586e51a60fabf-4231009ba52mr8027273fac.36.1775498284311; Mon, 06 Apr 2026 10:58:04 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-24.dlp.protect.broadcom.com. [144.49.247.24]) by smtp-relay.gmail.com with ESMTPS id 586e51a60fabf-4230fbbebc6sm1168303fac.0.2026.04.06.10.58.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Apr 2026 10:58:04 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-89ce375c788so115098326d6.2 for ; Mon, 06 Apr 2026 10:58:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1775498283; x=1776103083; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=r6Rw3k1N40qCZwRrtuE29C+8M83AncDyy6tmfraYWWE=; b=bHBy0f4hsNZm32gZYP5lDryhhZEbH0ZP0cxzFx3uMZpIpHv9ydYCaMM8Mp/WDwSD/F AFIVFxbRJV4cxH3qAXSNRYnGeNhIMjsV7ZUGajZilRO+joQDbTkvzHn7Iwh7ijzKYwjU e4YEMnsyf0YXiFMDbfadtM6SXQtA8G+sfkrsw= X-Received: by 2002:a05:6214:5c82:b0:8a0:f8b7:391d with SMTP id 6a1803df08f44-8a7042f27cdmr189118136d6.31.1775498283041; Mon, 06 Apr 2026 10:58:03 -0700 (PDT) X-Received: by 2002:a05:6214:5c82:b0:8a0:f8b7:391d with SMTP id 6a1803df08f44-8a7042f27cdmr189117466d6.31.1775498282461; Mon, 06 Apr 2026 10:58:02 -0700 (PDT) Received: from stbsdo-bld-1.sdg.broadcom.net ([192.19.161.248]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8a596915986sm141462266d6.24.2026.04.06.10.58.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 10:58:02 -0700 (PDT) From: Justin Chen To: netdev@vger.kernel.org Cc: pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, andrew+netdev@lunn.ch, bcm-kernel-feedback-list@broadcom.com, florian.fainelli@broadcom.com, opendmb@gmail.com, nb@tipi-net.de, Justin Chen Subject: [PATCH net v3 1/3] net: bcmgenet: fix off-by-one in bcmgenet_put_txcb Date: Mon, 6 Apr 2026 10:57:54 -0700 Message-Id: <20260406175756.134567-2-justin.chen@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260406175756.134567-1-justin.chen@broadcom.com> References: <20260406175756.134567-1-justin.chen@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e The write_ptr points to the next open tx_cb. We want to return the tx_cb that gets rewinded, so we must rewind the pointer first then return the tx_cb that it points to. That way the txcb can be correctly cleaned up. Fixes: 876dbadd53a7 ("net: bcmgenet: Fix unmapping of fragments in bcmgenet_xmit()") Signed-off-by: Justin Chen Reviewed-by: Nicolai Buchwitz --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 482a31e7b72b..0f6e4baba25b 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -1819,15 +1819,15 @@ static struct enet_cb *bcmgenet_put_txcb(struct bcmgenet_priv *priv, { struct enet_cb *tx_cb_ptr; - tx_cb_ptr = ring->cbs; - tx_cb_ptr += ring->write_ptr - ring->cb_ptr; - /* Rewinding local write pointer */ if (ring->write_ptr == ring->cb_ptr) ring->write_ptr = ring->end_ptr; else ring->write_ptr--; + tx_cb_ptr = ring->cbs; + tx_cb_ptr += ring->write_ptr - ring->cb_ptr; + return tx_cb_ptr; } -- 2.34.1