DragonFlyBSD Kernel Audit
DF-1164 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-1164 runtime test — NOT EXECUTABLE ON THIS GUEST (no AMD Sea Islands GPU).
# The bug requires amdgpu to attach to a CIK-era AMD GPU and then attempt to
# load a crafted firmware blob whose header declares ucode_size_bytes larger
# than the blob actually contains. The QEMU guest has no AMD GPU.
set -e
echo "DF-1164: gfx_v7_0 CP/MEC/RLC firmware loader OOB read"
echo "------------------------------------------------------"
echo "PREREQ: AMD Sea Islands (CIK) GPU + crafted firmware with oversized"
echo "        ucode_size_bytes in the common firmware header."
echo
pciconf -lv 2>/dev/null | grep -i 'amd.*display\|radeon\|amdgpu' || true
if ! pciconf -lv 2>/dev/null | grep -q -i 'amd.*display\|radeon'; then
    echo "no AMD GPU present — cannot trigger"
    exit 0
fi
echo "On a vulnerable kernel with an AMD CIK GPU + crafted firmware blob,"
echo "the PFP/CE/ME/MEC1/MEC2/RLC loader loops would read past the blob"
echo "into adjacent kernel heap."