DF-5514 / manifest.json
{ "finding_id": "DF-5514", "title": "ipheth_attach() failure paths call ipheth_detach() on a never-attached usb_ether -> deterministic kernel panic at evil-USB plug-in (lockmgr through NULL ue_lock on branches 1-2; ether_ifdetach on never-if_attach()ed embedded ifnet on branches 3-4) — 9th instance of the DF-5334 uether goto-detach class", "verdict": "reproduced", "impact": "panic", "reproduce": { "build": "in-guest: mkdir -p /root/df5514 && cd /root/df5514 && make -m /usr/src/share/mk # -Werror clean", "run": "in-guest: kldload -v /root/df5514/ipheth_poc.ko # baseline: Fatal trap 12 VA 0x0 (stock uether.ko auto-loaded); patched: SURVIVED + KLDLOAD_RC=0", "expected": "baseline serial: 3 ipheth_poc markers -> 'Fatal trap 12: page fault while in kernel mode', 'fault virtual address = 0x0', 'Stopped at lockmgr_exclusive+0x5d: orl (%r14),%esi', guest dead in DDB (panic.txt); patched: 'ipheth_poc: SURVIVED uether_ifdetach()', KLDLOAD_RC=0, kldunload clean, dmesg Fatal-trap count 0 (run.log)" }, "kernel_refs": [ "sys/bus/u4b/net/if_ipheth.c:217-265", "sys/bus/u4b/net/if_ipheth.c:225-229", "sys/bus/u4b/net/if_ipheth.c:231-236", "sys/bus/u4b/net/if_ipheth.c:237-247", "sys/bus/u4b/net/if_ipheth.c:249-259", "sys/bus/u4b/net/if_ipheth.c:262-264", "sys/bus/u4b/net/if_ipheth.c:267-281", "sys/bus/u4b/net/if_ipheth.c:274", "sys/bus/u4b/net/if_ipheth.c:276", "sys/bus/u4b/net/usb_ethernet.c:133-137", "sys/bus/u4b/net/usb_ethernet.c:162-189", "sys/bus/u4b/net/usb_ethernet.c:267-305", "sys/bus/u4b/net/usb_ethernet.c:549-560", "sys/bus/u4b/net/usb_ethernet.h:80-84", "sys/bus/u4b/usb_process.c:397-410", "sys/kern/subr_bus.c:1953" ], "artifacts": [ "ipheth_poc.c", "Makefile", "build.sh", "run.sh", "build.log", "panic.txt", "run.log", "fix_build.log", "fix_smoke.log", "env.txt", "fix.diff", "VERDICT.md", "manifest.json", "verdict.json" ] } |