summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/uts/common/vm/seg_map.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/vm/seg_map.c b/usr/src/uts/common/vm/seg_map.c
index a06909a0ab..2cc53f90ff 100644
--- a/usr/src/uts/common/vm/seg_map.c
+++ b/usr/src/uts/common/vm/seg_map.c
@@ -2088,8 +2088,9 @@ segmap_release(struct seg *seg, caddr_t addr, uint_t flags)
hat_kpm_mapout(pp, GET_KPME(smp), addr);
if (smp->sm_flags & SM_NOTKPM_RELEASED) {
smp->sm_flags &= ~SM_NOTKPM_RELEASED;
- hat_unload(kas.a_hat, addr, MAXBSIZE,
- HAT_UNLOAD);
+ hat_unload(kas.a_hat, segkmap->s_base +
+ ((smp - smd_smap) * MAXBSIZE),
+ MAXBSIZE, HAT_UNLOAD);
}
} else {