From: Joe Perches <joe@perches.com>
To: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Petr Mladek <pmladek@suse.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
"Tobin C . Harding" <me@tobin.cc>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@suse.cz>,
Steven Rostedt <rostedt@goodmis.org>,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 4/9] vsprintf: Consolidate handling of unknown pointer specifiers
Date: Fri, 06 Apr 2018 18:00:59 -0700 [thread overview]
Message-ID: <1523062859.6127.59.camel@perches.com> (raw)
In-Reply-To: <20180407003301.GB386@tigerII.localdomain>
On Sat, 2018-04-07 at 09:33 +0900, Sergey Senozhatsky wrote:
> Hi Joe,
>
> On (04/06/18 16:59), Joe Perches wrote:
> > >
> > > Can we tweak checkpatch to catch such things?
> >
> > Not really, no.
> >
> > Adding regex logic for this is tricky at best
> > and probably not worth the effort because of
> > the various bits of patch contexts aren't
> > necessarily visible.
>
> Agreed. I was more thinking about catching "... %p" and saying
> that we'd rather prefer either "... %p," or "... %p " or "... %p\n".
> Doesn't sound so complex, can probably catch something fishy one day
> (or may be not), and more or less is visible to checkpatch. Well,
> more or less...
This finds the current two bad uses in addition to
the existing similar message for string concatenation
without a space char between concatenated fragments.
For example:
WARNING: break quoted strings at a space character
#3550: FILE: drivers/scsi/megaraid/megaraid_sas_base.c:3550:
+ dev_notice(&instance->pdev->dev, "moving cmd[%d]:%p:%d:%p"
+ "on the defer queue as internal\n",
WARNING: vsprintf %p<extension> string concatenation
#3550: FILE: drivers/scsi/megaraid/megaraid_sas_base.c:3550:
+ dev_notice(&instance->pdev->dev, "moving cmd[%d]:%p:%d:%p"
+ "on the defer queue as internal\n",
I think the new message is not that useful really as the
existing warning is probably enough.
---
scripts/checkpatch.pl | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index eb534d48140e..a0e43232431e 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5313,6 +5313,12 @@ sub process {
"break quoted strings at a space character\n" . $hereprev);
}
+# check for vsprintf pointer extension concatenation
+ if ($prevrawline =~ /\%p"\s*$/ && $rawline =~ /^\+\s*"\w/) {
+ WARN('POINTER_CONCATENATION',
+ "vsprintf %p<extension> string concatenation\n" . $hereprev);
+ }
+
# check for an embedded function name in a string when the function is known
# This does not work very well for -f --file checking as it depends on patch
# context providing the function name or a single line form for in-file
next prev parent reply other threads:[~2018-04-07 1:01 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-04 8:58 [PATCH v4 0/9] vsprintf: Prevent silent crashes and consolidate error handling Petr Mladek
2018-04-04 8:58 ` [PATCH v4 1/9] vsprintf: Shuffle ptr_to_id() code Petr Mladek
2018-04-04 8:58 ` [PATCH v4 2/9] vsprintf: Consistent %pK handling for kptr_restrict == 0 Petr Mladek
2018-04-04 23:10 ` Sergey Senozhatsky
2018-04-05 14:34 ` Petr Mladek
2018-04-05 13:04 ` Andy Shevchenko
2018-04-05 14:46 ` Petr Mladek
2018-04-07 14:08 ` Andy Shevchenko
2018-04-09 12:05 ` Petr Mladek
2018-04-09 12:11 ` Andy Shevchenko
2018-04-04 8:58 ` [PATCH v4 3/9] vsprintf: Do not check address of well-known strings Petr Mladek
2018-04-05 13:30 ` Rasmus Villemoes
2018-04-06 9:15 ` Petr Mladek
2018-04-07 14:12 ` Andy Shevchenko
2018-04-09 12:19 ` Petr Mladek
2018-04-10 10:05 ` Andy Shevchenko
2018-04-04 8:58 ` [PATCH v4 4/9] vsprintf: Consolidate handling of unknown pointer specifiers Petr Mladek
2018-04-05 14:25 ` Rasmus Villemoes
2018-04-05 23:45 ` Joe Perches
2018-04-05 23:55 ` Joe Perches
2018-04-06 11:43 ` Petr Mladek
2018-04-06 13:17 ` Rasmus Villemoes
2018-04-06 14:27 ` Joe Perches
2018-04-09 12:30 ` Petr Mladek
2018-04-07 14:23 ` Andy Shevchenko
2018-04-06 23:52 ` Sergey Senozhatsky
2018-04-06 23:59 ` Joe Perches
2018-04-07 0:33 ` Sergey Senozhatsky
2018-04-07 1:00 ` Joe Perches [this message]
2018-04-07 1:17 ` Sergey Senozhatsky
2018-04-06 11:25 ` Petr Mladek
2018-04-07 14:26 ` Andy Shevchenko
2018-04-09 13:50 ` Petr Mladek
2018-04-10 11:41 ` Andy Shevchenko
2018-04-11 9:52 ` Petr Mladek
2018-04-24 16:47 ` Andy Shevchenko
2018-04-04 8:58 ` [PATCH v4 5/9] vsprintf: Factor out %p[iI] handler as ip_addr_string() Petr Mladek
2018-04-04 23:58 ` Sergey Senozhatsky
2018-04-05 14:14 ` Petr Mladek
2018-04-07 14:30 ` Andy Shevchenko
2018-04-04 8:58 ` [PATCH v4 6/9] vsprintf: Factor out %pV handler as va_format() Petr Mladek
2018-04-04 14:26 ` Joe Perches
2018-04-06 13:12 ` Petr Mladek
2018-04-06 14:19 ` Joe Perches
2018-04-09 11:44 ` Petr Mladek
2018-04-09 11:59 ` Joe Perches
2018-04-04 8:58 ` [PATCH v4 7/9] vsprintf: Factor out %pO handler as kobject_string() Petr Mladek
2018-04-04 23:35 ` Sergey Senozhatsky
2018-04-04 23:43 ` Sergey Senozhatsky
2018-04-05 14:02 ` Petr Mladek
2018-04-04 8:58 ` [PATCH v4 8/9] vsprintf: Prevent crash when dereferencing invalid pointers Petr Mladek
2018-04-05 14:46 ` Rasmus Villemoes
2018-04-06 12:26 ` Petr Mladek
2018-04-06 13:12 ` Rasmus Villemoes
2018-04-10 13:26 ` Petr Mladek
2018-04-06 9:37 ` Rasmus Villemoes
2018-04-04 8:58 ` [PATCH v4 9/9] vsprintf: Avoid confusion between invalid address and value Petr Mladek
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=1523062859.6127.59.camel@perches.com \
--to=joe@perches.com \
--cc=akpm@linux-foundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=me@tobin.cc \
--cc=mhocko@suse.cz \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky.work@gmail.com \
--cc=sergey.senozhatsky@gmail.com \
--cc=torvalds@linux-foundation.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox