From: Justin Stitt <justinstitt@google.com> To: "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Shay Agroskin <shayagr@amazon.com>, Arthur Kiyanovski <akiyano@amazon.com>, David Arinzon <darinzon@amazon.com>, Noam Dagan <ndagan@amazon.com>, Saeed Bishara <saeedb@amazon.com>, Rasesh Mody <rmody@marvell.com>, Sudarsana Kalluru <skalluru@marvell.com>, GR-Linux-NIC-Dev@marvell.com, Dimitris Michailidis <dmichail@fungible.com>, Yisen Zhuang <yisen.zhuang@huawei.com>, Salil Mehta <salil.mehta@huawei.com>, Jesse Brandeburg <jesse.brandeburg@intel.com>, Tony Nguyen <anthony.l.nguyen@intel.com>, Louis Peens <louis.peens@corigine.com>, Shannon Nelson <shannon.nelson@amd.com>, Brett Creeley <brett.creeley@amd.com>, drivers@pensando.io, "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, Ronak Doshi <doshir@vmware.com>, VMware PV-Drivers Reviewers <pv-drivers@vmware.com>, Andy Whitcroft <apw@canonical.com>, Joe Perches <joe@perches.com>, Dwaipayan Ray <dwaipayanray1@gmail.com>, Lukas Bulwahn <lukas.bulwahn@gmail.com> Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Nick Desaulniers <ndesaulniers@google.com>, Nathan Chancellor <nathan@kernel.org>, Kees Cook <keescook@chromium.org>, intel-wired-lan@lists.osuosl.org, oss-drivers@corigine.com, linux-hyperv@vger.kernel.org, Justin Stitt <justinstitt@google.com> Subject: [PATCH 0/3] ethtool: Add ethtool_puts() Date: Wed, 25 Oct 2023 23:40:31 +0000 [thread overview] Message-ID: <20231025-ethtool_puts_impl-v1-0-6a53a93d3b72@google.com> (raw) Hi, This series aims to implement ethtool_puts() and send out a wave 1 of conversions from ethtool_sprintf(). There's also a checkpatch patch included to check for the cases listed below. This was sparked from recent discussion here [1] The conversions are used in cases where ethtool_sprintf() was being used with just two arguments: | ethtool_sprintf(&data, buffer[i].name); or when it's used with format string: "%s" | ethtool_sprintf(&data, "%s", buffer[i].name); which both now become: | ethtool_puts(&data, buffer[i].name); The first case commonly triggers a -Wformat-security warning with Clang due to potential problems with format flags present in the strings [3]. The second is just a bit weird with a plain-ol' "%s". Note that I have some outstanding patches [2] (some picked up) that use the second case of ethtool_sprintf(). I went with this approach to clean up some strncpy() uses and avoid -Wformat-security warnings before discussion about implementing ...puts() arose. I will probably let the ones that have been picked up land but send new versions for others. Wave 1 changes found with Cocci [4] and grep [5]. [1]: https://lore.kernel.org/all/202310141935.B326C9E@keescook/ [2]: https://lore.kernel.org/all/?q=dfb%3Aethtool_sprintf+AND+f%3Ajustinstitt [3]: https://lore.kernel.org/all/202310101528.9496539BE@keescook/ [4]: (script authored by Kees) @replace_2_args@ identifier BUF; expression VAR; @@ - ethtool_sprintf + ethtool_puts (&BUF, VAR) @replace_3_args@ identifier BUF; expression VAR; @@ - ethtool_sprintf(&BUF, "%s", VAR) + ethtool_puts(&BUF, VAR) [5]: $ rg "ethtool_sprintf\(\s*[^,)]+\s*,\s*[^,)]+\s*\)" Signed-off-by: Justin Stitt <justinstitt@google.com> --- Justin Stitt (3): ethtool: Implement ethtool_puts() treewide: Convert some ethtool_sprintf() to ethtool_puts() checkpatch: add ethtool_sprintf rules drivers/net/ethernet/amazon/ena/ena_ethtool.c | 4 +- drivers/net/ethernet/brocade/bna/bnad_ethtool.c | 2 +- .../net/ethernet/fungible/funeth/funeth_ethtool.c | 8 +-- drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 2 +- .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c | 2 +- drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 66 +++++++++++----------- drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 4 +- drivers/net/ethernet/intel/ice/ice_ethtool.c | 10 ++-- drivers/net/ethernet/intel/igb/igb_ethtool.c | 6 +- drivers/net/ethernet/intel/igc/igc_ethtool.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 5 +- .../net/ethernet/netronome/nfp/nfp_net_ethtool.c | 44 +++++++-------- drivers/net/ethernet/pensando/ionic/ionic_stats.c | 4 +- drivers/net/hyperv/netvsc_drv.c | 4 +- drivers/net/vmxnet3/vmxnet3_ethtool.c | 10 ++-- include/linux/ethtool.h | 13 +++++ net/ethtool/ioctl.c | 7 +++ scripts/checkpatch.pl | 13 +++++ 18 files changed, 120 insertions(+), 90 deletions(-) --- base-commit: d88520ad73b79e71e3ddf08de335b8520ae41c5c change-id: 20231025-ethtool_puts_impl-a1479ffbc7e0 Best regards, -- Justin Stitt <justinstitt@google.com>
WARNING: multiple messages have this Message-ID (diff)
From: Justin Stitt <justinstitt@google.com> To: "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Shay Agroskin <shayagr@amazon.com>, Arthur Kiyanovski <akiyano@amazon.com>, David Arinzon <darinzon@amazon.com>, Noam Dagan <ndagan@amazon.com>, Saeed Bishara <saeedb@amazon.com>, Rasesh Mody <rmody@marvell.com>, Sudarsana Kalluru <skalluru@marvell.com>, GR-Linux-NIC-Dev@marvell.com, Dimitris Michailidis <dmichail@fungible.com>, Yisen Zhuang <yisen.zhuang@huawei.com>, Salil Mehta <salil.mehta@huawei.com>, Jesse Brandeburg <jesse.brandeburg@intel.com>, Tony Nguyen <anthony.l.nguyen@intel.com>, Louis Peens <louis.peens@corigine.com>, Shannon Nelson <shannon.nelson@amd.com>, Brett Creeley <brett.creeley@amd.com>, drivers@pensando.io, "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, Ronak Doshi <doshir@vmware.com>, VMware PV-Drivers Reviewers <pv-drivers@vmware.com>, Andy Whitcroft <apw@canonical.com>, Joe Perches <joe@perches.com>, Dwaipayan Ray <dwaipayanray1@gmail.com>, Lukas Bulwahn <lukas.bulwahn@gmail.com> Cc: linux-hyperv@vger.kernel.org, Kees Cook <keescook@chromium.org>, netdev@vger.kernel.org, Nick Desaulniers <ndesaulniers@google.com>, linux-kernel@vger.kernel.org, Nathan Chancellor <nathan@kernel.org>, oss-drivers@corigine.com, intel-wired-lan@lists.osuosl.org, Justin Stitt <justinstitt@google.com> Subject: [Intel-wired-lan] [PATCH 0/3] ethtool: Add ethtool_puts() Date: Wed, 25 Oct 2023 23:40:31 +0000 [thread overview] Message-ID: <20231025-ethtool_puts_impl-v1-0-6a53a93d3b72@google.com> (raw) Hi, This series aims to implement ethtool_puts() and send out a wave 1 of conversions from ethtool_sprintf(). There's also a checkpatch patch included to check for the cases listed below. This was sparked from recent discussion here [1] The conversions are used in cases where ethtool_sprintf() was being used with just two arguments: | ethtool_sprintf(&data, buffer[i].name); or when it's used with format string: "%s" | ethtool_sprintf(&data, "%s", buffer[i].name); which both now become: | ethtool_puts(&data, buffer[i].name); The first case commonly triggers a -Wformat-security warning with Clang due to potential problems with format flags present in the strings [3]. The second is just a bit weird with a plain-ol' "%s". Note that I have some outstanding patches [2] (some picked up) that use the second case of ethtool_sprintf(). I went with this approach to clean up some strncpy() uses and avoid -Wformat-security warnings before discussion about implementing ...puts() arose. I will probably let the ones that have been picked up land but send new versions for others. Wave 1 changes found with Cocci [4] and grep [5]. [1]: https://lore.kernel.org/all/202310141935.B326C9E@keescook/ [2]: https://lore.kernel.org/all/?q=dfb%3Aethtool_sprintf+AND+f%3Ajustinstitt [3]: https://lore.kernel.org/all/202310101528.9496539BE@keescook/ [4]: (script authored by Kees) @replace_2_args@ identifier BUF; expression VAR; @@ - ethtool_sprintf + ethtool_puts (&BUF, VAR) @replace_3_args@ identifier BUF; expression VAR; @@ - ethtool_sprintf(&BUF, "%s", VAR) + ethtool_puts(&BUF, VAR) [5]: $ rg "ethtool_sprintf\(\s*[^,)]+\s*,\s*[^,)]+\s*\)" Signed-off-by: Justin Stitt <justinstitt@google.com> --- Justin Stitt (3): ethtool: Implement ethtool_puts() treewide: Convert some ethtool_sprintf() to ethtool_puts() checkpatch: add ethtool_sprintf rules drivers/net/ethernet/amazon/ena/ena_ethtool.c | 4 +- drivers/net/ethernet/brocade/bna/bnad_ethtool.c | 2 +- .../net/ethernet/fungible/funeth/funeth_ethtool.c | 8 +-- drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 2 +- .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c | 2 +- drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 66 +++++++++++----------- drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 4 +- drivers/net/ethernet/intel/ice/ice_ethtool.c | 10 ++-- drivers/net/ethernet/intel/igb/igb_ethtool.c | 6 +- drivers/net/ethernet/intel/igc/igc_ethtool.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 5 +- .../net/ethernet/netronome/nfp/nfp_net_ethtool.c | 44 +++++++-------- drivers/net/ethernet/pensando/ionic/ionic_stats.c | 4 +- drivers/net/hyperv/netvsc_drv.c | 4 +- drivers/net/vmxnet3/vmxnet3_ethtool.c | 10 ++-- include/linux/ethtool.h | 13 +++++ net/ethtool/ioctl.c | 7 +++ scripts/checkpatch.pl | 13 +++++ 18 files changed, 120 insertions(+), 90 deletions(-) --- base-commit: d88520ad73b79e71e3ddf08de335b8520ae41c5c change-id: 20231025-ethtool_puts_impl-a1479ffbc7e0 Best regards, -- Justin Stitt <justinstitt@google.com> _______________________________________________ Intel-wired-lan mailing list Intel-wired-lan@osuosl.org https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
next reply other threads:[~2023-10-25 23:40 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-25 23:40 Justin Stitt [this message] 2023-10-25 23:40 ` [Intel-wired-lan] [PATCH 0/3] ethtool: Add ethtool_puts() Justin Stitt 2023-10-25 23:40 ` [PATCH 1/3] ethtool: Implement ethtool_puts() Justin Stitt 2023-10-25 23:40 ` [Intel-wired-lan] " Justin Stitt 2023-10-25 23:40 ` [PATCH 2/3] treewide: Convert some ethtool_sprintf() to ethtool_puts() Justin Stitt 2023-10-25 23:40 ` [Intel-wired-lan] " Justin Stitt 2023-10-25 23:51 ` Joe Perches 2023-10-25 23:51 ` [Intel-wired-lan] " Joe Perches 2023-10-25 23:59 ` Justin Stitt 2023-10-25 23:59 ` [Intel-wired-lan] " Justin Stitt 2023-10-26 9:23 ` Przemek Kitszel 2023-10-26 9:23 ` [Intel-wired-lan] " Przemek Kitszel 2023-10-26 10:18 ` Kiyanovski, Arthur 2023-10-26 10:18 ` [Intel-wired-lan] " Kiyanovski, Arthur 2023-10-26 14:24 ` Jakub Kicinski 2023-10-26 14:24 ` [Intel-wired-lan] " Jakub Kicinski 2023-10-26 14:48 ` Louis Peens 2023-10-26 14:52 ` Joe Perches 2023-10-26 14:52 ` [Intel-wired-lan] " Joe Perches 2023-10-26 16:10 ` Nelson, Shannon 2023-10-26 16:10 ` [Intel-wired-lan] " Nelson, Shannon 2023-10-25 23:40 ` [PATCH 3/3] checkpatch: add ethtool_sprintf rules Justin Stitt 2023-10-25 23:40 ` [Intel-wired-lan] " Justin Stitt 2023-10-25 23:52 ` Joe Perches 2023-10-25 23:52 ` [Intel-wired-lan] " Joe Perches 2023-10-26 9:29 ` Przemek Kitszel 2023-10-26 9:29 ` [Intel-wired-lan] " Przemek Kitszel 2023-10-26 17:30 ` Joe Perches 2023-10-26 17:30 ` [Intel-wired-lan] " Joe Perches 2023-10-26 15:47 ` [PATCH 0/3] ethtool: Add ethtool_puts() Kees Cook 2023-10-26 15:47 ` [Intel-wired-lan] " Kees Cook 2023-10-26 16:33 ` Joe Perches 2023-10-26 16:33 ` [Intel-wired-lan] " Joe Perches 2023-10-26 17:49 ` Kees Cook 2023-10-26 17:49 ` [Intel-wired-lan] " Kees Cook 2023-10-26 17:57 ` Joe Perches 2023-10-26 17:57 ` [Intel-wired-lan] " Joe Perches
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20231025-ethtool_puts_impl-v1-0-6a53a93d3b72@google.com \ --to=justinstitt@google.com \ --cc=GR-Linux-NIC-Dev@marvell.com \ --cc=akiyano@amazon.com \ --cc=anthony.l.nguyen@intel.com \ --cc=apw@canonical.com \ --cc=brett.creeley@amd.com \ --cc=darinzon@amazon.com \ --cc=davem@davemloft.net \ --cc=decui@microsoft.com \ --cc=dmichail@fungible.com \ --cc=doshir@vmware.com \ --cc=drivers@pensando.io \ --cc=dwaipayanray1@gmail.com \ --cc=edumazet@google.com \ --cc=haiyangz@microsoft.com \ --cc=intel-wired-lan@lists.osuosl.org \ --cc=jesse.brandeburg@intel.com \ --cc=joe@perches.com \ --cc=keescook@chromium.org \ --cc=kuba@kernel.org \ --cc=kys@microsoft.com \ --cc=linux-hyperv@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=louis.peens@corigine.com \ --cc=lukas.bulwahn@gmail.com \ --cc=nathan@kernel.org \ --cc=ndagan@amazon.com \ --cc=ndesaulniers@google.com \ --cc=netdev@vger.kernel.org \ --cc=oss-drivers@corigine.com \ --cc=pabeni@redhat.com \ --cc=pv-drivers@vmware.com \ --cc=rmody@marvell.com \ --cc=saeedb@amazon.com \ --cc=salil.mehta@huawei.com \ --cc=shannon.nelson@amd.com \ --cc=shayagr@amazon.com \ --cc=skalluru@marvell.com \ --cc=wei.liu@kernel.org \ --cc=yisen.zhuang@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.