mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-27 13:20:34 +00:00
6c19c36919
1. Use MAKE_ARGS var to pass arguments to make. 2. Pass -m to merge_config.sh to avoid calling make without CC. 3. Make util_add_syzbot_extra_bits() operate on .config.
66 lines
2.1 KiB
Bash
Executable File
66 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script provides utility functions, don't use it directly.
|
|
|
|
set -eux
|
|
|
|
[ -z "${CC}" ] && echo 'Please set $CC to point to the compiler!' && exit
|
|
|
|
THIS_DIR=`cd $(dirname $0); pwd`
|
|
MAKE_VARS="CC=${CC}"
|
|
SYZBOT_BITS=${THIS_DIR}/bits-syzbot.config
|
|
|
|
function util_add_syzbot_bits {
|
|
scripts/kconfig/merge_config.sh -m .config $SYZBOT_BITS
|
|
make ${MAKE_VARS} olddefconfig
|
|
}
|
|
|
|
function util_add_usb_bits {
|
|
MERGE_USB_SCRIPT=${THIS_DIR}/kconfiglib-merge-usb-configs.py
|
|
|
|
git clone --depth=1 https://github.com/ulfalizer/Kconfiglib.git
|
|
wget -qO- https://raw.githubusercontent.com/ulfalizer/Kconfiglib/master/makefile.patch | patch -p1
|
|
for config in ${THIS_DIR}/distros/*; do
|
|
make ${MAKE_VARS} scriptconfig SCRIPT=${MERGE_USB_SCRIPT} SCRIPT_ARG=${config}
|
|
done
|
|
git checkout ./scripts/kconfig/Makefile
|
|
rm -rf ./Kconfiglib
|
|
|
|
scripts/config -d CONFIG_USB_CONFIGFS
|
|
scripts/config -d CONFIG_USB_LIBCOMPOSITE
|
|
|
|
scripts/config -d CONFIG_USB_G_NCM
|
|
scripts/config -d CONFIG_USB_G_SERIAL
|
|
scripts/config -d CONFIG_USB_G_PRINTER
|
|
scripts/config -d CONFIG_USB_G_NOKIA
|
|
scripts/config -d CONFIG_USB_G_ACM_MS
|
|
scripts/config -d CONFIG_USB_G_MULTI
|
|
scripts/config -d CONFIG_USB_G_HID
|
|
scripts/config -d CONFIG_USB_G_DBGP
|
|
scripts/config -d CONFIG_USB_G_WEBCAM
|
|
|
|
scripts/config -e CONFIG_USB_GADGET
|
|
scripts/config -e CONFIG_USB_GADGETFS
|
|
scripts/config -e CONFIG_USB_DUMMY_HCD
|
|
scripts/config -e CONFIG_USB_FUZZER
|
|
|
|
make ${MAKE_VARS} olddefconfig
|
|
}
|
|
|
|
function util_add_syzbot_extra_bits {
|
|
TMP_FILE=$(mktemp /tmp/syzkaller.XXXXXX)
|
|
echo "# The following configs are added manually, preserve them.
|
|
# CONFIG_DEBUG_MEMORY was once added to mm tree and cause disabling of KASAN,
|
|
# which in turn caused storm of assorted crashes after silent memory
|
|
# corruptions. The config was reverted, but we keep it here for the case
|
|
# it is reintroduced to kernel again.
|
|
CONFIG_DEBUG_MEMORY=y
|
|
# This config can be used to enable any additional temporal debugging
|
|
# features in linux-next tree.
|
|
CONFIG_DEBUG_AID_FOR_SYZBOT=y
|
|
" > ${TMP_FILE}
|
|
cat .config >> ${TMP_FILE}
|
|
mv ${TMP_FILE} .config
|
|
rm -rf ${TMP_FILE}
|
|
}
|