⬢ DragonFlyBSD Kernel Audit
DF-5447 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-5447",
  "title": "uvscom_pre_param() inverted switch: every baud rate including all 11 supported ones rejected EINVAL; port can never be programmed",
  "verdict": "reproduced",
  "impact": "dos",
  "confidence": "certain",
  "reproduce": {
    "build": "cd /usr/src/sys/bus/u4b/serial/hx5447 && make   (in-tree kmod; harness #includes the production uvscom.c)",
    "run": "kldload ./uvscompreparam.ko; kldunload uvscompreparam; dmesg | grep UVS5447",
    "expected": "baseline: pre_param(B150..B115200) = 22 (EINVAL -- REJECTED) for all 11; 'SUPPORTED speeds accepted: 0/11 (BUG...)'; after fix.diff: '11/11 (fixed)'"
  },
  "kernel_refs": [
    "sys/bus/u4b/serial/uvscom.c:514-533",
    "sys/bus/u4b/serial/usb_serial.c:842",
    "sys/bus/u4b/serial/usb_serial.c:1678-1693"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "uvscom_preparam_harness.c", "Makefile",
    "build.sh", "run.sh", "build.log", "run.log", "run.fixed.log",
    "fix_build.log", "fix_run.log", "fix.diff", "env.txt",
    "manifest.json", "verdict.json"
  ]
}