DF-4364 / manifest.json
{ "finding_id": "DF-4364", "file": "sys/dev/raid/mps/mps_config.c", "title": "mps_config getters free the mps_command while the IOC still owns it after mps_request_polled timeout - late completion UAF / cross-request completion confusion", "verdict": "reproduced", "impact": "panic", "reproduce": { "build": "cc -O2 -Wall -o harness harness.c", "run": "./harness", "expected": "2/2 scenarios print !! invariant violations (cross-request completion with stale CONFIG reply, foreign cm_reply fields on a BUSY SCSI IO command, foreign reply-slot free; stale fields + double-booked reply slot on a FREE cm) and exit 1; ./harness_fixed (fix.diff model) prints invariants hold and exits 0" }, "kernel_refs": [ "sys/dev/raid/mps/mps.c:2140", "sys/dev/raid/mps/mps_config.c:167", "sys/dev/raid/mps/mpsvar.h:514", "sys/dev/raid/mps/mps.c:1581", "sys/dev/raid/mps/mps.c:1405", "sys/dev/raid/mpr/mpr.c:3557" ], "artifacts": [ "harness.c", "build.sh", "run.sh", "run.log", "env.txt", "fix.diff", "README.md", "VERDICT.md", "manifest.json", "verdict.json" ] } |