diff options
author | Joe Perches <joe@perches.com> | 2015-04-16 15:44:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-17 09:03:57 -0400 |
commit | b392c64f59d7b088aefb4e86d208cd6d3b93eefb (patch) | |
tree | 8cc15686623671b7d02ed035d8bf28c6229cdb7b /scripts | |
parent | ebfd7d62375316ff532b6b9bae9d88a29f434ba7 (diff) |
checkpatch: match more world writable permissions
Currently checkpatch will fuss if one uses world writable settings in
debugfs files and DEVICE_ATTR uses by testing S_IWUGO but not testing
S_IWOTH, S_IRWXUGO or S_IALLUGO.
Extend the check to catch all cases exporting world writable permissions
including octal values.
[akpm@linux-foundation.org: remove stray $]
Signed-off-by: Joe Perches <joe@perches.com>
Original-patch-by: Nicholas Mc Guire <hofrat@osadl.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/checkpatch.pl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 6b79beb2751d..5748c35d0342 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
@@ -443,6 +443,14 @@ foreach my $entry (@mode_permission_funcs) { | |||
443 | $mode_perms_search .= $entry->[0]; | 443 | $mode_perms_search .= $entry->[0]; |
444 | } | 444 | } |
445 | 445 | ||
446 | our $mode_perms_world_writable = qr{ | ||
447 | S_IWUGO | | ||
448 | S_IWOTH | | ||
449 | S_IRWXUGO | | ||
450 | S_IALLUGO | | ||
451 | 0[0-7][0-7][2367] | ||
452 | }x; | ||
453 | |||
446 | our $allowed_asm_includes = qr{(?x: | 454 | our $allowed_asm_includes = qr{(?x: |
447 | irq| | 455 | irq| |
448 | memory| | 456 | memory| |
@@ -5356,8 +5364,8 @@ sub process { | |||
5356 | } | 5364 | } |
5357 | } | 5365 | } |
5358 | 5366 | ||
5359 | if ($line =~ /debugfs_create_file.*S_IWUGO/ || | 5367 | if ($line =~ /debugfs_create_\w+.*\b$mode_perms_world_writable\b/ || |
5360 | $line =~ /DEVICE_ATTR.*S_IWUGO/ ) { | 5368 | $line =~ /DEVICE_ATTR.*\b$mode_perms_world_writable\b/) { |
5361 | WARN("EXPORTED_WORLD_WRITABLE", | 5369 | WARN("EXPORTED_WORLD_WRITABLE", |
5362 | "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr); | 5370 | "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr); |
5363 | } | 5371 | } |