⬢ DragonFlyBSD Kernel Audit
DF-5658 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-5658",
  "title": "vkernel64 genassym.c defines only 5 of the 26 GD_* macros global.s consumes — 13 restorable exports silently vanish from every VKERNEL64 build (DF-5596 twin, incl. the task_log lead GD_CURRENTLDT at global.s:65)",
  "verdict": "reproduced",
  "impact": "none",
  "confidence": "certain",
  "reproduce": {
    "build": "cd /usr/src/sys/config && config VKKERNEL64 && cd /usr/src/sys/compile/VKERNEL64 && make assym.s global.o",
    "run": "nm global.o | grep ' U GD_'; link exact SYSTEM_LD; nm final binary",
    "expected": "21 undefined GD_* macros incl. GD_CURRENTLDT; only 5 backed gd_* exports; link exit 0; zero relocations against GD_*"
  },
  "kernel_refs": [
    "sys/platform/vkernel64/x86_64/genassym.c:72-121",
    "sys/platform/vkernel64/x86_64/global.s:51-97",
    "sys/platform/vkernel64/x86_64/global.s:65",
    "sys/platform/vkernel64/include/globaldata.h:66-84",
    "sys/platform/vkernel64/conf/Makefile:23-25",
    "sys/conf/kern.post.mk:73-79"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "verdict.json", "manifest.json",
    "offset_check.c", "offset_check.out",
    "nm_global_pristine.txt", "final_binary_baseline.txt", "final_binary_fixed.txt",
    "assym.pristine.s", "assym.fixed.s",
    "checker.cmd", "checker_build.log", "build.log", "run.log",
    "vkbuild.log", "link.log", "link2.log",
    "pristbuild.log", "fixbuild.log", "fixbuild2.log", "fix_build.log", "fix_run.log",
    "genassym.fixed.c", "global.fixed.s", "fix.diff", "hashes.txt", "env.txt"
  ]
}