diff options
author | Max Spector <mspector@google.com> | 2020-04-22 15:56:02 -0700 |
---|---|---|
committer | Alistair Delva <adelva@google.com> | 2020-04-28 01:14:40 +0000 |
commit | 1c6dc7b582a447dc00cfd1581a17810b59c3c58a (patch) | |
tree | 4fc0617fff7beb9b675b4cc185d40c62f002ec02 | |
parent | f9e4dfc99901df6bc4305a4a1e2c571d88edb0fb (diff) | |
download | cuttlefish-modules-1c6dc7b582a447dc00cfd1581a17810b59c3c58a.tar.gz |
ANDROID: KASAN support for cuttlefish
Bug: 152792812
Change-Id: Icff314f0d3d5db83b742c499e20f4fe61d60f892
Signed-off-by: Max Spector <mspector@google.com>
-rw-r--r-- | build.config.cuttlefish.aarch64_kasan | 33 | ||||
-rw-r--r-- | build.config.cuttlefish.x86_64_kasan | 32 |
2 files changed, 65 insertions, 0 deletions
diff --git a/build.config.cuttlefish.aarch64_kasan b/build.config.cuttlefish.aarch64_kasan new file mode 100644 index 0000000..eeddeda --- /dev/null +++ b/build.config.cuttlefish.aarch64_kasan @@ -0,0 +1,33 @@ +. ${ROOT_DIR}/common/build.config.common +. ${ROOT_DIR}/common/build.config.aarch64 +. ${ROOT_DIR}/common/build.config.gki + +BUILD_INITRAMFS=1 +EXT_MODULES="cuttlefish-modules" +DEFCONFIG=cf_aarch_64_gki_defconfig +PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/cuttlefish-modules/cuttlefish.fragment" +POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG} && update_kasan_config" + +KERNEL_DIR=common +function update_kasan_config() { + ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \ + -e CONFIG_KASAN \ + -e CONFIG_KASAN_INLINE \ + -e CONFIG_KASAN_PANIC_ON_WARN \ + -e CONFIG_KCOV \ + -e CONFIG_PANIC_ON_WARN_DEFAULT_ENABLE \ + -d CONFIG_RANDOMIZE_BASE \ + -d CONFIG_KASAN_OUTLINE \ + --set-val CONFIG_FRAME_WARN 0 \ + -d LTO \ + -d LTO_CLANG \ + -d CFI \ + -d CFI_PERMISSIVE \ + -d CFI_CLANG \ + -d SHADOW_CALL_STACK + (cd ${OUT_DIR} && \ + make ${CC_LD_ARG} O=${OUT_DIR} olddefconfig) +} + +# Not saving any kernel images. This build step is meant purely to generate the .kos. +FILES="" diff --git a/build.config.cuttlefish.x86_64_kasan b/build.config.cuttlefish.x86_64_kasan new file mode 100644 index 0000000..5c9f75b --- /dev/null +++ b/build.config.cuttlefish.x86_64_kasan @@ -0,0 +1,32 @@ +. ${ROOT_DIR}/common/build.config.common +. ${ROOT_DIR}/common/build.config.x86_64 +. ${ROOT_DIR}/common/build.config_kasan.gki + +BUILD_INITRAMFS=1 +DEFCONFIG=cf_x86_64_gki_defconfig +PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/x86/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/x86/configs/gki_defconfig ${ROOT_DIR}/cuttlefish-modules/cuttlefish.fragment" +POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/x86/configs/${DEFCONFIG} && update_kasan_config" + +KERNEL_DIR=common +function update_kasan_config() { + ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \ + -e CONFIG_KASAN \ + -e CONFIG_KASAN_INLINE \ + -e CONFIG_KASAN_PANIC_ON_WARN \ + -e CONFIG_KCOV \ + -e CONFIG_PANIC_ON_WARN_DEFAULT_ENABLE \ + -d CONFIG_RANDOMIZE_BASE \ + -d CONFIG_KASAN_OUTLINE \ + --set-val CONFIG_FRAME_WARN 0 \ + -d LTO \ + -d LTO_CLANG \ + -d CFI \ + -d CFI_PERMISSIVE \ + -d CFI_CLANG \ + -d SHADOW_CALL_STACK + (cd ${OUT_DIR} && \ + make ${CC_LD_ARG} O=${OUT_DIR} olddefconfig) +} + +# Not saving any kernel images. This build step is meant purely to generate the .kos. +FILES="" |