summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
Diffstat (limited to 'usr')
-rw-r--r--usr/src/uts/common/vm/seg_spt.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr/src/uts/common/vm/seg_spt.c b/usr/src/uts/common/vm/seg_spt.c
index effbb21078..78d8de4329 100644
--- a/usr/src/uts/common/vm/seg_spt.c
+++ b/usr/src/uts/common/vm/seg_spt.c
@@ -985,7 +985,13 @@ segspt_dismpagelock(struct seg *seg, caddr_t addr, size_t len,
* ENOTSUP, so that the as_pagelock() code will
* then try the slower F_SOFTLOCK path.
*/
- sptd->spt_ppa = NULL;
+ if (pl_built) {
+ /*
+ * No one else has referenced the ppa[].
+ * We created it and we need to destroy it.
+ */
+ sptd->spt_ppa = NULL;
+ }
ret = ENOTSUP;
goto insert_fail;
}