DF-5443 / manifest.json
{ "finding_id": "DF-5443", "title": "pnp_read_bytes() error path abandons the grown buffer -> double free + leak in pnp_isolation_protocol()", "verdict": "reproduced", "impact": "panic", "confidence": "certain", "reproduce": { "build": "(cd /usr/src/sys/bus/isa/hack_dfa && make obj && make depend && make)", "run": "kldload /usr/obj/usr/src/sys/bus/isa/hack_dfa/rigdfa.ko", "expected": "baseline: kfree(1024-buffer) at growth, then kfree of the SAME address at isolation cleanup, then 'panic: memory chunk ... is already free!'; fixed kernel: cleanup kfree targets the grown buffer once, RC=0" }, "kernel_refs": [ "sys/bus/isa/pnp.c:493-526", "sys/bus/isa/pnp.c:517-518", "sys/bus/isa/pnp.c:576-580", "sys/bus/isa/pnp.c:673-674" ], "artifacts": [ "README.md", "VERDICT.md", "verdict.json", "manifest.json", "rig/pnprig.c", "rig/rigmod.h", "rig/hack_dfa/wrap.c", "rig/hack_dfa/Makefile", "rig/hack_dfb/wrap.c", "rig/hack_dfb/Makefile", "rig/hack_dfc/wrap.c", "rig/hack_dfc/Makefile", "rig/hack_dfd/wrap.c", "rig/hack_dfd/Makefile", "rig/build.sh", "rig/run_A.sh", "rig/run_BCD.sh", "run.log", "serial_runA_full.log", "panic.txt", "env.txt", "fix.diff", "fix_run.log", "fix_build.log" ] } |