From nobody Fri Oct 3 15:34:19 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C41C83009E1; Thu, 28 Aug 2025 09:57:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756375077; cv=none; b=fDvt1fhSw8poIGmsjXC9j/Z8IC8+tivsIC/zq8grLVCAudoAmmpdXTtJETD2oCTWmmMunqOGRouHXUImCsJGXMJqP/+6DBo1jThSF2fldxTciupL9G2vgeO7535fQClbmoqZtgS9BB9/wXVxJgzvfHENFre9CsJw8uIpRnV+rgY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756375077; c=relaxed/simple; bh=4I8hXM8cu9p2nIU0MIxeEd31GffzsYuGhLCQpjlSPPg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pYihP5kXp6f6ISONonOpMkghsXB2AWCjIw01+DQnz58GGGd/KapOJ/gj4YZ3LchyNaJUtP3BCzWCxQVvwg5KG4w14iypFpMxOjlA1sgU/8Fei2AGAcZnDg2KkiL15u9LvyKfQijzB1wbm+Ydr67PODXEWSHN/nmQF+16kAZm55s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lIzwNo/D; arc=none smtp.client-ip=198.175.65.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lIzwNo/D" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1756375076; x=1787911076; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4I8hXM8cu9p2nIU0MIxeEd31GffzsYuGhLCQpjlSPPg=; b=lIzwNo/Dddds75lwXlgZu2wxUlccYFvnix+bnLQZQOAkFotkAuzAe/yw ulfsINgOLJG5820MefcmGhLXIgliHAdOWzl+9TFvIqdC8OA1cSEIFlALg MYaNkOVJPRRwA832i7HiCGjlytNrTjsx+9uj82YYXw0AawkDlzP0t4S/F Laowgv4/hcTWehn97VRTrVejvLxUv4y/QoY+88kWU2xB0mWdYMz4UkgRQ NKVsywFlghLlr4sho+6rezxzp1arI0gI77ByOBkbWksQg6Z4BitmM48A5 hNtbFdB22xGBKToYVHqZKetJ98ZvXC7htGNJdx4NfFuyLa8mmn1dMPQLq A==; X-CSE-ConnectionGUID: YG8NVrj+SkeTp69kWykk9g== X-CSE-MsgGUID: OkNJf/NUSFq2S7si5CgzkQ== X-IronPort-AV: E=McAfee;i="6800,10657,11535"; a="69735027" X-IronPort-AV: E=Sophos;i="6.18,217,1751266800"; d="scan'208";a="69735027" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2025 02:57:55 -0700 X-CSE-ConnectionGUID: +ti/OfwaReu5HEvNt0PtnA== X-CSE-MsgGUID: fJB39fa6TyuDx4YLWrziGw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.18,217,1751266800"; d="scan'208";a="170467396" Received: from gklab-kleszczy-dev.igk.intel.com ([10.102.25.215]) by fmviesa009.fm.intel.com with ESMTP; 28 Aug 2025 02:57:53 -0700 From: Konrad Leszczynski To: davem@davemloft.net, andrew+netdev@lunn.ch, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, cezary.rojewski@intel.com, sebastian.basierski@intel.com, Konrad Leszczynski Subject: [PATCH net 1/3] net: stmmac: replace memcpy with strscpy in ethtool Date: Thu, 28 Aug 2025 12:02:35 +0200 Message-Id: <20250828100237.4076570-2-konrad.leszczynski@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250828100237.4076570-1-konrad.leszczynski@intel.com> References: <20250828100237.4076570-1-konrad.leszczynski@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fix kernel exception by replacing memcpy with strscpy when used with safety feature strings in ethtool logic. [ +0.000023] BUG: KASAN: global-out-of-bounds in stmmac_get_strings+0x17d/= 0x520 [stmmac] [ +0.000115] Read of size 32 at addr ffffffffc0cfab20 by task ethtool/2571 [ +0.000005] Call Trace: [ +0.000004] [ +0.000003] dump_stack_lvl+0x6c/0x90 [ +0.000016] print_report+0xce/0x610 [ +0.000011] ? stmmac_get_strings+0x17d/0x520 [stmmac] [ +0.000108] ? kasan_addr_to_slab+0xd/0xa0 [ +0.000008] ? stmmac_get_strings+0x17d/0x520 [stmmac] [ +0.000101] kasan_report+0xd4/0x110 [ +0.000010] ? stmmac_get_strings+0x17d/0x520 [stmmac] [ +0.000102] kasan_check_range+0x3a/0x1c0 [ +0.000010] __asan_memcpy+0x24/0x70 [ +0.000008] stmmac_get_strings+0x17d/0x520 [stmmac] Fixes: 8bf993a5877e8a0a ("net: stmmac: Add support for DWMAC5 and implement= Safety Features") Reviewed-by: Sebastian Basierski Reviewed-by: Cezary Rojewski Signed-off-by: Konrad Leszczynski Reviewed-by: Vadim Fedorenko --- drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers= /net/ethernet/stmicro/stmmac/stmmac_ethtool.c index 77758a7299b4..0433be4bd0c4 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -752,7 +752,7 @@ static void stmmac_get_strings(struct net_device *dev, = u32 stringset, u8 *data) if (!stmmac_safety_feat_dump(priv, &priv->sstats, i, NULL, &desc)) { - memcpy(p, desc, ETH_GSTRING_LEN); + strscpy(p, desc, ETH_GSTRING_LEN); p +=3D ETH_GSTRING_LEN; } } --=20 2.34.1 From nobody Fri Oct 3 15:34:19 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 075A83009FA; Thu, 28 Aug 2025 09:57:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756375079; cv=none; b=PV8zlhKk+EwJs7q9khKx/YJs+FUKCj0rVa3Q3xt8NsYkjYe+/eJS9He/RkSv2nv6ESO2T9Rgq3Q77DuyZybdmJDac1vNWTPdjGCmLYChIHpAV3XZWPtnQhrZSwT8rpTmwpBfBW3M9I2VCco/ASH5Z1NVYaiHmeyz4dNz3hYHWaM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756375079; c=relaxed/simple; bh=CjZSl/MD9z8aqTndBAzCVVBnt/OFES9kThtlsbgXlko=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=WeFqxpYVOlY/1t7EWtd3BRSjFCBGmTzyiYjSsACrPyjpulMiyuZrDxjcYVeZ9QudU3Phzefbi6hMraGPHc705FUubyT4PJP5Gr1mr7R0B0sciUo9uNSqxp/h+mlT+hmNQhiqXXHaBj94WAwFJFgledEY7/bEeEo6b2XiTrfhsOc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=MG6TxDTl; arc=none smtp.client-ip=198.175.65.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MG6TxDTl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1756375078; x=1787911078; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CjZSl/MD9z8aqTndBAzCVVBnt/OFES9kThtlsbgXlko=; b=MG6TxDTlxaiF58Ut3xlGo/DENaWV9IEa03lc4e/kQ0vMpN9eSbzgyB9R emxjK0cBwaXi93krCrwyJPh8gt84/nFYfBkLw5Fh/eeLy4vElsHqmJ7ke raPDUsxynUHXnGdoaamy3T+SWj1UITD3AtSiXxhP1Rp6xmySc60d9KfjA 7/tNpJXVWvZVm3YAhRrFPzanw4ChDudyKXMlrqGikhgNctvg6yl7a2QfT QXGOLQC7iOXmfBL1YYENB6VE1vfwW3db7ElEkMq6fzTMncbls5XWEIqIT JG0PJLwT4gJA651G5yCBoE+6PpInRqJUTk0+H4CJQS5A8Yv+nbSt6buaj Q==; X-CSE-ConnectionGUID: ls10JpxpSfqndw5hTLIOlw== X-CSE-MsgGUID: 9LdNEzRWRRGyh1z+Ebb7zA== X-IronPort-AV: E=McAfee;i="6800,10657,11535"; a="69735035" X-IronPort-AV: E=Sophos;i="6.18,217,1751266800"; d="scan'208";a="69735035" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2025 02:57:58 -0700 X-CSE-ConnectionGUID: vO4WZI5bQMWRfFIe5VHVGg== X-CSE-MsgGUID: 0L4OwTkUSDSJ1u7xf/DO2g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.18,217,1751266800"; d="scan'208";a="170467412" Received: from gklab-kleszczy-dev.igk.intel.com ([10.102.25.215]) by fmviesa009.fm.intel.com with ESMTP; 28 Aug 2025 02:57:55 -0700 From: Konrad Leszczynski To: davem@davemloft.net, andrew+netdev@lunn.ch, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, cezary.rojewski@intel.com, sebastian.basierski@intel.com, Piotr Warpechowski , Konrad Leszczynski Subject: [PATCH net 2/3] net: stmmac: correct Tx descriptors debugfs prints Date: Thu, 28 Aug 2025 12:02:36 +0200 Message-Id: <20250828100237.4076570-3-konrad.leszczynski@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250828100237.4076570-1-konrad.leszczynski@intel.com> References: <20250828100237.4076570-1-konrad.leszczynski@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Piotr Warpechowski It was observed that extended descriptors are not printed out fully and enhanced descriptors are completely omitted in stmmac_rings_status_show(). Correct printing according to documentation and other existing prints in the driver. Fixes: 79a4f4dfa69a8379 ("net: stmmac: reduce dma ring display code duplica= tion") Reviewed-by: Sebastian Basierski Reviewed-by: Cezary Rojewski Signed-off-by: Piotr Warpechowski Signed-off-by: Konrad Leszczynski Reviewed-by: Vadim Fedorenko --- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/ne= t/ethernet/stmicro/stmmac/stmmac_main.c index 7b16d1207b80..70c3dd88a749 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6351,14 +6351,25 @@ static void sysfs_display_ring(void *head, int size= , int extend_desc, desc_size =3D extend_desc ? sizeof(*ep) : sizeof(*p); for (i =3D 0; i < size; i++) { dma_addr =3D dma_phy_addr + i * desc_size; - seq_printf(seq, "%d [%pad]: 0x%x 0x%x 0x%x 0x%x\n", - i, &dma_addr, - le32_to_cpu(p->des0), le32_to_cpu(p->des1), - le32_to_cpu(p->des2), le32_to_cpu(p->des3)); - if (extend_desc) - p =3D &(++ep)->basic; - else + if (extend_desc) { + seq_printf(seq, "%d [%pad]: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", + i, &dma_addr, + le32_to_cpu(ep->basic.des0), + le32_to_cpu(ep->basic.des1), + le32_to_cpu(ep->basic.des2), + le32_to_cpu(ep->basic.des3), + le32_to_cpu(ep->des4), + le32_to_cpu(ep->des5), + le32_to_cpu(ep->des6), + le32_to_cpu(ep->des7)); + ep++; + } else { + seq_printf(seq, "%d [%pad]: 0x%x 0x%x 0x%x 0x%x\n", + i, &dma_addr, + le32_to_cpu(p->des0), le32_to_cpu(p->des1), + le32_to_cpu(p->des2), le32_to_cpu(p->des3)); p++; + } } } =20 @@ -6398,7 +6409,11 @@ static int stmmac_rings_status_show(struct seq_file = *seq, void *v) seq_printf(seq, "Extended descriptor ring:\n"); sysfs_display_ring((void *)tx_q->dma_etx, priv->dma_conf.dma_tx_size, 1, seq, tx_q->dma_tx_phy); - } else if (!(tx_q->tbs & STMMAC_TBS_AVAIL)) { + } else if (tx_q->tbs & STMMAC_TBS_AVAIL) { + seq_printf(seq, "Enhanced descriptor ring:\n"); + sysfs_display_ring((void *)tx_q->dma_entx, + priv->dma_conf.dma_tx_size, 1, seq, tx_q->dma_tx_phy); + } else { seq_printf(seq, "Descriptor ring:\n"); sysfs_display_ring((void *)tx_q->dma_tx, priv->dma_conf.dma_tx_size, 0, seq, tx_q->dma_tx_phy); --=20 2.34.1 From nobody Fri Oct 3 15:34:19 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59F943043C6; Thu, 28 Aug 2025 09:58:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756375081; cv=none; b=P+GMxbvqs+S6Rj3W6irHpLlTd4C1s/rnRoyImSy4ED3mnUYUoyFXq/ZIuY2rNpzQy8qyCk+kFxR3y00YYtMLjMhFjycxVYqt3iYJx+axI72Qu2CZdHgkPQ8CK1MxBtw8ydfvF921FHDdLDVRISEc9Vt+Gf0DGnOAK8E7B8JTewU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756375081; c=relaxed/simple; bh=6Rpzd2bCzeU18tHUglFTTigNymZLIvAxuOf1baLDvqE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=R7OrfZTHEefamdQZSdh/KCN5oG7+o+JKj1F8Z1xc0cB97V+zxrO+ukcoAgkXAXcyB3Ycfw32qUgF7sUBQOD2mtGshVVkqTqj9N3hFfsi2z9Y8Z+ho6iBUqi8fxrNeyzSrrE8so65dgzx9nr36Y++VWRYsPcwgbU8oBfvygTSFcI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=NjfAi3HO; arc=none smtp.client-ip=198.175.65.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="NjfAi3HO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1756375080; x=1787911080; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6Rpzd2bCzeU18tHUglFTTigNymZLIvAxuOf1baLDvqE=; b=NjfAi3HO+0a8lw5A1t8rhLR8wjvl9EMMD41HtS1HeMzetfOyFiOTquSk 6LF+Lv1h05XCTRjdormYarjWLILFhsBP2xNBIBmO+L6tPAyPcJK8avSks OREK/WIVI9ffuB7A2CyLKdPMrjqkKl6ZzpN7vqKSl5h8oNFiC4VEYNXjU 6jawJ/w6CKzDet1YPDank9lFlNMxnZ0oWV7Gvrocg7AkV4EeCDVMzeEn8 v6tkW8StM/Gkqm8m+7XlmfNamdGZjJFs0Kbg+sko8LkV82/RhC/Ie3coM uE7rBR3/sfm+c9lIqyfZei4ZIS+cTO+NZ5SDM3CsA/m/shjwKqTRxXRST w==; X-CSE-ConnectionGUID: PGknEm2ZSKexEYi6ao1PCQ== X-CSE-MsgGUID: Pq7lrk3GTNyoi6GcrOC/CQ== X-IronPort-AV: E=McAfee;i="6800,10657,11535"; a="69735041" X-IronPort-AV: E=Sophos;i="6.18,217,1751266800"; d="scan'208";a="69735041" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2025 02:58:00 -0700 X-CSE-ConnectionGUID: oCtXkiiIRMaepyz+z9LSTQ== X-CSE-MsgGUID: nHGCfUf5RoOqch4YxiUugQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.18,217,1751266800"; d="scan'208";a="170467422" Received: from gklab-kleszczy-dev.igk.intel.com ([10.102.25.215]) by fmviesa009.fm.intel.com with ESMTP; 28 Aug 2025 02:57:58 -0700 From: Konrad Leszczynski To: davem@davemloft.net, andrew+netdev@lunn.ch, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, cezary.rojewski@intel.com, sebastian.basierski@intel.com, Karol Jurczenia , Konrad Leszczynski Subject: [PATCH net 3/3] net: stmmac: check if interface is running before TC block setup Date: Thu, 28 Aug 2025 12:02:37 +0200 Message-Id: <20250828100237.4076570-4-konrad.leszczynski@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250828100237.4076570-1-konrad.leszczynski@intel.com> References: <20250828100237.4076570-1-konrad.leszczynski@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Karol Jurczenia If the interface is down before setting a TC block, the queues are already disabled and setup cannot proceed. Fixes: 4dbbe8dde8485b89 ("net: stmmac: Add support for U32 TC filter using = Flexible RX Parser") Reviewed-by: Sebastian Basierski Reviewed-by: Cezary Rojewski Signed-off-by: Karol Jurczenia Signed-off-by: Konrad Leszczynski Reviewed-by: Vadim Fedorenko --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/ne= t/ethernet/stmicro/stmmac/stmmac_main.c index 70c3dd88a749..202a157a1c90 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6247,6 +6247,9 @@ static int stmmac_setup_tc_block_cb(enum tc_setup_typ= e type, void *type_data, struct stmmac_priv *priv =3D cb_priv; int ret =3D -EOPNOTSUPP; =20 + if (!netif_running(priv->dev)) + return -EINVAL; + if (!tc_cls_can_offload_and_chain0(priv->dev, type_data)) return ret; =20 --=20 2.34.1