checkpatch: report any absolute references to kernel source files
Absolute references to kernel source files are generally only useful locally to the originator of the patch. Check for any such references and report them. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
这个提交包含在:
@@ -958,6 +958,33 @@ sub CHK {
|
||||
}
|
||||
}
|
||||
|
||||
sub check_absolute_file {
|
||||
my ($absolute, $herecurr) = @_;
|
||||
my $file = $absolute;
|
||||
|
||||
##print "absolute<$absolute>\n";
|
||||
|
||||
# See if any suffix of this path is a path within the tree.
|
||||
while ($file =~ s@^[^/]*/@@) {
|
||||
if (-f "$root/$file") {
|
||||
##print "file<$file>\n";
|
||||
last;
|
||||
}
|
||||
}
|
||||
if (! -f _) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
# It is, so see if the prefix is acceptable.
|
||||
my $prefix = $absolute;
|
||||
substr($prefix, -length($file)) = '';
|
||||
|
||||
##print "prefix<$prefix>\n";
|
||||
if ($prefix ne ".../") {
|
||||
WARN("use relative pathname instead of absolute in changelog text\n" . $herecurr);
|
||||
}
|
||||
}
|
||||
|
||||
sub process {
|
||||
my $filename = shift;
|
||||
|
||||
@@ -1168,6 +1195,20 @@ sub process {
|
||||
$herecurr) if (!$emitted_corrupt++);
|
||||
}
|
||||
|
||||
# Check for absolute kernel paths.
|
||||
if ($tree) {
|
||||
while ($line =~ m{(?:^|\s)(/\S*)}g) {
|
||||
my $file = $1;
|
||||
|
||||
if ($file =~ m{^(.*?)(?::\d+)+:?$} &&
|
||||
check_absolute_file($1, $herecurr)) {
|
||||
#
|
||||
} else {
|
||||
check_absolute_file($file, $herecurr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# UTF-8 regex found at http://www.w3.org/International/questions/qa-forms-utf-8.en.php
|
||||
if (($realfile =~ /^$/ || $line =~ /^\+/) &&
|
||||
$rawline !~ m/^$UTF8*$/) {
|
||||
|
在新工单中引用
屏蔽一个用户