DF-4750 / manifest.json
{ "finding_id": "DF-4750", "verdict": "reproduced", "impact": "none", "severity": "Info", "confidence": "certain", "summary": "nmdmioctl()'s TIOCCDTR handler (nmdm.c:565) ANDs modemsignals with TIOCM_DTR instead of ~TIOCM_DTR: clearing DTR keeps DTR set and wipes every other local modem bit (LE, RTS), and via nmdm_crossover() the peer's carrier never drops.", "reproduce": { "build": "cc -O -Wall -o /tmp/nmdm_probe nmdm_probe.c", "run": "./run.sh", "expected": "after TIOCMSET(LE|DTR|RTS)+TIOCCDTR, TIOCMGET returns 0x0002 (DTR stuck SET, RTS/LE wiped). After the fix: 0x0005 (DTR cleared, RTS/LE intact)." }, "kernel_refs": ["sys/dev/misc/nmdm/nmdm.c:564", "sys/dev/misc/nmdm/nmdm.c:565", "sys/dev/misc/nmdm/nmdm.c:606"], "artifacts": [ "README.md", "VERDICT.md", "nmdm_probe.c", "build.sh", "run.sh", "run.log", "env.txt", "fix.diff", "fix_build.log", "fix_run.log", "manifest.json", "verdict.json" ] } |