Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
linux-headers-5.15.0-186 /
scripts /
Delete
Unzip
Name
Size
Permission
Date
Action
atomic
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
basic
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
clang-tools
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
coccinelle
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
dtc
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
dummy-tools
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
gcc-plugins
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
gdb
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
genksyms
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
kconfig
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
ksymoops
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
mod
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
package
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
selinux
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
tracing
[ DIR ]
drwxr-xr-x
2026-07-21 06:37
.gitignore
160
B
-rw-r--r--
2021-11-01 05:53
Kbuild.include
10.15
KB
-rw-r--r--
2026-06-21 00:49
Kconfig.include
2.57
KB
-rw-r--r--
2026-06-21 00:49
Lindent
502
B
-rwxr-xr-x
2021-11-01 05:53
Makefile
1.64
KB
-rw-r--r--
2026-06-21 00:49
Makefile.asm-generic
1.82
KB
-rw-r--r--
2021-11-01 05:53
Makefile.build
19.66
KB
-rw-r--r--
2026-06-21 00:49
Makefile.clang
1.56
KB
-rw-r--r--
2026-06-21 00:49
Makefile.clean
2.2
KB
-rw-r--r--
2021-11-01 05:53
Makefile.compiler
2.74
KB
-rw-r--r--
2026-06-21 00:49
Makefile.dtbinst
1007
B
-rw-r--r--
2026-06-21 00:49
Makefile.extrawarn
3.02
KB
-rw-r--r--
2026-06-21 00:49
Makefile.gcc-plugins
2.71
KB
-rw-r--r--
2026-06-21 00:49
Makefile.headersinst
2.88
KB
-rw-r--r--
2021-11-01 05:53
Makefile.host
4.63
KB
-rw-r--r--
2021-11-01 05:53
Makefile.kasan
1.67
KB
-rw-r--r--
2021-11-01 05:53
Makefile.kcov
333
B
-rw-r--r--
2021-11-01 05:53
Makefile.kcsan
739
B
-rw-r--r--
2021-11-01 05:53
Makefile.lib
18.02
KB
-rw-r--r--
2026-06-21 00:49
Makefile.modfinal
2.73
KB
-rw-r--r--
2026-06-21 00:49
Makefile.modinst
2.52
KB
-rw-r--r--
2026-06-21 00:49
Makefile.modpost
4.37
KB
-rw-r--r--
2026-06-21 00:49
Makefile.package
6.61
KB
-rw-r--r--
2021-11-01 05:53
Makefile.ubsan
770
B
-rw-r--r--
2026-06-21 00:49
Makefile.userprogs
1.57
KB
-rw-r--r--
2021-11-01 05:53
adjust_autoksyms.sh
2.07
KB
-rwxr-xr-x
2021-11-01 05:53
as-version.sh
2.03
KB
-rwxr-xr-x
2026-06-21 00:49
asn1_compiler.c
35.33
KB
-rw-r--r--
2026-06-21 00:49
bin2c.c
743
B
-rw-r--r--
2021-11-01 05:53
bloat-o-meter
3.36
KB
-rwxr-xr-x
2021-11-01 05:53
bootgraph.pl
5.64
KB
-rwxr-xr-x
2021-11-01 05:53
bpf_doc.py
24.98
KB
-rwxr-xr-x
2026-06-21 00:49
cc-can-link.sh
166
B
-rwxr-xr-x
2021-11-01 05:53
cc-version.sh
1.51
KB
-rwxr-xr-x
2021-11-01 05:53
check-sysctl-docs
4.37
KB
-rwxr-xr-x
2021-11-01 05:53
check_extable.sh
4.93
KB
-rwxr-xr-x
2021-11-01 05:53
checkdeclares.pl
1.1
KB
-rwxr-xr-x
2021-11-01 05:53
checkincludes.pl
1.94
KB
-rwxr-xr-x
2021-11-01 05:53
checkkconfigsymbols.py
15.75
KB
-rwxr-xr-x
2026-06-21 00:49
checkpatch.pl
224.05
KB
-rwxr-xr-x
2026-06-21 00:49
checkstack.pl
5.86
KB
-rwxr-xr-x
2026-06-21 00:49
checksyscalls.sh
7.42
KB
-rwxr-xr-x
2021-11-01 05:53
checkversion.pl
2.16
KB
-rwxr-xr-x
2021-11-01 05:53
cleanfile
3.46
KB
-rwxr-xr-x
2021-11-01 05:53
cleanpatch
5.06
KB
-rwxr-xr-x
2021-11-01 05:53
coccicheck
7.89
KB
-rwxr-xr-x
2021-11-01 05:53
config
4.78
KB
-rwxr-xr-x
2026-06-21 00:49
const_structs.checkpatch
1009
B
-rw-r--r--
2021-11-01 05:53
decode_stacktrace.sh
7.51
KB
-rwxr-xr-x
2026-06-21 00:49
decodecode
2.88
KB
-rwxr-xr-x
2021-11-01 05:53
depmod.sh
1.41
KB
-rwxr-xr-x
2021-11-01 05:53
dev-needs.sh
6.07
KB
-rwxr-xr-x
2021-11-01 05:53
diffconfig
4.12
KB
-rwxr-xr-x
2026-06-21 00:49
documentation-file-ref-check
5.55
KB
-rwxr-xr-x
2021-11-01 05:53
export_report.pl
4.5
KB
-rwxr-xr-x
2021-11-01 05:53
extract-cert.c
3.63
KB
-rw-r--r--
2026-06-21 00:49
extract-ikconfig
1.69
KB
-rwxr-xr-x
2021-11-01 05:53
extract-module-sig.pl
3.66
KB
-rwxr-xr-x
2021-11-01 05:53
extract-sys-certs.pl
3.75
KB
-rwxr-xr-x
2021-11-01 05:53
extract-vmlinux
1.66
KB
-rwxr-xr-x
2021-11-01 05:53
extract_xc3028.pl
44.62
KB
-rwxr-xr-x
2021-11-01 05:53
faddr2line
8.17
KB
-rwxr-xr-x
2026-06-21 00:49
file-size.sh
86
B
-rwxr-xr-x
2021-11-01 05:53
find-unused-docs.sh
1.27
KB
-rwxr-xr-x
2021-11-01 05:53
gcc-goto.sh
511
B
-rwxr-xr-x
2021-11-01 05:53
gcc-ld
711
B
-rwxr-xr-x
2021-11-01 05:53
gcc-x86_32-has-stack-protector.sh
405
B
-rwxr-xr-x
2026-06-21 00:49
gcc-x86_64-has-stack-protector.sh
195
B
-rwxr-xr-x
2026-06-21 00:49
gen_autoksyms.sh
1.47
KB
-rwxr-xr-x
2021-11-01 05:53
gen_ksymdeps.sh
556
B
-rwxr-xr-x
2021-11-01 05:53
generate_initcall_order.pl
5.95
KB
-rwxr-xr-x
2021-11-01 05:53
get_abi.pl
15.1
KB
-rwxr-xr-x
2026-06-21 00:49
get_dvb_firmware
24.54
KB
-rwxr-xr-x
2021-11-01 05:53
get_feat.pl
14.34
KB
-rwxr-xr-x
2021-11-01 05:53
get_maintainer.pl
67.13
KB
-rwxr-xr-x
2021-11-01 05:53
gfp-translate
1.69
KB
-rwxr-xr-x
2021-11-01 05:53
headerdep.pl
3.5
KB
-rwxr-xr-x
2021-11-01 05:53
headers_check.pl
3.73
KB
-rwxr-xr-x
2021-11-01 05:53
headers_install.sh
3.35
KB
-rwxr-xr-x
2021-11-01 05:53
insert-sys-cert.c
13.08
KB
-rw-r--r--
2026-06-21 00:49
jobserver-exec
2.16
KB
-rwxr-xr-x
2021-11-01 05:53
kallsyms.c
18.06
KB
-rw-r--r--
2021-11-01 05:53
kernel-doc
68.74
KB
-rwxr-xr-x
2026-06-21 00:49
ld-version.sh
1.82
KB
-rwxr-xr-x
2026-06-21 00:49
leaking_addresses.pl
12.8
KB
-rwxr-xr-x
2026-06-21 00:49
link-vmlinux.sh
10.92
KB
-rwxr-xr-x
2026-06-21 00:49
makelst
808
B
-rwxr-xr-x
2021-11-01 05:53
markup_oops.pl
7.92
KB
-rwxr-xr-x
2021-11-01 05:53
min-tool-version.sh
558
B
-rwxr-xr-x
2021-11-01 05:53
mkcompile_h
2.48
KB
-rwxr-xr-x
2021-11-01 05:53
mksysmap
1.34
KB
-rwxr-xr-x
2026-06-21 00:49
mkuboot.sh
414
B
-rwxr-xr-x
2021-11-01 05:53
module.lds.S
1.65
KB
-rw-r--r--
2026-06-21 00:49
modules-check.sh
427
B
-rwxr-xr-x
2021-11-01 05:53
nsdeps
1.72
KB
-rw-r--r--
2021-11-01 05:53
objdiff
2.84
KB
-rwxr-xr-x
2021-11-01 05:53
pahole-flags.sh
749
B
-rwxr-xr-x
2026-06-21 00:49
pahole-version.sh
269
B
-rwxr-xr-x
2026-06-21 00:49
parse-maintainers.pl
4.54
KB
-rwxr-xr-x
2021-11-01 05:53
patch-kernel
9.95
KB
-rwxr-xr-x
2021-11-01 05:53
profile2linkerlist.pl
414
B
-rwxr-xr-x
2021-11-01 05:53
prune-kernel
708
B
-rwxr-xr-x
2021-11-01 05:53
recordmcount.c
16.75
KB
-rw-r--r--
2026-06-21 00:49
recordmcount.h
19.37
KB
-rw-r--r--
2021-11-01 05:53
recordmcount.pl
17.63
KB
-rwxr-xr-x
2026-06-21 00:49
remove-stale-files
1.3
KB
-rwxr-xr-x
2021-11-01 05:53
setlocalversion
3.5
KB
-rwxr-xr-x
2021-11-01 05:53
show_delta
3.01
KB
-rwxr-xr-x
2021-11-01 05:53
sign-file.c
9.93
KB
-rw-r--r--
2026-06-21 00:49
sorttable.c
8.74
KB
-rw-r--r--
2026-06-21 00:49
sorttable.h
9.83
KB
-rw-r--r--
2026-06-21 00:49
spdxcheck-test.sh
277
B
-rw-r--r--
2021-11-01 05:53
spdxcheck.py
10.09
KB
-rwxr-xr-x
2021-11-01 05:53
spelling.txt
31.88
KB
-rw-r--r--
2021-11-01 05:53
sphinx-pre-install
24.45
KB
-rwxr-xr-x
2026-06-21 00:49
split-man.pl
604
B
-rwxr-xr-x
2021-11-01 05:53
stackdelta
1.84
KB
-rwxr-xr-x
2021-11-01 05:53
stackusage
794
B
-rwxr-xr-x
2021-11-01 05:53
subarch.include
619
B
-rw-r--r--
2021-11-01 05:53
syscallhdr.sh
1.89
KB
-rwxr-xr-x
2021-11-01 05:53
syscallnr.sh
1.45
KB
-rwxr-xr-x
2021-11-01 05:53
syscalltbl.sh
1.45
KB
-rwxr-xr-x
2021-11-01 05:53
tags.sh
9.87
KB
-rwxr-xr-x
2026-06-21 00:49
tools-support-relr.sh
546
B
-rwxr-xr-x
2021-11-01 05:53
ubuntu-retpoline-extract-one
7.26
KB
-rw-r--r--
2026-06-21 00:49
unifdef.c
34.8
KB
-rw-r--r--
2021-11-01 05:53
ver_linux
2.59
KB
-rwxr-xr-x
2021-11-01 05:53
xen-hypercalls.sh
386
B
-rwxr-xr-x
2021-11-01 05:53
xz_wrap.sh
563
B
-rwxr-xr-x
2021-11-01 05:53
Save
Rename
#!/bin/bash exec </dev/null object="$1" src="$2" bit16="$3" SECTION=".discard.retpoline_safe" # Form an associative lookup for the symbol numbers in the ELF symbol table. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. __symbolmap_init() { readelf -W --syms "$1" | awk '($4 == "SECTION" && $1 ~ /^[0-9]*:/) { printf("%08x %08x\n", int($1), int($7)); }' | \ while read symbol_num section_num do echo "symbolmap_$symbol_num='$section_num'" done } symbolmap_init() { eval $(__symbolmap_init "$1") } symbolmap() { eval RET="\$symbolmap_$1" if [ "$RET" = '' ]; then echo "symbolmap: $1: invalid section" 1>&2 exit 1 fi } # Form an associative lookup for the section numbers in the ELF symbol table. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. __sectionmap_init() { readelf -W --headers "$1" | \ awk ' { sub("\\[", ""); sub("\\]", ""); } ($1 ~ /^[0-9][0-9]*/) { printf("%08x %s %s %s\n", int($1), $2, $3, $4); } ' | \ { while read section_num section_name section_type section_vma do echo "sectionmap_$section_num='$section_name'" echo "sectionvma_$section_num='$section_vma'" case "$section_type" in REL|RELA) section_relocation="$section_type" ;; esac done echo "section_relocation='$section_relocation'" } } sectionmap_init() { eval $(__sectionmap_init "$1") } sectionmap() { eval RET="\$sectionmap_$1" if [ "$RET" = '' ]; then echo "sectionmap: $1: invalid section" 1>&2 exit 1 fi } sectionvma() { eval RET="\$sectionvma_$1" if [ "$RET" = '' ]; then echo "sectionvma: $1: invalid section" 1>&2 exit 1 fi } # Read and parse the hex-dump output. hex="[0-9a-f]" hex_8="$hex$hex$hex$hex$hex$hex$hex$hex" hexspc="[0-9a-f ]" hexspc_8="$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc" raw32() { readelf --hex-dump "$2" "$1" 2>/dev/null | sed \ -e '/^Hex/d' -e '/^$/d' -e '/^ *NOTE/d' \ -e 's/ *[^ ][^ ]* *\('"$hex_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) .*/\1 \2 \3 \4 /' \ -e 's/\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\) /\4\3\2\1 /g' \ -e 's/ $//g' -e 's/ /\n/g' } #-e 's/\([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) \([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) /\2\1 /g' \ rela() { #file="$(basename "$1")" file="$1" # Read relocation information for a 64bit binary. Each relocation entry # is 3 long longs so we collect 6 quads here. Note that the dump is in # listed in increasing byte order not withstanding the quad split. # # The record says to take the value of <symbol> add <symbol offset> and # shove that into <write offset> in the segment of the <symbol>. # # Format: # <write offset> 64 bits # <symbol number> 32 bits # <relocation type> 32 bits # <symbol offset> 64 bits raw32 "$1" ".rela$SECTION" | \ { a1=''; a2=''; a3=''; a4=''; a5='' while read a6 do [ "$a1" = '' ] && { a1="$a6"; continue; } [ "$a2" = '' ] && { a2="$a6"; continue; } [ "$a3" = '' ] && { a3="$a6"; continue; } [ "$a4" = '' ] && { a4="$a6"; continue; } [ "$a5" = '' ] && { a5="$a6"; continue; } #echo ">$a1< >$a2< >$a3< >$a4< >$a5< >$a6<" 1>&2 #echo "type<$a3> symbol<$a4> offset<$a2$a1> addr<$a6a5>" 1>&2 symbolmap "$a4"; section_num="$RET" #echo "section_num<$section_num>" 1>&2 sectionmap "$section_num"; section="$RET" sectionvma "$section_num"; vma="$RET" #echo "section<$section> vma<$vma>" 1>&2 # Adjust the segment addressing by the segment offset. printf -v addr "%u" "0x$a6$a5" printf -v vma "%u" "0x$vma" let offset="$addr + $vma" printf -v offset "%x" "$offset" echo "$file-$section-$offset" a1=''; a2=''; a3=''; a4=''; a5='' done } | sed -e 's/-00*\([0-9a-f]\)/-\1/' } # Form an associative lookup for the raw contents for an ELF section. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. contentmap_init() { raw32 "$1" "$2" >"$tmp" let offset=0 while read value do printf -v offset_hex "%08x" $offset eval contentmap_$offset_hex=\'$value\' let offset="$offset + 4" done <"$tmp" rm -f "$tmp" } contentmap() { eval RET="\$contentmap_$1" if [ "$RET" = '' ]; then echo "contentmap: $1: invalid offset" 1>&2 exit 1 fi } rel() { # Load up the current contents of the $SECTION segment # as the offsets (see below) are recorded there and we will need # those to calculate the actuall address. contentmap_init "$1" "$SECTION" #file="$(basename "$1")" file="$1" # Read relocation information for a 32bit binary. Each relocation entry # is 3 longs so we collect 3 quads here. Note that the dump is in # listed in increasing byte order not withstanding the quad split. # # The record says to take the value of <symbol> and add that to the # existing contents of <write offset> in the segment of the <symbol>. # # Format: # <write offset> 32 bits # <symbol number> 24 bits # <relocation type> 8 bits raw32 "$1" ".rel$SECTION" | \ { a1='' while read a2 do [ "$a1" = '' ] && { a1="$a2"; continue; } #echo ">$a1< >$a2<" contentmap "$a1"; offset="$RET" symbolmap "00${a2%??}"; section_num="$RET" sectionmap "$section_num"; section="$RET" sectionvma "$section_num"; vma="$RET" #echo ">$a1< >$a2< >$offset< >$section<" echo "$file-$section-$offset" a1='' done } | sed -e 's/-00*\([0-9a-f]\)/-\1/' } tmp=$(mktemp --tmpdir "retpoline-extract-XXXXXX") disassemble() { local object="$1" local src="$2" local options="$3" local selector="$4" objdump $options --disassemble --no-show-raw-insn "$object" | \ awk -F' ' ' BEGIN { file="'"$object"'"; src="'"$src"'"; } /Disassembly of section/ { segment=$4; sub(":", "", segment); } /^[0-9a-f][0-9a-f]* <.*>:/ { tag=$0; sub(".*<", "", tag); sub(">.*", "", tag); } $0 ~ /(call|jmp)q? *\*0x[0-9a-f]*\(%rip\)/ { next } $0 ~ /(call|jmp)q? *\*.*%/ { sub(":", "", $1); if ('"$selector"') { offset=$1 $1=tag print(file "-" segment "-" offset " " src " " segment " " $0); } } ' } # Accumulate potentially vunerable indirect call/jmp sequences. We do this # by examining the raw disassembly for affected forms, recording the location # of each. case "$bit16" in '') disassemble "$object" "$src" '' 'segment != ".init.text"' ;; *) disassemble "$object" "$src" '--disassembler-options=i8086' 'segment != ".init.text" && segment != ".text32" && segment != ".text64"' disassemble "$object" "$src" '--disassembler-options=i386' 'segment == ".text32"' disassemble "$object" "$src" '--disassembler-options=x86-64' 'segment == ".text64"' ;; esac | sort -k 1b,1 >"$object.ur-detected" [ ! -s "$object.ur-detected" ] && rm -f "$object.ur-detected" # Load up the symbol table and section mappings. symbolmap_init "$object" sectionmap_init "$object" # Accumulate annotated safe indirect call/jmp sequences. We do this by examining # the $SECTION sections (and their associated relocation information), # each entry represents the address of an instruction which has been marked # as ok. case "$section_relocation" in REL) rel "$object" ;; RELA) rela "$object" ;; esac | sort -k 1b,1 >"$object.ur-safe" [ ! -s "$object.ur-safe" ] && rm -f "$object.ur-safe" # We will perform the below join on the summarised and sorted fragments # formed above. This is performed in retpoline-check. #join -v 1 -j 1 "$tmp.extracted" "$tmp.safe" | sed -s 's/[^ ]* *//' rm -f "$tmp"