Upgrade containerd/cgroups to remove github.com/cilium/ebpf's fuzzer
The fuzzer is broken and it breaks OSS-Fuzz according to #7288. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
This commit is contained in:
		
							
								
								
									
										62
									
								
								vendor/github.com/cilium/ebpf/run-tests.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								vendor/github.com/cilium/ebpf/run-tests.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
# Test the current package under a different kernel.
 | 
			
		||||
# Requires virtme and qemu to be installed.
 | 
			
		||||
# Examples:
 | 
			
		||||
@@ -48,21 +48,31 @@ if [[ "${1:-}" = "--exec-vm" ]]; then
 | 
			
		||||
    rm "${output}/fake-stdin"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if ! $sudo virtme-run --kimg "${input}/bzImage" --memory 768M --pwd \
 | 
			
		||||
    --rwdir="${testdir}=${testdir}" \
 | 
			
		||||
    --rodir=/run/input="${input}" \
 | 
			
		||||
    --rwdir=/run/output="${output}" \
 | 
			
		||||
    --script-sh "PATH=\"$PATH\" \"$script\" --exec-test $cmd" \
 | 
			
		||||
    --kopt possible_cpus=2; then # need at least two CPUs for some tests
 | 
			
		||||
    exit 23
 | 
			
		||||
  fi
 | 
			
		||||
  for ((i = 0; i < 3; i++)); do
 | 
			
		||||
    if ! $sudo virtme-run --kimg "${input}/bzImage" --memory 768M --pwd \
 | 
			
		||||
      --rwdir="${testdir}=${testdir}" \
 | 
			
		||||
      --rodir=/run/input="${input}" \
 | 
			
		||||
      --rwdir=/run/output="${output}" \
 | 
			
		||||
      --script-sh "PATH=\"$PATH\" CI_MAX_KERNEL_VERSION="${CI_MAX_KERNEL_VERSION:-}" \"$script\" --exec-test $cmd" \
 | 
			
		||||
      --kopt possible_cpus=2; then # need at least two CPUs for some tests
 | 
			
		||||
      exit 23
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -e "${output}/status" ]]; then
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -v CI ]]; then
 | 
			
		||||
      echo "Retrying test run due to qemu crash"
 | 
			
		||||
      continue
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
  if [[ ! -e "${output}/success" ]]; then
 | 
			
		||||
    exit 42
 | 
			
		||||
  fi
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  rc=$(<"${output}/status")
 | 
			
		||||
  $sudo rm -r "$output"
 | 
			
		||||
  exit 0
 | 
			
		||||
  exit $rc
 | 
			
		||||
elif [[ "${1:-}" = "--exec-test" ]]; then
 | 
			
		||||
  shift
 | 
			
		||||
 | 
			
		||||
@@ -73,13 +83,16 @@ elif [[ "${1:-}" = "--exec-test" ]]; then
 | 
			
		||||
    export KERNEL_SELFTESTS="/run/input/bpf"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  dmesg -C
 | 
			
		||||
  if ! "$@"; then
 | 
			
		||||
    dmesg
 | 
			
		||||
    exit 1 # this return code is "swallowed" by qemu
 | 
			
		||||
  if [[ -f "/run/input/bpf/bpf_testmod/bpf_testmod.ko" ]]; then
 | 
			
		||||
    insmod "/run/input/bpf/bpf_testmod/bpf_testmod.ko"
 | 
			
		||||
  fi
 | 
			
		||||
  touch "/run/output/success"
 | 
			
		||||
  exit 0
 | 
			
		||||
 | 
			
		||||
  dmesg --clear
 | 
			
		||||
  rc=0
 | 
			
		||||
  "$@" || rc=$?
 | 
			
		||||
  dmesg
 | 
			
		||||
  echo $rc > "/run/output/status"
 | 
			
		||||
  exit $rc # this return code is "swallowed" by qemu
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
readonly kernel_version="${1:-}"
 | 
			
		||||
@@ -90,22 +103,27 @@ fi
 | 
			
		||||
shift
 | 
			
		||||
 | 
			
		||||
readonly kernel="linux-${kernel_version}.bz"
 | 
			
		||||
readonly selftests="linux-${kernel_version}-selftests-bpf.bz"
 | 
			
		||||
readonly selftests="linux-${kernel_version}-selftests-bpf.tgz"
 | 
			
		||||
readonly input="$(mktemp -d)"
 | 
			
		||||
readonly tmp_dir="${TMPDIR:-/tmp}"
 | 
			
		||||
readonly branch="${BRANCH:-master}"
 | 
			
		||||
 | 
			
		||||
fetch() {
 | 
			
		||||
    echo Fetching "${1}"
 | 
			
		||||
    wget -nv -N -P "${tmp_dir}" "https://github.com/cilium/ci-kernels/raw/${branch}/${1}"
 | 
			
		||||
    pushd "${tmp_dir}" > /dev/null
 | 
			
		||||
    curl -s -L -O --fail --etag-compare "${1}.etag" --etag-save "${1}.etag" "https://github.com/cilium/ci-kernels/raw/${branch}/${1}"
 | 
			
		||||
    local ret=$?
 | 
			
		||||
    popd > /dev/null
 | 
			
		||||
    return $ret
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fetch "${kernel}"
 | 
			
		||||
cp "${tmp_dir}/${kernel}" "${input}/bzImage"
 | 
			
		||||
 | 
			
		||||
if fetch "${selftests}"; then
 | 
			
		||||
  echo "Decompressing selftests"
 | 
			
		||||
  mkdir "${input}/bpf"
 | 
			
		||||
  tar --strip-components=4 -xjf "${tmp_dir}/${selftests}" -C "${input}/bpf"
 | 
			
		||||
  tar --strip-components=4 -xf "${tmp_dir}/${selftests}" -C "${input}/bpf"
 | 
			
		||||
else
 | 
			
		||||
  echo "No selftests found, disabling"
 | 
			
		||||
fi
 | 
			
		||||
@@ -117,6 +135,8 @@ fi
 | 
			
		||||
 | 
			
		||||
export GOFLAGS=-mod=readonly
 | 
			
		||||
export CGO_ENABLED=0
 | 
			
		||||
# LINUX_VERSION_CODE test compares this to discovered value.
 | 
			
		||||
export KERNEL_VERSION="${kernel_version}"
 | 
			
		||||
 | 
			
		||||
echo Testing on "${kernel_version}"
 | 
			
		||||
go test -exec "$script --exec-vm $input" "${args[@]}"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user