]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
scripts/checkpatch: use new hook for file permissions check
authorDaniel P. Berrangé <berrange@redhat.com>
Mon, 12 May 2025 16:11:55 +0000 (17:11 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Thu, 22 May 2025 10:24:41 +0000 (11:24 +0100)
The file permissions check is the kind of check intended to be performed
in the new start of file hook.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
scripts/checkpatch.pl

index 817df98231eb03c4dff8b99c7884a627f537ff66..881dcac29bdb12ed2227fd9c12e64e5603e6d0f7 100755 (executable)
@@ -1448,6 +1448,17 @@ sub process_file_list {
 # Called at the start of processing a diff hunk for a file
 sub process_start_of_file {
        my $fileinfo = shift;
+
+       # Check for incorrect file permissions
+       if ($fileinfo->{action} eq "new" && ($fileinfo->{mode} & 0111)) {
+               my $permhere = $fileinfo->{linestart} . "FILE: " .
+                       $fileinfo->{filenew} . "\n";
+               if ($fileinfo->{filenew} =~
+                   /(\bMakefile(?:\.objs)?|\.(c|cc|cpp|h|mak|s|S))$/) {
+                       ERROR("do not set execute permissions for source " .
+                             "files\n" . $permhere);
+               }
+       }
 }
 
 # Called at the end of processing a diff hunk for a file
@@ -1719,14 +1730,6 @@ sub process {
 
                $cnt_lines++ if ($realcnt != 0);
 
-# Check for incorrect file permissions
-               if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) {
-                       my $permhere = $here . "FILE: $realfile\n";
-                       if ($realfile =~ /(\bMakefile(?:\.objs)?|\.c|\.cc|\.cpp|\.h|\.mak|\.[sS])$/) {
-                               ERROR("do not set execute permissions for source files\n" . $permhere);
-                       }
-               }
-
 # Only allow Python 3 interpreter
                if ($realline == 1 &&
                        $line =~ /^\+#!\ *\/usr\/bin\/(?:env )?python$/) {