
runc rc95 contains a fix for CVE-2021-30465. runc rc94 provides fixes and improvements. One notable change is cgroup manager's Set now accept Resources rather than Cgroup (see https://github.com/opencontainers/runc/pull/2906). Modify the code accordingly. Also update runc dependencies (as hinted by hack/lint-depdendencies.sh): github.com/cilium/ebpf v0.5.0 github.com/containerd/console v1.0.2 github.com/coreos/go-systemd/v22 v22.3.1 github.com/godbus/dbus/v5 v5.0.4 github.com/moby/sys/mountinfo v0.4.1 golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 github.com/google/go-cmp v0.5.4 github.com/kr/pretty v0.2.1 github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
71 lines
2.1 KiB
Bash
71 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright 2019 The Go Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
set -e
|
|
shopt -s nullglob
|
|
|
|
winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)"
|
|
[[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; }
|
|
ntstatus="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/ntstatus.h | sort -Vr | head -n 1)"
|
|
[[ -n $ntstatus ]] || { echo "Unable to find ntstatus.h" >&2; exit 1; }
|
|
|
|
declare -A errors
|
|
|
|
{
|
|
echo "// Code generated by 'mkerrors.bash'; DO NOT EDIT."
|
|
echo
|
|
echo "package windows"
|
|
echo "import \"syscall\""
|
|
echo "const ("
|
|
|
|
while read -r line; do
|
|
unset vtype
|
|
if [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?([A-Z][A-Z0-9_]+k?)\)? ]]; then
|
|
key="${BASH_REMATCH[1]}"
|
|
value="${BASH_REMATCH[3]}"
|
|
elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?((0x)?[0-9A-Fa-f]+)L?\)? ]]; then
|
|
key="${BASH_REMATCH[1]}"
|
|
value="${BASH_REMATCH[3]}"
|
|
vtype="${BASH_REMATCH[2]}"
|
|
elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +\(\(([A-Z]+)\)((0x)?[0-9A-Fa-f]+)L?\) ]]; then
|
|
key="${BASH_REMATCH[1]}"
|
|
value="${BASH_REMATCH[3]}"
|
|
vtype="${BASH_REMATCH[2]}"
|
|
else
|
|
continue
|
|
fi
|
|
[[ -n $key && -n $value ]] || continue
|
|
[[ -z ${errors["$key"]} ]] || continue
|
|
errors["$key"]="$value"
|
|
if [[ -v vtype ]]; then
|
|
if [[ $key == FACILITY_* || $key == NO_ERROR ]]; then
|
|
vtype=""
|
|
elif [[ $vtype == *HANDLE* || $vtype == *HRESULT* ]]; then
|
|
vtype="Handle"
|
|
else
|
|
vtype="syscall.Errno"
|
|
fi
|
|
last_vtype="$vtype"
|
|
else
|
|
vtype=""
|
|
if [[ $last_vtype == Handle && $value == NO_ERROR ]]; then
|
|
value="S_OK"
|
|
elif [[ $last_vtype == syscall.Errno && $value == NO_ERROR ]]; then
|
|
value="ERROR_SUCCESS"
|
|
fi
|
|
fi
|
|
|
|
echo "$key $vtype = $value"
|
|
done < "$winerror"
|
|
|
|
while read -r line; do
|
|
[[ $line =~ ^#define\ (STATUS_[^\s]+)\ +\(\(NTSTATUS\)((0x)?[0-9a-fA-F]+)L?\) ]] || continue
|
|
echo "${BASH_REMATCH[1]} NTStatus = ${BASH_REMATCH[2]}"
|
|
done < "$ntstatus"
|
|
|
|
echo ")"
|
|
} | gofmt > "zerrors_windows.go"
|