{
  "verdict": "reproduced",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "guest: cd /tmp/df4961 && make   (compiles the REAL /usr/src/sys/dev/drm/amd/amdgpu/amdgpu_i2c.c + /usr/src/sys/dev/drm/linux_i2c.c with -Werror plus agi2c_probe.c; host wrapper: ./build.sh)",
    "run": "guest: kldload -v /tmp/df4961/agi2c.ko   (baseline: panic at i2c_transfer+0x2b; fix cycle: ./run.sh phase 2)",
    "expected": "baseline: 'agi2c: adapter.lock_ops=0' then 'Fatal trap 12 ... fault virtual address = 0x0 ... Stopped at i2c_transfer+0x2b: movq (%rax),%rax', guest down; patched (fix.diff = radeon's #ifdef __DragonFly__ i2c_add_adapter call): 'adapter.lock_ops=0xffffffff826025d0', router_select completes over the compat bit_xfer stub, KLDLOAD2_OK + KLDUNLOAD_OK, guest stays up"
  },
  "kernel_refs": [
    "sys/dev/drm/amd/amdgpu/amdgpu_i2c.c:193-212",
    "sys/dev/drm/amd/amdgpu/amdgpu_i2c.c:207",
    "sys/dev/drm/linux_i2c.c:45-55",
    "sys/dev/drm/linux_i2c.c:92-104",
    "sys/dev/drm/linux_i2c.c:99",
    "sys/dev/drm/linux_i2c.c:128-134",
    "sys/dev/drm/radeon/radeon_i2c.c:969-973",
    "sys/dev/drm/drm_dp_helper.c:1124",
    "sys/dev/drm/amd/amdgpu/amdgpu_connectors.c:308-313",
    "sys/dev/drm/drm_edid.c:1552",
    "sys/dev/drm/amd/amdgpu/amdgpu_i2c.c:284-316",
    "sys/dev/drm/amd/amdgpu/amdgpu_i2c.c:341-366",
    "sys/dev/drm/amd/amdgpu/amdgpu_drv.c:88"
  ],
  "artifacts": [
    "agi2c_probe.c", "Makefile", "build.sh", "run.sh",
    "build.log", "build.2.log", "run.log", "run.2.log", "panic.txt",
    "env.txt", "fix.diff", "README.md", "VERDICT.md", "manifest.json",
    "verdict.json"
  ]
}
