{
  "verdict": "reproduced",
  "impact": "panic (privileged trigger; unprivileged leg yields EFAULT only)",
  "reproduce": {
    "build": "cc -O2 -pthread -o rtprio_sidl rtprio_sidl.c",
    "run": "./rtprio_sidl lookup        # unpriv: expect '[hit] ... EFAULT' + REPRODUCED\n./rtprio_sidl set          # root: expect guest panic 'Stopped at sys_rtprio+0x1b0: movl %eax,0x198(%rdx)'",
    "expected": "lookup: >=1 rtprio(RTP_LOOKUP) == -1/EFAULT with a valid user pointer (NULL-source read); set (root): Fatal user address access from kernel mode, fault va 0x198, supervisor write"
  },
  "kernel_refs": [
    "sys/kern/kern_resource.c:704",
    "sys/kern/kern_resource.c:707",
    "sys/kern/kern_resource.c:718",
    "sys/kern/kern_resource.c:748",
    "sys/kern/kern_fork.c:458",
    "sys/kern/kern_fork.c:491",
    "sys/kern/kern_fork.c:675",
    "sys/kern/kern_fork.c:848",
    "sys/kern/kern_fork.c:950",
    "sys/kern/kern_proc.c:524",
    "sys/platform/pc64/x86_64/trap.c:917",
    "sys/platform/pc64/x86_64/trap.c:990",
    "sys/kern/lwkt_token.c:539"
  ],
  "artifacts": [
    "rtprio_sidl.c", "build.sh", "run.sh",
    "run.log", "panic.txt", "panic_full_serial.log",
    "fixed_lookup.log", "fixed_set.log", "env.txt", "fix.diff",
    "README.md", "VERDICT.md", "manifest.json", "verdict.json"
  ]
}
