aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2015-04-16 15:44:16 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-17 09:03:57 -0400
commitb392c64f59d7b088aefb4e86d208cd6d3b93eefb (patch)
tree8cc15686623671b7d02ed035d8bf28c6229cdb7b /scripts
parentebfd7d62375316ff532b6b9bae9d88a29f434ba7 (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-xscripts/checkpatch.pl12
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
446our $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
446our $allowed_asm_includes = qr{(?x: 454our $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 }