On 5/12/25 20:24, Daniel P. Berrangé wrote:
> From: Daniel P. Berrangé <berrange@redhat.com>
>
> The file permissions check is the kind of check intended to be performed
> in the new start of file hook.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> scripts/checkpatch.pl | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 6a7b543ddf..4a18daa384 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1447,6 +1447,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
> @@ -1718,14 +1729,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$/) {