--- sysutils/lsof/files/patch-dialects_freebsd_dproc.c (nonexistent) +++ sysutils/lsof/files/patch-dialects_freebsd_dproc.c (working copy) @@ -0,0 +1,27 @@ +--- dialects/freebsd/dproc.c.orig 2019-05-08 09:32:25.000000000 +0200 ++++ dialects/freebsd/dproc.c 2019-12-17 14:59:19.905502000 +0100 +@@ -655,7 +655,15 @@ kread(addr, buf, len) + return((br == len) ? 0 : 1); + } + ++static int ++procstat_vm_map_reader(void *token, vm_map_entry_t addr, vm_map_entry_t dest) ++{ ++ kvm_t *kd; + ++ kd = (kvm_t *)token; ++ return (kvm_read(kd, (unsigned long)addr, dest, sizeof(*dest))); ++} ++ + /* + * process_text() - process text information + */ +@@ -690,7 +698,7 @@ process_text(vm) + if (i == 0) + e = &vmsp.vm_map.header; + else { +- if (!(ka = (KA_T)e->next)) ++ if (!(ka = (KA_T)vm_map_entry_read_succ(Kd, e, procstat_vm_map_reader))) + return; + e = &vmme; + if (kread(ka, (char *)e, sizeof(vmme)))