From nobody Thu Oct 2 13:03:27 2025 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 EEEFB350D4B for ; Wed, 17 Sep 2025 09:58:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758103104; cv=none; b=LV4/zYXMsjGRjur21mI+uMhS/Q2cXX1mVgGWI2XZ6/lYipdS1EX+MJdPdrkEPIQrmCSPSf20WKmybGBe5qu8tG40KjPEPze2bPZMWmcLpCRtCm2yOMByR5HPXJkNCtnMsZEpiFHIOj+rPPpptjwpIO2SXLkrZzy3T9a8IhLwQtk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758103104; c=relaxed/simple; bh=g5R+KO0zDOkxIkWQNfeVkn9e14oSE0vPMCqx5KVoKUc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jYpYxmHZDbbMrdtWu9q+MqX/b9p0xpQiLmNC8PzPbiYRyFF+AH5VgDOD8bAc/1ppTqmmJD75eWOTAgIXylBG+dAGLdFZDUI6e3OTFXrdU34LueOSQTwmHTS5oG3DBoRE33KQaEnHTgq7NA1s3JLCiy/cb6CpLAd8UQ0+BhWI8JY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-62f799a5b72so2245781a12.3 for ; Wed, 17 Sep 2025 02:58:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758103101; x=1758707901; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BNdbybFK0ieLurW9tGv2v5Ky8Nf9YctW4a1t2pmLOlc=; b=hHBsVhd0dNB15BwJ/JQpmb5vYOxQXdvfYQGUQFiGyoffdkYH2+d/vrquXWI/Cx1qJM FwTAQITFBDVwoqeYDNrwk20Fa758N+HVRRMb9GCY9b/Eo3fdarBwAGFfGo1EFdHrsDHO Kf68URCFULGEUKiNH2v0Ky7+uOaUcBMo66EC2VwKDP0x5Tt0P1W8/7nCPJjH1/fhA5ji H5jiYr0LQ/wYJhKziMBm3bCrsvGf+XDTsD/JFaJDD8Nt2A/6C03BYzMKBfwz9KsFiha/ T+uWJX03/a3RGG0972mHOhzS8CEN8u2iQb9aTwb+xR4q1UZtBPORVMIDUgf4NNtby+lN wi5Q== X-Forwarded-Encrypted: i=1; AJvYcCVTmOiP+1iNKaG6a5kKED6eS8PYXCnRlSxHmEB4zUpwDA1R7PlHXug9zsfyTcA0f7gk5RDyVdHsOjRnmbY=@vger.kernel.org X-Gm-Message-State: AOJu0YyQS8dXgIIfn/o7w1pLZ7khBEyLRobZ+gOL7vjZIQXGxZ8/YVOR n0YkkISkKzu8k63ueu4FuRptPh0EVQkvj/ZZkA3+j21yiA/kruBDnyBO X-Gm-Gg: ASbGnctflwugzWn4b90HCWO2z+DNIwvkVJKQNsc/j6U0X+CzU6ZGq2suhrim7dasJna Nchq+FHYe5C4D9vJGGHc+yq7GYrY9cwvTAYF8oOmhgQRBebGdGiY7ZY9+3Qu1T5iLQnsRbyl+ms dupVyYlhHvP2Mvwww6GzFolhbu/aWgyoR10R3yUuMJ1qoZBn0GMrpeWGyVUn9hTz0kbQWOTFmAB Q7BIev9WB/la2h7ENvBDvDhRhuzYQN+KMFv8zrgSBtq9UeQmEGvvJCuFWlmhamvgvO0sntlhWy/ OsUDR/pTm1L8MzhZ64HI222YfPnCP2oMOIdJsfbyBl/aooxC1wRAuJiaPEw3SpgdPTK/AJeNG7r zk3C7pDNxoGdXMA== X-Google-Smtp-Source: AGHT+IF9gsv9B/3Aw1b6/l4dkXEsvW7pOqKmAQvqfxUdHAIvZfVq35PFKiJfuHhddGDPZJBvWjF2VA== X-Received: by 2002:a05:6402:21d3:b0:62f:26cb:8072 with SMTP id 4fb4d7f45d1cf-62f83c2db1emr1820018a12.13.1758103100907; Wed, 17 Sep 2025 02:58:20 -0700 (PDT) Received: from localhost ([2a03:2880:30ff:42::]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-62f86ecf183sm948650a12.12.2025.09.17.02.58.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Sep 2025 02:58:20 -0700 (PDT) From: Breno Leitao Date: Wed, 17 Sep 2025 02:58:10 -0700 Subject: [PATCH net-next v4 3/8] net: ethtool: remove the duplicated handling from ethtool_get_rxrings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250917-gxrings-v4-3-dae520e2e1cb@debian.org> References: <20250917-gxrings-v4-0-dae520e2e1cb@debian.org> In-Reply-To: <20250917-gxrings-v4-0-dae520e2e1cb@debian.org> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Paolo Abeni , kuba@kernel.org, Simon Horman , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?utf-8?q?Eugenio_P=C3=A9rez?= , Andrew Lunn Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, Breno Leitao , Lei Yang , kernel-team@meta.com X-Mailer: b4 0.15-dev-dd21f X-Developer-Signature: v=1; a=openpgp-sha256; l=2140; i=leitao@debian.org; h=from:subject:message-id; bh=g5R+KO0zDOkxIkWQNfeVkn9e14oSE0vPMCqx5KVoKUc=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoyoY2NykJuwtDfO+7ts1cC7uzwJBFwIMlPW4jm PiXHqlFAseJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaMqGNgAKCRA1o5Of/Hh3 bTEiEACP/jgQA6Z2w3J5keCqjrA25kFufCckFxklkt0IibInyySwrZRb9Wecu3LAA6KJQKPRrjS PikTENRkF4T7PpF/0Ue6Gnu3ng4ao+WIec1MfWoS2qMlEr7gnNuvDRkPDpRlq2RJECJAsq03bKr xeCo3cif7l4Wq6KbYmH+6CFlcEULzPb7lalr5nBcvL24UedfPdidkZoqpbiTWYDWe9BKDtxPxJ/ ZBa7dqAzaAsqFBo7pe8PASZ37Ij6InKNDIBroMW+xSfczLGCPlqxdkYVWvQMCElR7/opXQOavtF KcWeuJUCagNyiqMjXKEmz6VB9QU/PXp1U2I7YHbykFWUlP1OZa82xtgcjclEkPXj7vZkqas+HfO m1/aHDDGFCrtETam1GytzfFCeLSOVEHKyH5jUZwO2wl/tvbx7EE7mAHOahgYQ0plo1cG2thaL9d URO/JDy+VNm23sSQ121kuH9KS7qSTbCnK/pBpgJ+3mzPvcsNarMGnoh6IX343QdR1qVvDSJJnR6 8uGxJL6D8jD4pAmnQS1m5Ni2QDl5XGEc4YzUwx4/73s8beybfs/zzHAJuojGw94ThlmyhZosS1m zobe3dnkrzM9m1s0smXKerzjqXhE6PmiarndwYA23MbVJqhxmxFdxz4H8/duNhxpml4eQayO/Ny LN8vq/ocCKgc8SA== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D ethtool_get_rxrings() was a copy of ethtool_get_rxnfc(). Clean the code that will never be executed for GRXRINGS specifically. Signed-off-by: Breno Leitao --- net/ethtool/ioctl.c | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c index 4214ab33c3c81..a0f3de76cea03 100644 --- a/net/ethtool/ioctl.c +++ b/net/ethtool/ioctl.c @@ -1212,52 +1212,39 @@ static noinline_for_stack int ethtool_get_rxrings(s= truct net_device *dev, u32 cmd, void __user *useraddr) { - struct ethtool_rxnfc info; - size_t info_size =3D sizeof(info); const struct ethtool_ops *ops =3D dev->ethtool_ops; + struct ethtool_rxnfc info; + size_t info_size; int ret; - void *rule_buf =3D NULL; =20 if (!ops->get_rxnfc) return -EOPNOTSUPP; =20 + info_size =3D sizeof(info); ret =3D ethtool_rxnfc_copy_struct(cmd, &info, &info_size, useraddr); if (ret) return ret; =20 - if (info.cmd =3D=3D ETHTOOL_GRXCLSRLALL) { - if (info.rule_cnt > 0) { - if (info.rule_cnt <=3D KMALLOC_MAX_SIZE / sizeof(u32)) - rule_buf =3D kcalloc(info.rule_cnt, sizeof(u32), - GFP_USER); - if (!rule_buf) - return -ENOMEM; - } - } - - ret =3D ops->get_rxnfc(dev, &info, rule_buf); + ret =3D ops->get_rxnfc(dev, &info, NULL); if (ret < 0) - goto err_out; - - ret =3D ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, rule_buf); -err_out: - kfree(rule_buf); + return ret; =20 - return ret; + return ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, NULL); } =20 static noinline_for_stack int ethtool_get_rxnfc(struct net_device *dev, u32 cmd, void __user *useraddr) { - struct ethtool_rxnfc info; - size_t info_size =3D sizeof(info); const struct ethtool_ops *ops =3D dev->ethtool_ops; - int ret; + struct ethtool_rxnfc info; void *rule_buf =3D NULL; + size_t info_size; + int ret; =20 if (!ops->get_rxnfc) return -EOPNOTSUPP; =20 + info_size =3D sizeof(info); ret =3D ethtool_rxnfc_copy_struct(cmd, &info, &info_size, useraddr); if (ret) return ret; --=20 2.47.3