OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-213
/
scripts
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
.gitignore
162 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
Kbuild.include
18.36 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Lindent
502 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
Makefile
1.9 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.asm-generic
1.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.build
20.68 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.clean
2.96 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.dtbinst
1.09 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.extrawarn
2.9 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.gcc-plugins
3.75 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.headersinst
3.98 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.host
6.23 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.kasan
1.09 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.kcov
201 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.lib
15.25 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.modbuiltin
1.82 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.modinst
1.52 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.modpost
5.43 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
Makefile.modsign
1.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
Makefile.ubsan
1.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
adjust_autoksyms.sh
3.09 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
asn1_compiler.c
35.54 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
basic
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
bloat-o-meter
3.22 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
bootgraph.pl
6.28 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
check_00index.sh
1.3 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
check_extable.sh
4.93 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
checkincludes.pl
1.94 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
checkkconfigsymbols.py
15.51 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
checkpatch.pl
186.79 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
checkstack.pl
5.49 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
checksyscalls.sh
5.68 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
checkversion.pl
1.9 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
cleanfile
3.46 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
cleanpatch
5.06 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
coccicheck
7.24 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📁
coccinelle
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
config
4.64 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
conmakehash.c
5.98 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
const_structs.checkpatch
964 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
decode_stacktrace.sh
3.82 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
decodecode
2.3 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
depmod.sh
1.94 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
diffconfig
3.72 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
documentation-file-ref-check
395 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
dtc
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
export_report.pl
4.55 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
extract-cert.c
3.63 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
extract-ikconfig
1.69 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
extract-module-sig.pl
3.66 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
extract-sys-certs.pl
3.75 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
extract-vmlinux
1.6 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
extract_xc3028.pl
44.6 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
faddr2line
5.53 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
find-unused-docs.sh
1.27 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
gcc-goto.sh
530 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
gcc-ld
711 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
gcc-plugin.sh
1.06 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
gcc-plugins
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
gcc-version.sh
857 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
gcc-x86_32-has-stack-protector.sh
219 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
gcc-x86_64-has-stack-protector.sh
244 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
gdb
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
gen_initramfs_list.sh
8.03 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
genksyms
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
get_dvb_firmware
25.22 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
get_maintainer.pl
65.03 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
gfp-translate
1.71 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
headerdep.pl
3.5 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
headers.sh
512 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
headers_check.pl
3.73 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
headers_install.sh
1.32 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
insert-sys-cert.c
13.08 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
kallsyms.c
18.89 KB
06/16/2023 05:32:39 PM
rw-r--r--
📁
kconfig
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
kernel-doc
92.36 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
kmsg-doc
12.13 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📁
ksymoops
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
ld-version.sh
269 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
leaking_addresses.pl
9.65 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
link-vmlinux.sh
7.65 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
makelst
808 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
markup_oops.pl
8.08 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
mkcompile_h
2.74 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
mkmakefile
1.19 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
mksysmap
1.34 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
mkuboot.sh
414 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
mod
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
module-common.lds
901 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
namespace.pl
13.18 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
objdiff
2.85 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
package
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
parse-maintainers.pl
3.72 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
patch-kernel
9.95 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
pnmtologo.c
11.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
profile2linkerlist.pl
414 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
prune-kernel
708 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
recordmcount.c
17.49 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
recordmcount.h
16.4 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
recordmcount.pl
18.41 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📁
selinux
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
setlocalversion
4.72 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
show_delta
2.99 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
sign-file.c
9.93 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
sortextable.c
8.35 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sortextable.h
5.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
spelling.txt
24.97 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sphinx-pre-install
14.04 KB
06/16/2023 05:32:39 PM
rwxr-xr-x
📄
stackdelta
1.84 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
stackusage
794 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
subarch.include
641 bytes
06/16/2023 05:32:39 PM
rw-r--r--
📄
tags.sh
9.49 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📁
tracing
-
05/09/2024 07:14:16 AM
rwxr-xr-x
📄
ubuntu-retpoline-extract-one
7.26 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
unifdef.c
34.8 KB
06/16/2023 05:32:39 PM
rw-r--r--
📄
ver_linux
2.94 KB
01/28/2018 09:20:33 PM
rwxr-xr-x
📄
xen-hypercalls.sh
386 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
xz_wrap.sh
562 bytes
01/28/2018 09:20:33 PM
rwxr-xr-x
Editing: export_report.pl
Close
#!/usr/bin/env perl # # (C) Copyright IBM Corporation 2006. # Released under GPL v2. # Author : Ram Pai (linuxram@us.ibm.com) # # Usage: export_report.pl -k Module.symvers [-o report_file ] -f *.mod.c # use warnings; use Getopt::Std; use strict; sub numerically { my $no1 = (split /\s+/, $a)[1]; my $no2 = (split /\s+/, $b)[1]; return $no1 <=> $no2; } sub alphabetically { my ($module1, $value1) = @{$a}; my ($module2, $value2) = @{$b}; return $value1 <=> $value2 || $module2 cmp $module1; } sub print_depends_on { my ($href) = @_; print "\n"; for my $mod (sort keys %$href) { my $list = $href->{$mod}; print "\t$mod:\n"; foreach my $sym (sort numerically @{$list}) { my ($symbol, $no) = split /\s+/, $sym; printf("\t\t%-25s\n", $symbol); } print "\n"; } print "\n"; print "~"x80 , "\n"; } sub usage { print "Usage: @_ -h -k Module.symvers [ -o outputfile ] \n", "\t-f: treat all the non-option argument as .mod.c files. ", "Recommend using this as the last option\n", "\t-h: print detailed help\n", "\t-k: the path to Module.symvers file. By default uses ", "the file from the current directory\n", "\t-o outputfile: output the report to outputfile\n"; exit 0; } sub collectcfiles { my @file; while (<.tmp_versions/*.mod>) { open my $fh, '<', $_ or die "cannot open $_: $!\n"; push (@file, grep s/\.ko/.mod.c/, # change the suffix grep m/.+\.ko/, # find the .ko path <$fh>); # lines in opened file } chomp @file; return @file; } my (%SYMBOL, %MODULE, %opt, @allcfiles); if (not getopts('hk:o:f',\%opt) or defined $opt{'h'}) { usage($0); } if (defined $opt{'f'}) { @allcfiles = @ARGV; } else { @allcfiles = collectcfiles(); } if (not defined $opt{'k'}) { $opt{'k'} = "Module.symvers"; } open (my $module_symvers, '<', $opt{'k'}) or die "Sorry, cannot open $opt{'k'}: $!\n"; if (defined $opt{'o'}) { open (my $out, '>', $opt{'o'}) or die "Sorry, cannot open $opt{'o'} $!\n"; select $out; } # # collect all the symbols and their attributes from the # Module.symvers file # while ( <$module_symvers> ) { chomp; my (undef, $symbol, $module, $gpl) = split; $SYMBOL { $symbol } = [ $module , "0" , $symbol, $gpl]; } close($module_symvers); # # collect the usage count of each symbol. # my $modversion_warnings = 0; foreach my $thismod (@allcfiles) { my $module; unless (open ($module, '<', $thismod)) { warn "Sorry, cannot open $thismod: $!\n"; next; } my $state=0; while ( <$module> ) { chomp; if ($state == 0) { $state = 1 if ($_ =~ /static const struct modversion_info/); next; } if ($state == 1) { $state = 2 if ($_ =~ /__attribute__\(\(section\("__versions"\)\)\)/); next; } if ($state == 2) { if ( $_ !~ /0x[0-9a-f]+,/ ) { next; } my $sym = (split /([,"])/,)[4]; my ($module, $value, $symbol, $gpl) = @{$SYMBOL{$sym}}; $SYMBOL{ $sym } = [ $module, $value+1, $symbol, $gpl]; push(@{$MODULE{$thismod}} , $sym); } } if ($state != 2) { warn "WARNING:$thismod is not built with CONFIG_MODVERSIONS enabled\n"; $modversion_warnings++; } close($module); } print "\tThis file reports the exported symbols usage patterns by in-tree\n", "\t\t\t\tmodules\n"; printf("%s\n\n\n","x"x80); printf("\t\t\t\tINDEX\n\n\n"); printf("SECTION 1: Usage counts of all exported symbols\n"); printf("SECTION 2: List of modules and the exported symbols they use\n"); printf("%s\n\n\n","x"x80); printf("SECTION 1:\tThe exported symbols and their usage count\n\n"); printf("%-25s\t%-25s\t%-5s\t%-25s\n", "Symbol", "Module", "Usage count", "export type"); # # print the list of unused exported symbols # foreach my $list (sort alphabetically values(%SYMBOL)) { my ($module, $value, $symbol, $gpl) = @{$list}; printf("%-25s\t%-25s\t%-10s\t", $symbol, $module, $value); if (defined $gpl) { printf("%-25s\n",$gpl); } else { printf("\n"); } } printf("%s\n\n\n","x"x80); printf("SECTION 2:\n\tThis section reports export-symbol-usage of in-kernel modules. Each module lists the modules, and the symbols from that module that it uses. Each listed symbol reports the number of modules using it\n"); print "\nNOTE: Got $modversion_warnings CONFIG_MODVERSIONS warnings\n\n" if $modversion_warnings; print "~"x80 , "\n"; for my $thismod (sort keys %MODULE) { my $list = $MODULE{$thismod}; my %depends; $thismod =~ s/\.mod\.c/.ko/; print "\t\t\t$thismod\n"; foreach my $symbol (@{$list}) { my ($module, $value, undef, $gpl) = @{$SYMBOL{$symbol}}; push (@{$depends{"$module"}}, "$symbol $value"); } print_depends_on(\%depends); }