From: Przemek Kitszel <przemyslaw.kitszel@intel.com> To: Justin Stitt <justinstitt@google.com>, "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> Subject: Re: [PATCH 3/3] checkpatch: add ethtool_sprintf rules Date: Thu, 26 Oct 2023 11:29:47 +0200 [thread overview] Message-ID: <cb83107f-f022-86c6-b463-a1eee4936967@intel.com> (raw) In-Reply-To: <20231025-ethtool_puts_impl-v1-3-6a53a93d3b72@google.com> On 10/26/23 01:40, Justin Stitt wrote: > Add some warnings for using ethtool_sprintf() where a simple > ethtool_puts() would suffice. > > The two cases are: > > 1) Use ethtool_sprintf() with just two arguments: > | ethtool_sprintf(&data, driver[i].name); > or > 2) Use ethtool_sprintf() with a standalone "%s" fmt string: > | ethtool_sprintf(&data, "%s", driver[i].name); > > The former may cause -Wformat-security warnings while the latter is just > not preferred. Both are safely in the category of warnings, not errors. > > Signed-off-by: Justin Stitt <justinstitt@google.com> > --- > scripts/checkpatch.pl | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 7d16f863edf1..1ba9ce778746 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -7020,6 +7020,19 @@ sub process { > "Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr); > } > > +# ethtool_sprintf uses that should likely be ethtool_puts > + if ( $line =~ /\bethtool_sprintf\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\)/ ) { no need for whitespace right after opening parenthesis, same at the end Does it work for ethtool_sprintf(calls broken into multiple lines)? BTW, I really like this series! > + WARN("ETHTOOL_SPRINTF", > + "Prefer ethtool_puts over ethtool_sprintf with only two arguments" . $herecurr); > + } > + > + # use $rawline because $line loses %s via sanitization and thus we can't match against it. > + if ( $rawline =~ /\bethtool_sprintf\s*\(\s*$FuncArg\s*,\s*\"\%s\"\s*,\s*$FuncArg\s*\)/ ) { > + WARN("ETHTOOL_SPRINTF2", > + "Prefer ethtool_puts over ethtool_sprintf with standalone \"%s\" specifier" . $herecurr); > + } > + > + > # typecasts on min/max could be min_t/max_t > if ($perl_version_ok && > defined $stat && >
WARNING: multiple messages have this Message-ID (diff)
From: Przemek Kitszel <przemyslaw.kitszel@intel.com> To: Justin Stitt <justinstitt@google.com>, "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 Subject: Re: [Intel-wired-lan] [PATCH 3/3] checkpatch: add ethtool_sprintf rules Date: Thu, 26 Oct 2023 11:29:47 +0200 [thread overview] Message-ID: <cb83107f-f022-86c6-b463-a1eee4936967@intel.com> (raw) In-Reply-To: <20231025-ethtool_puts_impl-v1-3-6a53a93d3b72@google.com> On 10/26/23 01:40, Justin Stitt wrote: > Add some warnings for using ethtool_sprintf() where a simple > ethtool_puts() would suffice. > > The two cases are: > > 1) Use ethtool_sprintf() with just two arguments: > | ethtool_sprintf(&data, driver[i].name); > or > 2) Use ethtool_sprintf() with a standalone "%s" fmt string: > | ethtool_sprintf(&data, "%s", driver[i].name); > > The former may cause -Wformat-security warnings while the latter is just > not preferred. Both are safely in the category of warnings, not errors. > > Signed-off-by: Justin Stitt <justinstitt@google.com> > --- > scripts/checkpatch.pl | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 7d16f863edf1..1ba9ce778746 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -7020,6 +7020,19 @@ sub process { > "Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr); > } > > +# ethtool_sprintf uses that should likely be ethtool_puts > + if ( $line =~ /\bethtool_sprintf\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\)/ ) { no need for whitespace right after opening parenthesis, same at the end Does it work for ethtool_sprintf(calls broken into multiple lines)? BTW, I really like this series! > + WARN("ETHTOOL_SPRINTF", > + "Prefer ethtool_puts over ethtool_sprintf with only two arguments" . $herecurr); > + } > + > + # use $rawline because $line loses %s via sanitization and thus we can't match against it. > + if ( $rawline =~ /\bethtool_sprintf\s*\(\s*$FuncArg\s*,\s*\"\%s\"\s*,\s*$FuncArg\s*\)/ ) { > + WARN("ETHTOOL_SPRINTF2", > + "Prefer ethtool_puts over ethtool_sprintf with standalone \"%s\" specifier" . $herecurr); > + } > + > + > # typecasts on min/max could be min_t/max_t > if ($perl_version_ok && > defined $stat && > _______________________________________________ Intel-wired-lan mailing list Intel-wired-lan@osuosl.org https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
next prev parent reply other threads:[~2023-10-26 9:30 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-25 23:40 [PATCH 0/3] ethtool: Add ethtool_puts() Justin Stitt 2023-10-25 23:40 ` [Intel-wired-lan] " 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 [this message] 2023-10-26 9:29 ` 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=cb83107f-f022-86c6-b463-a1eee4936967@intel.com \ --to=przemyslaw.kitszel@intel.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=justinstitt@google.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.