oss-fuzz/infra/base-images/base-runner/run_minijail

58 lines
1.6 KiB
Plaintext
Raw Normal View History

2017-10-16 22:54:58 +00:00
#!/bin/bash -eu
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################
rm -rf /tmp/chroot
mkdir /tmp/chroot
mkdir /tmp/chroot/lib
mkdir /tmp/chroot/lib64
mkdir /tmp/chroot/usr
mkdir /tmp/chroot/usr/lib
mkdir /tmp/chroot/dev
mknod -m 666 /tmp/chroot/dev/null c 1 3
mknod -m 666 /tmp/chroot/dev/urandom c 1 9
mkdir /tmp/chroot/proc
mkdir /tmp/chroot/tmp
mkdir /tmp/chroot/bin
cp /bin/sh /tmp/chroot/bin/sh
cp $(which llvm-symbolizer) /tmp/chroot/bin/llvm-symbolizer
2017-10-17 15:55:37 +00:00
FULL_EXE_PATH=$(readlink -f $1)
EXE_DIR=$(dirname $FULL_EXE_PATH)
2017-10-16 22:54:58 +00:00
mkdir -p /tmp/chroot/$EXE_DIR
2017-10-17 15:55:37 +00:00
shift
echo 'Running:'
echo minijail0 -U -m \"0 $UID 1\" -T static \
-c 0 -n -e -v -p -l -I \
-k proc,/proc,proc,1 -P /tmp/chroot \
-b /lib,/lib,0 -b /lib64,/lib64,0 -b /usr/lib,/usr/lib,0 \
-b /tmp,/tmp,1 \
-b $EXE_DIR,$EXE_DIR,0 $FULL_EXE_PATH $@
2017-10-16 22:54:58 +00:00
minijail0 -U -m "0 $UID 1" -T static \
-c 0 -n -e -v -p -l -I \
-k proc,/proc,proc,1 -P /tmp/chroot \
-b /lib,/lib,0 -b /lib64,/lib64,0 -b /usr/lib,/usr/lib,0 \
-b /tmp,/tmp,1 \
2017-10-17 15:55:37 +00:00
-b $EXE_DIR,$EXE_DIR,0 $FULL_EXE_PATH $@