From nobody Wed Sep 17 01:46:40 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 976C4C3DA79 for ; Mon, 26 Dec 2022 11:49:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231645AbiLZLs6 (ORCPT ); Mon, 26 Dec 2022 06:48:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229960AbiLZLso (ORCPT ); Mon, 26 Dec 2022 06:48:44 -0500 Received: from forwardcorp1a.mail.yandex.net (forwardcorp1a.mail.yandex.net [178.154.239.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AF2EF34; Mon, 26 Dec 2022 03:48:43 -0800 (PST) Received: from vla1-81430ab5870b.qloud-c.yandex.net (vla1-81430ab5870b.qloud-c.yandex.net [IPv6:2a02:6b8:c0d:35a1:0:640:8143:ab5]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTP id 7E5585FCCF; Mon, 26 Dec 2022 14:48:42 +0300 (MSK) Received: from d-tatianin-nix.yandex-team.ru (unknown [2a02:6b8:b081:1::1:f]) by vla1-81430ab5870b.qloud-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id SmMqpV0Q0uQ1-ma6jHp3e; Mon, 26 Dec 2022 14:48:41 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1672055322; bh=Bc0UQBiLcPIeNMMXHPDirTDhvMlEZMdLdU3YkqOgz/I=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=N5T9G93zwobBipUq19jbhhBmDj8j0GgPwems6oUkB37L7dASt/SC/y8DdxCdz/DXx ZCWqVzQhJ6XOaVACPADlS/nCNQOQQzE9hVV2tEyj6CSFlW+qGu6MGuZny51XgOXiu6 HE4zINwgOn+Ld1rA8mXZLtYchhOBP8U6hUdRMBKQ= Authentication-Results: vla1-81430ab5870b.qloud-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Daniil Tatianin To: "David S. Miller" Cc: Daniil Tatianin , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , Sean Anderson , Jiri Pirko , Wolfram Sang , Maxim Korotkov , Gal Pressman , Vincent Mailhol , Tom Rix , Marco Bonelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net v2 2/3] net/ethtool/ioctl: remove if n_stats checks from ethtool_get_phy_stats Date: Mon, 26 Dec 2022 14:48:24 +0300 Message-Id: <20221226114825.1937189-3-d-tatianin@yandex-team.ru> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221226114825.1937189-1-d-tatianin@yandex-team.ru> References: <20221226114825.1937189-1-d-tatianin@yandex-team.ru> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Now that we always early return if we don't have any stats we can remove these checks as they're no longer necessary. Signed-off-by: Daniil Tatianin Reviewed-by: Andrew Lunn --- net/ethtool/ioctl.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c index e8a294b38b7b..3379af21c29f 100644 --- a/net/ethtool/ioctl.c +++ b/net/ethtool/ioctl.c @@ -2101,28 +2101,24 @@ static int ethtool_get_phy_stats(struct net_device = *dev, void __user *useraddr) =20 stats.n_stats =3D n_stats; =20 - if (n_stats) { - data =3D vzalloc(array_size(n_stats, sizeof(u64))); - if (!data) - return -ENOMEM; + data =3D vzalloc(array_size(n_stats, sizeof(u64))); + if (!data) + return -ENOMEM; =20 - if (phydev && !ops->get_ethtool_phy_stats && - phy_ops && phy_ops->get_stats) { - ret =3D phy_ops->get_stats(phydev, &stats, data); - if (ret < 0) - goto out; - } else { - ops->get_ethtool_phy_stats(dev, &stats, data); - } + if (phydev && !ops->get_ethtool_phy_stats && + phy_ops && phy_ops->get_stats) { + ret =3D phy_ops->get_stats(phydev, &stats, data); + if (ret < 0) + goto out; } else { - data =3D NULL; + ops->get_ethtool_phy_stats(dev, &stats, data); } =20 ret =3D -EFAULT; if (copy_to_user(useraddr, &stats, sizeof(stats))) goto out; useraddr +=3D sizeof(stats); - if (n_stats && copy_to_user(useraddr, data, array_size(n_stats, sizeof(u6= 4)))) + if (copy_to_user(useraddr, data, array_size(n_stats, sizeof(u64)))) goto out; ret =3D 0; =20 --=20 2.25.1