summaryrefslogtreecommitdiff
path: root/scripts/checkpatch.pl (unfollow)
Commit message (Collapse)Author
2020-12-29checkpatch: fix unescaped left braceDwaipayan Ray
[ Upstream commit 03f4935135b9efeb780b970ba023c201f81cf4e6 ] There is an unescaped left brace in a regex in OPEN_BRACE check. This throws a runtime error when checkpatch is run with --fix flag and the OPEN_BRACE check is executed. Fix it by escaping the left brace. Link: https://lkml.kernel.org/r/20201115202928.81955-1-dwaipayanray1@gmail.com Fixes: 8d1824780f2f ("checkpatch: add --fix option for a couple OPEN_BRACE misuses") Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com> Acked-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-09-12checkpatch: fix the usage of capture group ( ... )Mrinal Pandey
commit 13e45417cedbfc44b1926124b1846f5ee8c6ba4a upstream. The usage of "capture group (...)" in the immediate condition after `&&` results in `$1` being uninitialized. This issues a warning "Use of uninitialized value $1 in regexp compilation at ./scripts/checkpatch.pl line 2638". I noticed this bug while running checkpatch on the set of commits from v5.7 to v5.8-rc1 of the kernel on the commits with a diff content in their commit message. This bug was introduced in the script by commit e518e9a59ec3 ("checkpatch: emit an error when there's a diff in a changelog"). It has been in the script since then. The author intended to store the match made by capture group in variable `$1`. This should have contained the name of the file as `[\w/]+` matched. However, this couldn't be accomplished due to usage of capture group and `$1` in the same regular expression. Fix this by placing the capture group in the condition before `&&`. Thus, `$1` can be initialized to the text that capture group matches thereby setting it to the desired and required value. Fixes: e518e9a59ec3 ("checkpatch: emit an error when there's a diff in a changelog") Signed-off-by: Mrinal Pandey <mrinalmni@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Tested-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Reviewed-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Cc: Joe Perches <joe@perches.com> Link: https://lkml.kernel.org/r/20200714032352.f476hanaj2dlmiot@mrinalpandey Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-21checkpatch: silence perl 5.26.0 unescaped left brace warningsCyril Bur
commit 8d81ae05d0176da1c54aeaed697fa34be5c5575e upstream. As of perl 5, version 26, subversion 0 (v5.26.0) some new warnings have occurred when running checkpatch. Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^(.\s*){ <-- HERE \s*/ at scripts/checkpatch.pl line 3544. Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^(.\s*){ <-- HERE \s*/ at scripts/checkpatch.pl line 3885. Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^(\+.*(?:do|\))){ <-- HERE / at scripts/checkpatch.pl line 4374. It seems perfectly reasonable to do as the warning suggests and simply escape the left brace in these three locations. Link: http://lkml.kernel.org/r/20170607060135.17384-1-cyrilbur@gmail.com Signed-off-by: Cyril Bur <cyrilbur@gmail.com> Acked-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-11UPSTREAM: checkpatch: special audit for revert commit lineWei Wang
Currently checkpatch.pl does not recognize git's default commit revert message and will complain about the hash format. Add special audit for revert commit message line to fix it. Signed-off-by: Wei Wang <wvw@google.com> Acked-by: Joe Perches <joe@perches.com> Bug: 37158168 Test: checkpatch.pl --patch [diff] and no longer see failure Change-Id: I65cf9a46874621dd6d5c349d2d3ca3b862d61ba3
2017-02-22checkpatch: accept qca.qualcomm email addressesMaya Erez
@qca.qualcomm.com identities are allowed, hence change the signed-off and author email validation to accept @qca.qualcomm.com email addresses. Change-Id: I8757226f53826c0e5e2825ebe89e80e10a2f18bb Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-03-23checkpatch: Excuse reverts from "summary line over 75 characters" checkMatt Wagantall
Rather than forcing authors of reverts to truncate the summary line because the "Revert" prefix added pushes it over the character limit, excuse reverts from this rule. Change-Id: I395dfff3327e360ef935d4a685c38df6577e3867 Signed-off-by: Matt Wagantall <mattw@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: recognize only specific tags when ending commit textSteve Muckle
There are some very frequently used tags that checkpatch can look for as an ending to the commit text rather than using a pattern, which can generate false positives in the "no commit text" rule. Change-Id: I5b4400017b8273bcd9f5a59b3e28965c0062bef4 Signed-off-by: Steve Muckle <smuckle@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: require commit textSteve Muckle
Commit text is almost always necessary to explain why a change is needed. Exceptions are rare enough that these can be granted through manual checkpatch overrides. Change-Id: I926b2276f717940c2fec77a6709fa3088b1bf0c3 Signed-off-by: Steve Muckle <smuckle@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23Don't complain about MIME headers.Gregory Bean
When patches contain extended character sets, patches will contain MIME headers after the subject line, which should not be confused for a too-long summary line. Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit 8e6b9d3790595198a34320f1c3f4504cd258fed1) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: warn on subject line not followed by blank lineDavid Keitel
Fixed case when no warning generated for long subject line that is wrapped to more than one line, and all lines are less than line limit. New warning message added: "non-blank line after summary line" Now there are two warnings possible for the subject line, the original line over limit and the new one. Depending on the error(s) any combination of the two warnings are possible. Commit text requirements now: 1) Must be less than 75 characters 2) Must be followed by blank line. Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23checkpatch: warn on long summary, commit text linesDavid Keitel
Warn on summary or commit text lines greater than 75 characters. The summary and commit text are indented and may wrap on a terminal if they are longer than 75 characters. Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23checkpatch: Add exceptions for "dsb" keyword usageSarangdhar Joshi
Currently checkpatch.pl throws error for any use of "dsb" keyword. Add exceptions when it is used in a variable or a function name. Expectations are when 'dsb' keyword is used in a variable or a function name, it is prefixed with class [-_>*\.] and/or suffixed with class [-_\.;]. Change-Id: I06cd21e42135334bb41cf31f13088b118fcf3ac9 Signed-off-by: Sarangdhar Joshi <spjoshi@codeaurora.org>
2016-03-23Revert "checkpatch.pl: add check for Change-Id"Ian Maund
This reverts commit 7ebd05ef1646e8cbef54e38343722741a4744626. Our process requires Change-Id lines in our commit text while upstream considers them to be "noise". Remove the blocking checkpatch error for having a gerrit Change-Id line in the commit text. Change-Id: I21c6f0e11ecd94facfc2b9a3bbfee4ed4d39609f Signed-off-by: Ian Maund <imaund@codeaurora.org>
2016-03-23checkpatch: add support for --noauthorJeff Johnson
Commit "scripts: checkpatch.pl: warn on invalid credentials" added to checkpatch.pl logic to unconditionally check for invalid author credentials. Add a flag to allow override of this behavior. Change-Id: Ib254cc6f73c4de857ba923e6170750262cde01ad Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>
2016-03-23scripts: checkpatch.pl: warn on invalid credentialsBryan Huntsman
@quicinc.com identities are not allowed. Check the "From:" field in the patch, equivalent to the author in the git commit, and the Signed-off-by field. Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> [imaund@codeaurora.org: Resolved context conflicts] Signed-off-by: Ian Maund <imaund@codeaurora.org>
2016-03-23checkpatch: Add check for vreg_xxx api in opensource driversPankaj Kumar
Vreg API implementation is deprecated. We are using Linux regulator framework now. Hence vreg API should not be used. Change-Id: I8e31dac66592d2d195d190b770a436e93206cf8b Signed-off-by: Pankaj Kumar <pakuma@codeaurora.org> (cherry picked from commit adfb933a24911e3514a2f1b6fe1b1a9151fec56d) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: Add check for gpiomux usage in msm board filesRohit Vaswani
MSM has a board-*-gpiomux file where all the gpiomux configs reside. Warn if a non gpiomux board file tries to add gpiomux configs. The camera board file is an exception to this rule. Change-Id: Ibab190dcbd7ea78e7ca150142c68c5ae881e4e06 Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org> (cherry picked from commit 60d78bb9809e7d4d1c3dc1425cbfd9e649e87c1c) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: complain about the use of dsb().Gregory Bean
Now that mb() does what we want, dsb() should be discouraged. Change-Id: Ib8fe8f44f669753c3d91fac3c6e598e117d6d90e Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit 9c0619be7b93ad114d6f33a749d905ddff93df7d) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: close filp_open loophole.Gregory Bean
filp_open allows people to get around the ban on sys_open. Close the loophole. Change-Id: I6e2be62e848cbc064e07008d0886c0d003c8be4b Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit bb181a18a813a70176f71a0c64aa572fcfbef0f0) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: Handle long multi-line macros better.Gregory Bean
Improve parsing of multiline macros which run beyond the available diff context. These beyond-the-horizon macros previously caused two distinct naughty behaviors: - The scanner, confused by the trailing backslash, would grab the header of the next context hunk and treat it as the last line of the preceding macro. - The analyzer, unable to fully reduce the macro, would blame the patch for submitting an unbalanced or unprotected macro. Change-Id: I6b7dd3d577c524d30b59dff7b20393bb5135f16d Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit ddd028c47b4d91aa9c0e97445eb584b2de367769) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: deprecate unbounded string functions.Gregory Bean
Unbounded string functions are overflow risks. The 'n' versions of those functions should be used instead. Change-Id: Ice0fb3ebdae9aa88cc7e764ffdf68cbed857febf Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit 15e1e97d66dd6a6039c1ec2bd549a632fe361128) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: forbid implied-barrier I/O functions.Gregory Bean
Forbid read[bwl], write[bwl], in[bwl], and out[bwl], as they contain a 'stealth barrier' which can harm performance. Developers are expected to call appropriate __raw_* or *_relaxed APIs and manage barriers explicitly. Change-Id: Ie4da221c91a0505917199db9e2fdb704c3e47d44 Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit 032fd4ba09e195d9913c08f460130da9905936ef) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: Merge continuation-header handling from .38.Gregory Bean
This commit is a cherry pick and squash of commits: 85c2ee62d37c19456c6dc83db262123956f010ac 4bc7c6001daba7d4037f54f67bae7fa90f759402 checkpatch: Handle continuation headers. Continuation headers baffle checkpatch, as it can only operate on one line of context at a time. When continuation headers are found, put them up with the header they're continuing so the whole thing can be parsed in a single line of context. checkpatch: Don't treat diffs as patches. The patch-header cleanup code assumed that it would only ever see patches, which was of course hogwash. This lead to crazy results as it tried to wrap what it thought were continuation lines at the beginnings of raw diffs. Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit 57d50ae730a057ee1099a94a397475bfd147d97b) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: forbid filesystem accesses from within the kernel.Gregory Bean
Use of the sys_open/close/read/write system calls from within kernel code is inappropriate, and now triggers errors. Change-Id: I98e20513c257d0664684b7144585853f617d771a Signed-off-by: Gregory Bean <gbean@codeaurora.org> (cherry picked from commit ee62f2afcac1bcb180b2f0dddf2c8f5cda54bc5b) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> [abhimany: resolve trivial merge conflicts] Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-23Checkpatch: Print location when catching return code errorPatrick Pannuto
Display context so users can see where there error was OLD: ERROR: illegal return value, please use an error code NEW: ERROR: illegal return value, please use an error code #152: test.c:5: + return -1; Change-Id: I098004d9a5dbeb6c39b35b84ac94fd7a861849d7 Signed-off-by: Patrick Pannuto <ppannuto@codeaurora.org> (cherry picked from commit 8d09803de5d629f3ebc9cb357a40b5937a5d171e) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: Check for illegal return codesPatrick Pannuto
The only legal integer return is 0, anything else following "return" should be -ERRCODE or a function. http://lkml.org/lkml/2010/7/23/318 There's lots of "return -1;" statements in this patch - it's obscene that this is used to indicate "some error occurred" in kernel space rather than a real errno value - even when an existing function (eg, request_irq) gave you an error code already. Please note this for the future - and please review patches on this point internally first. Change-Id: I16268b2ee034f0b3b899115e45c28acfa734ddec Signed-off-by: Patrick Pannuto <ppannuto@codeaurora.org> (cherry picked from commit 39531a47164294315b5a7256b520fe22d6e87013) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: remove column limit for checkpatch patchesIsrael Schlesinger
Currently checkpatch is enforcing an 80 character column limit. This should not be applied for patches modifying checkpatch. Change-Id: I8e8935e633d79a7ee535ce6a90e54447a22d9a91 Signed-off-by: Israel Schlesinger <israels@codeaurora.org> (cherry picked from commit 4aa1b864119e2d0e49efefcd6dba7349f13c3939) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: Add warnings for use of mdelay()Israel Schlesinger
Signed-off-by: Israel Schlesinger <israels@codeaurora.org> (cherry picked from commit 084af58596758be6e51ef060aefa2cd622dc9205) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: Exceptions for CLK_* macros and some spaces in macrosMatt Wagantall
Add CLK_* macros used in MSM clock drivers to the list of exceptions for the "Macros with complex values should be enclosed in parenthesis" test. Also, allow spaces following open branckets for macros where the macro is the first token on the line, the space preceds a decimal number, and the line ends with ")," or ")". Such arrangements can be useful for aligning numerical columns of tables when the rows are described by macros. Change-Id: I7701119ada2ea8fd646e5448eae51786bbf1e8fa Signed-off-by: Matt Wagantall <mattw@codeaurora.org> (cherry picked from commit ed6d6ed1c6b8f6016ea5676d075331e31b7ac1f8) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2016-03-23checkpatch: check for #if 0/#if 1Abhijeet Dharmapurikar
Warn if #if 1 or #if 0 is present. Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> (cherry picked from commit a81f92c9abe442ad5b00e8df31172f145a14af3f) Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2015-11-06checkpatch: improve the unnecessary initialisers testsJoe Perches
Global and static variables don't need to be initialized to 0. There is already a test for this but the output message doesn't mention booleans initialized to false. Improve the output message and the test by adding various forms with possible specific integer types and possible multiple zeros. Miscellanea: o Use a variable to hold the possible 0 test Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Shailendra Verma <shailendra.v@samsung.com> Tested-by: Shailendra Verma <shailendra.v@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-11-06checkpatch: improve tests for fixes:, long lines and stack dumps in commit logJoe Perches
Including BUG and stack dumps in commit logs makes checkpatch produce some false positive warning messages. checkpatch has multiple types of false positives: o Commit message lines > 75 chars o Stack dump address are mistaken for git commit IDs o Link: and Fixes: lines are allowed to be > 75 chars. o Fixes: style doesn't require ("<commit_description>") parentheses and double quotes like other uses of git commit ID and description. Fix these. Miscellanea: o Move the test for checking $commit_log_possible_stack_dump above the test for a long line commit message o Add test for hex address surrounded by square or angle brackets Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: add constant comparison on left side testJoe Perches
"CONST <comparison> variable" checks like: if (NULL != foo) and while (0 < bar(...)) where a constant (or what appears to be a constant like an upper case identifier) is on the left of a comparison are generally preferred to be written using the constant on the right side like: if (foo != NULL) and while (bar(...) > 0) Add a test for this. Add a --fix option too, but only do it when the code is immediately surrounded by parentheses to avoid misfixing things like "(0 < bar() + constant)" Signed-off-by: Joe Perches <joe@perches.com> Cc: Nicolas Morey Chaisemartin <nmorey@kalray.eu> Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: add __pmem to $Sparse annotationsJoe Perches
commit 61031952f4c8 ("arch, x86: pmem api for ensuring durability of persistent memory updates") added a new __pmem annotation for sparse verification. Add __pmem to the $Sparse variable so checkpatch can appropriately ignore uses of this attribute too. Signed-off-by: Joe Perches <joe@perches.com> Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com> Acked-by: Andy Whitcroft <apw@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: fix left brace warningEddie Kovsky
Using checkpatch.pl with Perl 5.22.0 generates the following warning: Unescaped left brace in regex is deprecated, passed through in regex; This patch fixes the warnings by escaping occurrences of the left brace inside the regular expression. Signed-off-by: Eddie Kovsky <ewk@edkovsky.org> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: avoid some commit message long line warningsJoe Perches
Fixes: and Link: lines may exceed 75 chars in the commit log. So too can stack dump and dmesg lines and lines that seem like filenames. And Fixes: lines don't need to have a "commit" prefix before the commit id. Add exceptions for these types of lines. Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: emit an error on formats with 0x%<decimal>Joe Perches
Using 0x%d is wrong. Emit a message when it happens. Miscellanea: Improve the %Lu warning to match formats like %16Lu. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: make --strict the default for drivers/staging files and patchesJoe Perches
Making --strict the default for staging may help some people submit patches without obvious defects. Signed-off-by: Joe Perches <joe@perches.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: always check block comment stylesJoe Perches
Some of the block comment tests that are used only for networking are appropriate for all patches. For example, these styles are not encouraged: /* block comment without introductory * */ and /* * block comment with line terminating */ Remove the networking specific test and add comments. There are some infrequent false positives where code is lazily commented out using /* and */ rather than using #if 0/#endif blocks like: /* case foo: case bar: */ case baz: Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: report the right line # when using --emacs and --fileJoe Perches
commit 34d8815f9512 ("checkpatch: add --showfile to allow input via pipe to show filenames") broke the --emacs with --file option. Fix it. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: add some <foo>_destroy functions to NEEDLESS_IF testsJoe Perches
Sergey Senozhatsky has modified several destroy functions that can now be called with NULL values. - kmem_cache_destroy() - mempool_destroy() - dma_pool_destroy() Update checkpatch to warn when those functions are preceded by an if. Update checkpatch to --fix all the calls too only when the code style form is using leading tabs. from: if (foo) <func>(foo); to: <func>(foo); Signed-off-by: Joe Perches <joe@perches.com> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Cc: David Rientjes <rientjes@google.com> Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: Allow longer declaration macrosJoe Perches
Some really long declaration macros exist. For instance; DEFINE_DMA_BUF_EXPORT_INFO(exp_info); and DECLARE_DM_KCOPYD_THROTTLE_WITH_MODULE_PARM(name, description) Increase the limit from 2 words to 6 after DECLARE/DEFINE uses. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: improve SUSPECT_CODE_INDENT testJoe Perches
Many lines exist like if (foo) bar; where the tabbed indentation of the branch is not one more than the "if" line above it. checkpatch should emit a warning on those lines. Miscellenea: o Remove comments from branch blocks o Skip blank lines in block Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: add warning on BUG/BUG_ON useJoe Perches
Using BUG/BUG_ON crashes the kernel and is just unfriendly. Enable code that emits a warning on BUG/BUG_ON use. Make the code emit the message at WARNING level when scanning a patch and at CHECK level when scanning files so that script users don't feel an obligation to fix code that might be above their pay grade. Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-10checkpatch: warn on bare SHA-1 commit IDs in commit logsJoe Perches
Commit IDs should have commit descriptions too. Warn when a 12 to 40 byte SHA-1 is used in commit logs. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-07-22scripts: Make checkpatch.pl warn on expedited RCU grace periodsPaul E. McKenney
The synchronize_rcu_expedited() and synchronize_sched_expedited() expedited-grace-period primitives induce OS jitter, which can degrade real-time response. This commit therefore adds a checkpatch.pl warning on any patch adding them. Note that this patch does not warn on synchronize_srcu_expedited() because it does not induce OS jitter, courtesy of its otherwise much-maligned read-side memory barriers. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Andy Whitcroft <apw@canonical.com> Cc: Joe Perches <joe@perches.com>
2015-07-17checkpatch: fix long line messages about patch contextJoe Perches
Changes in ("checkpatch: categorize some long line length checks") now erroneously reports long line defects in patch context. Fix it. Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-25checkpatch: emit "NOTE: <types>" message only once after multiple filesJoe Perches
Make this message similar to the "false positives" message and emit it only once when scanning multiple files instead of after each file scanned. Signed-off-by: Joe Perches <joe@perches.com> Cc: Andy Whitcroft <apw@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-25checkpatch: emit an error when there's a diff in a changelogJoe Perches
People often put diff snippets in changelogs. This causes problems when one tries to apply a file containing both the changelog and the diff because patch(1) tries to apply the diff which it found in the changelog. Warn once when what seems to be a diff snippet in the changelog exists. Signed-off-by: Joe Perches <joe@perches.com> Suggested-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-25checkpatch: validate MODULE_LICENSE contentBjorn Andersson
There is a well defined list of expected values for MODULE_LICENSE so warn the user upon usage of unknown values. Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>