lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <acc5e1a9-f739-0e21-385b-70844dfa21c6@linux.vnet.ibm.com>
Date:   Wed, 28 Sep 2016 14:17:39 +0200
From:   Jan Höppner <hoeppner@...ux.vnet.ibm.com>
To:     apw@...onical.com
Cc:     joe@...ches.com, linux-kernel@...r.kernel.org
Subject: [BUG] checkpatch hangs at value annotation

Hi Andy,

when I check the following patch example with checkpatch it will hang forever.

diff --git a/test.c b/test.c
index 88c2eb0cb608..583625fdb715 100644
--- a/test.c
+++ b/test.c
@@ -1 +1,3 @@
 uint## BITS ##_t foobar;
+
+printk(KERN_WARNING "DEBUG: FOOBAR\n");


The hang is due to the spaces in the concatenation in the first line.
When you remove the space (like this uint##BITS##_t) it will run
through just fine.

I debugged the script with perl -d a little and found that the problem
is somewhere in the annotate_values sub-routine. It will always jump
in this block:

} elsif ($cur =~ /^($Modifier)\s*/) {
        print "MODIFIER($1)\n" if ($dbg_values > 1);
        $type = 'T';

}

$1 seems to be undefined even though the regex matched. However, $1
needs to be defined so that the loop can move on with evaluating the
rest of the current string (see end of the routine).

If you want me to try a few more things or provide more data, please
let me know. Due to lack of time and a vague knowledge of perl, I'm
not able to provide a proposal for a proper fix.

Best regards,
Jan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ