diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index ab41a5a4d934..6c6101bc86d3 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -1146,7 +1146,7 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) vm_map_entry_t entry, tmp_entry; vm_object_t obj, tobj, lobj; vm_offset_t e_start, e_end; - vm_ooffset_t off = 0; + vm_ooffset_t off; vm_prot_t e_prot; unsigned int last_timestamp; char *name = "", *freename = NULL; @@ -1196,7 +1196,7 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) vm_map_unlock_read(map); ino = 0; if (lobj) { - off = IDX_TO_OFF(lobj->size); + off = entry->offset; vp = vm_object_vnode(lobj); if (vp != NULL) vref(vp); @@ -1220,6 +1220,7 @@ linprocfs_doprocmaps(PFS_FILL_ARGS) } } else { flags = 0; + off = 0; ref_count = 0; shadow_count = 0; }