Re: checkpatch bailing out

From: Joe Perches
Date: Sat Mar 02 2013 - 08:07:58 EST


On Sat, 2013-03-02 at 13:02 +0100, Arend van Spriel wrote:
> With my laptop being broken I have to work on a server provided by my
> employer and I am preparing some patches for submission. So I intended
> to run checkpatch, but I get the following message after which the
> script bails out:
>
> $ git format-patch -1 --stdout | scripts/checkpatch.pl -
> Nested quantifiers in regex; marked by <-- HERE in m/(\((?:[^\(\)]++ <--
> HERE |(?-1))*\))/ at scripts/checkpatch.pl line 347.
>
> The server runs RHEL5
>
> 2.6.18-308.20.1.el5 #1 SMP x86_64 GNU/Linux
>
> Perl interpreter:
>
> $ /usr/bin/perl -v
>
> This is perl, v5.8.8 built for x86_64-linux-thread-multi
>
> My repository is based on wireless-testing repo.
>
> Did a quick search on LKML, but not finding anything like this. Any help
> would be appreciated here.

Sorry, I don't have perl 5.8.8, it's pretty old.

Perhaps this explains it:
http://www.perlmonks.org/?node_id=971814 (question)
http://www.perlmonks.org/?node_id=971883 (explanation)

Perhaps you could test this patch?
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index b28cc38..fb53845 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -344,7 +344,7 @@ our $Typecast = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*};
# requires at least perl version v5.10.0
# Any use must be runtime checked with $^V

-our $balanced_parens = qr/(\((?:[^\(\)]++|(?-1))*\))/;
+our $balanced_parens = qr/(\((?:(?>[^\(\)]+)|(?-1))*\))/;
our $LvalOrFunc = qr{($Lval)\s*($balanced_parens{0,1})\s*};
our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant)};



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/