summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/task.c
diff options
context:
space:
mode:
authorVamsi Nagineni <Vamsi.Krishna@Sun.COM>2009-03-20 04:32:37 -0700
committerVamsi Nagineni <Vamsi.Krishna@Sun.COM>2009-03-20 04:32:37 -0700
commitbb5ca623d9cfae0efb343eed949af6d1a9163207 (patch)
tree5241ea9be26c8043adc3a839dce95b4f26d62b84 /usr/src/uts/common/os/task.c
parentcbf75e67acb6c32a2f4884f28a839d59f7988d37 (diff)
downloadillumos-joyent-bb5ca623d9cfae0efb343eed949af6d1a9163207.tar.gz
6810086 panic in rctl_incr_swap() due to freed up proc structure
6557272 assertion failed: zone->zone_max_swap >= swap, panic during dism stress test
Diffstat (limited to 'usr/src/uts/common/os/task.c')
-rw-r--r--usr/src/uts/common/os/task.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/usr/src/uts/common/os/task.c b/usr/src/uts/common/os/task.c
index 628fcde30b..aa407dd97b 100644
--- a/usr/src/uts/common/os/task.c
+++ b/usr/src/uts/common/os/task.c
@@ -19,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/atomic.h>
#include <sys/cmn_err.h>
#include <sys/exacct.h>
@@ -467,7 +465,7 @@ task_create(projid_t projid, zone_t *zone)
*/
(void) mod_hash_reserve(task_hash, &hndl);
mutex_enter(&task_hash_lock);
- ASSERT(task_find(tkid, getzoneid()) == NULL);
+ ASSERT(task_find(tkid, zone->zone_id) == NULL);
if (mod_hash_insert_reserve(task_hash, (mod_hash_key_t)(uintptr_t)tkid,
(mod_hash_val_t *)tk, hndl) != 0) {
mod_hash_cancel(task_hash, &hndl);
@@ -638,9 +636,9 @@ task_change(task_t *newtk, proc_t *p)
ASSERT(oldtk != NULL);
ASSERT(oldtk->tk_memb_list != NULL);
- mutex_enter(&p->p_zone->zone_nlwps_lock);
+ mutex_enter(&oldtk->tk_zone->zone_nlwps_lock);
oldtk->tk_nlwps -= p->p_lwpcnt;
- mutex_exit(&p->p_zone->zone_nlwps_lock);
+ mutex_exit(&oldtk->tk_zone->zone_nlwps_lock);
mutex_enter(&newtk->tk_zone->zone_nlwps_lock);
newtk->tk_nlwps += p->p_lwpcnt;