summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/shm.c
diff options
context:
space:
mode:
authorjv227347 <Jordan.Vaughan@Sun.com>2010-08-12 17:34:26 -0700
committerjv227347 <Jordan.Vaughan@Sun.com>2010-08-12 17:34:26 -0700
commita19609f85693e4e7d7e744d836a4e87193c934e4 (patch)
tree7ea27321d90fa4b9b61e48ec06e5b52f5f7b509a /usr/src/uts/common/os/shm.c
parenta69116193464f859a8b27a2db19ad330ce163a55 (diff)
downloadillumos-joyent-a19609f85693e4e7d7e744d836a4e87193c934e4.tar.gz
6906740 Zones need an improved reference counting mechanism
Diffstat (limited to 'usr/src/uts/common/os/shm.c')
-rw-r--r--usr/src/uts/common/os/shm.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/usr/src/uts/common/os/shm.c b/usr/src/uts/common/os/shm.c
index bf18627c34..bacc595f78 100644
--- a/usr/src/uts/common/os/shm.c
+++ b/usr/src/uts/common/os/shm.c
@@ -20,8 +20,7 @@
*/
/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 1986, 2010, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
@@ -605,7 +604,7 @@ shm_dtor(kipc_perm_t *perm)
rsize = ptob(btopr(sp->shm_segsz));
ipcs_lock(shm_svc);
sp->shm_perm.ipc_proj->kpj_data.kpd_shmmax -= rsize;
- sp->shm_perm.ipc_zone->zone_shmmax -= rsize;
+ sp->shm_perm.ipc_zone_ref.zref_zone->zone_shmmax -= rsize;
ipcs_unlock(shm_svc);
}
}
@@ -924,13 +923,13 @@ top:
sp->shm_perm.ipc_proj->kpj_rctls, pp, rsize,
RCA_SAFE) & RCT_DENY) ||
(rctl_test(rc_zone_shmmax,
- sp->shm_perm.ipc_zone->zone_rctls, pp, rsize,
+ sp->shm_perm.ipc_zone_ref.zref_zone->zone_rctls, pp, rsize,
RCA_SAFE) & RCT_DENY)) {
ipc_cleanup(shm_svc, (kipc_perm_t *)sp);
return (EINVAL);
}
sp->shm_perm.ipc_proj->kpj_data.kpd_shmmax += rsize;
- sp->shm_perm.ipc_zone->zone_shmmax += rsize;
+ sp->shm_perm.ipc_zone_ref.zref_zone->zone_shmmax += rsize;
lock = ipc_commit_end(shm_svc, &sp->shm_perm);
}
@@ -1258,7 +1257,7 @@ shm_rm_amp(kshmid_t *sp)
struct anon_map *amp = sp->shm_amp;
zone_t *zone;
- zone = sp->shm_perm.ipc_zone;
+ zone = sp->shm_perm.ipc_zone_ref.zref_zone;
ASSERT(zone != NULL);
/*
* Free up the anon_map.