Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp1725333rwl; Mon, 26 Dec 2022 03:59:16 -0800 (PST) X-Google-Smtp-Source: AMrXdXs647Hc7SLxKkceIIunBVIAFz+7DRzRLel5FwvtUEm4m4efI1I7l2Ph0B9EtOXE2ddB3yU4 X-Received: by 2002:a05:6402:538f:b0:45c:835c:1ebb with SMTP id ew15-20020a056402538f00b0045c835c1ebbmr21220972edb.9.1672055956111; Mon, 26 Dec 2022 03:59:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672055956; cv=none; d=google.com; s=arc-20160816; b=bvR166iR+zqktbFz1B8G+XmQ/PhUji7OypgBHQSanbWDWfExVkNO4hVd7dpSWn0x0o IFp8yCfoW/hD/vKShUt9L50MmOk7W5okwOzPiZeWfFcuQYOuaymFpr6MRWUDYxGWnUiA BICv9uG+8y8n0qThcD8/8apqgHRXGOhots5bKoAKouUKpOlNlkpwBxf67r5mqqZ6Lrin hO1owARjtDrenssZRCZ8KP+t65nbid4C9cJPsneA/X4nP0QWIp6B8tyxcFBMxwGKDitS t6eIw9SYmt6zXr6QFF0EvRO9a7vci8N3mwBvTKTts0W9V3cvttVvY8Df8l+6oBidEyM8 BSWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=2cSwUgQKvrM1OCeQvc5FcSZd3aC0IduE7mqVyoJSC3s=; b=lXUN1NGg6hzbd/aVp7IcOmheX7yNQxedi8TF6UnEhihkYsZUibQKwn2i0dyidneRBB O3LEoaU1mz4xAQiqjZhPuGB2s30uAaGEYzlgYto45C0UkEJrDObWrYwhuFv6j0+lkPsb QuI8m83RIHLjjuxXNH8CeQXuZtBJEXfsiG/7hLNboYV5h49ZsO8nyI0Vu4eQLECqwj50 agRykJqXdHUs1k8qNohbapNtYYy/XKjmukLVC9+JmUD5uBwPpZQ+IER2rshzjTVEzz2+ FopVLGzCNcOkZNAQy4FdYKLY8sGEt8f9RLXIzfdvQ3op/SVuudGHxK+212V7jSophprY WRJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b=kP2Payl5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x41-20020a50baac000000b00461aa80dfa8si8473899ede.429.2022.12.26.03.59.00; Mon, 26 Dec 2022 03:59:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b=kP2Payl5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231865AbiLZLsu (ORCPT + 66 others); Mon, 26 Dec 2022 06:48:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33850 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229569AbiLZLsn (ORCPT ); Mon, 26 Dec 2022 06:48:43 -0500 Received: from forwardcorp1a.mail.yandex.net (forwardcorp1a.mail.yandex.net [178.154.239.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9FE94E61; Mon, 26 Dec 2022 03:48:39 -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 22BFD5FCE1; Mon, 26 Dec 2022 14:48:37 +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-KPMWOc5D; Mon, 26 Dec 2022 14:48:36 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1672055316; bh=2cSwUgQKvrM1OCeQvc5FcSZd3aC0IduE7mqVyoJSC3s=; h=Message-Id:Date:Cc:Subject:To:From; b=kP2Payl5WYd12M9eEYS264cCskOuIq92rciciJSEKkK46l+F7MwEo7ZE8H/m80gzu hxS9QdUDWRntMsd5gRpod45FUKigKKvC669oO7mKoHNeoIMpZiA/+JQBeXx+BvGMfc ltgZ8wJcStL8MB+LSrOmCbOZhXm8JQiBY2u2MtvU= 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 0/3] net/ethtool/ioctl: split ethtool_get_phy_stats into multiple helpers Date: Mon, 26 Dec 2022 14:48:22 +0300 Message-Id: <20221226114825.1937189-1-d-tatianin@yandex-team.ru> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series fixes a potential NULL dereference in ethtool_get_phy_stats while also attempting to refactor/split said function into multiple helpers so that it's easier to reason about what's going on. I've taken Andrew Lunn's suggestions on the previous version of this patch and added a bit of my own. Changes since v1: - Remove an extra newline in the first patch - Move WARN_ON_ONCE into the if check as it already returns the result of the comparison - Actually split ethtool_get_phy_stats instead of attempting to refactor it Daniil Tatianin (3): net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats net/ethtool/ioctl: remove if n_stats checks from ethtool_get_phy_stats net/ethtool/ioctl: split ethtool_get_phy_stats into multiple helpers net/ethtool/ioctl.c | 107 +++++++++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 37 deletions(-) -- 2.25.1