root@kali:~
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
=
Set
default KERNEL_DIR:
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
build
-
configs
=
The final value
for
KERNEL_DIR: goldfish
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
build config:
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
..
/
build
-
configs
/
goldfish.x86_64.kasan
ARCH
=
x86_64
BRANCH
=
kasan
CC
=
clang
CLANG_PREBUILT_BIN
=
prebuilts
-
master
/
clang
/
host
/
linux
-
x86
/
clang
-
r377782b
/
bin
BUILDTOOLS_PREBUILT_BIN
=
build
/
build
-
tools
/
path
/
linux
-
x86
CLANG_TRIPLE
=
x86_64
-
linux
-
gnu
-
CROSS_COMPILE
=
x86_64
-
linux
-
androidkernel
-
LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN
=
prebuilts
/
gcc
/
linux
-
x86
/
x86
/
x86_64
-
linux
-
android
-
4.9
/
bin
KERNEL_DIR
=
goldfish
EXTRA_CMDS
=
''
STOP_SHIP_TRACEPRINTK
=
1
FILES
=
"
arch
/
x86
/
boot
/
bzImage
vmlinux
System.
map
"
DEFCONFIG
=
x86_64_ranchu_defconfig
POST_DEFCONFIG_CMDS
=
"check_defconfig && update_kasan_config"
function update_kasan_config() {
${KERNEL_DIR}
/
scripts
/
config
-
-
file
${OUT_DIR}
/
.config \
-
e CONFIG_KASAN \
-
e CONFIG_KASAN_INLINE \
-
e CONFIG_TEST_KASAN \
-
e CONFIG_KCOV \
-
e CONFIG_SLUB \
-
e CONFIG_SLUB_DEBUG \
-
e CONFIG_SLUB_DEBUG_ON \
-
d CONFIG_SLUB_DEBUG_PANIC_ON \
-
d CONFIG_KASAN_OUTLINE \
-
d CONFIG_KERNEL_LZ4 \
-
d CONFIG_RANDOMIZE_BASE
(cd ${OUT_DIR} && \
make O
=
${OUT_DIR} $archsubarch CROSS_COMPILE
=
${CROSS_COMPILE} olddefconfig)
}
PATH
=
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
build
/
build
-
tools
/
path
/
linux
-
x86:
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
prebuilts
-
master
/
clang
/
host
/
linux
-
x86
/
clang
-
r377782b
/
bin
:
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
prebuilts
/
gcc
/
linux
-
x86
/
x86
/
x86_64
-
linux
-
android
-
4.9
/
bin
:
/
usr
/
local
/
sbin:
/
usr
/
local
/
bin
:
/
usr
/
sbin:
/
usr
/
bin
:
/
sbin:
/
bin
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
Setting up
for
build
+
cd goldfish
+
make CC
=
clang HOSTCC
=
clang O
=
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
out
/
kasan
/
goldfish
-
v mrproper
GNU Make
4.2
.
1
Built
for
x86_64
-
pc
-
linux
-
gnu
Copyright (C)
1988
-
2016
Free Software Foundation, Inc.
License GPLv3
+
: GNU GPL version
3
or
later <http:
/
/
gnu.org
/
licenses
/
gpl.html>
This
is
free software: you are free to change
and
redistribute it.
There
is
NO WARRANTY, to the extent permitted by law.
+
set
+
x
+
cd goldfish
+
make CC
=
clang HOSTCC
=
clang O
=
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
out
/
kasan
/
goldfish
-
v x86_64_ranchu_defconfig
GNU Make
4.2
.
1
Built
for
x86_64
-
pc
-
linux
-
gnu
Copyright (C)
1988
-
2016
Free Software Foundation, Inc.
License GPLv3
+
: GNU GPL version
3
or
later <http:
/
/
gnu.org
/
licenses
/
gpl.html>
This
is
free software: you are free to change
and
redistribute it.
There
is
NO WARRANTY, to the extent permitted by law.
+
set
+
x
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
Running pre
-
make command(s):
+
eval
check_defconfig
'&&'
update_kasan_config
+
+
check_defconfig
+
+
cd
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
out
/
kasan
/
goldfish
+
+
make CC
=
clang HOSTCC
=
clang O
=
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
out
/
kasan
/
goldfish savedefconfig
GEN .
/
Makefile
scripts
/
kconfig
/
conf
-
-
savedefconfig
=
defconfig Kconfig
+
+
'['
x86_64
=
x86_64
-
o x86_64
=
i386
']'
+
+
local ARCH
=
x86
+
+
echo Verifying that savedefconfig matches goldfish
/
arch
/
x86
/
configs
/
x86_64_ranchu_defconfig
Verifying that savedefconfig matches goldfish
/
arch
/
x86
/
configs
/
x86_64_ranchu_defconfig
+
+
RES
=
0
+
+
diff
-
u goldfish
/
arch
/
x86
/
configs
/
x86_64_ranchu_defconfig
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
out
/
kasan
/
goldfish
/
defconfig
-
-
-
goldfish
/
arch
/
x86
/
configs
/
x86_64_ranchu_defconfig
2021
-
05
-
09
07
:
09
:
16.014245412
+
0000
+
+
+
/
root
/
android
-
kernel
-
exploit
/
android
-
kernel
-
exploitation
/
android
-
4.14
-
dev
/
out
/
kasan
/
goldfish
/
defconfig
2021
-
05
-
09
08
:
19
:
18.426351652
+
0000
@@
-
60
,
6
+
60
,
7
@@
CONFIG_HZ_100
=
y
CONFIG_PHYSICAL_START
=
0x100000
+
CONFIG_CMDLINE_BOOL
=
y
CONFIG_CMDLINE
=
"nopti"
CONFIG_PM_WAKELOCKS
=
y
@@
-
451
,
7
+
452
,
12
@@
CONFIG_MAGIC_SYSRQ
=
y
+
CONFIG_SLUB_DEBUG_ON
=
y
CONFIG_DEBUG_MEMORY_INIT
=
y
+
CONFIG_KASAN
=
y
+
CONFIG_KASAN_INLINE
=
y
+
CONFIG_TEST_KASAN
=
m
+
CONFIG_KCOV
=
y
CONFIG_HARDLOCKUP_DETECTOR
=
y
CONFIG_PANIC_TIMEOUT
=
5
CONFIG_SCHEDSTATS
=
y
+
+
RES
=
1
+
+
'['
1
-
ne
0
']'
+
+
echo ERROR: savedefconfig does
not
match goldfish
/
arch
/
x86
/
configs
/
x86_64_ranchu_defconfig
ERROR: savedefconfig does
not
match goldfish
/
arch
/
x86
/
configs
/
x86_64_ranchu_defconfig
+
+
return
1