summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/ddi.c
diff options
context:
space:
mode:
authorksn <none@none>2007-07-10 15:52:08 -0700
committerksn <none@none>2007-07-10 15:52:08 -0700
commiteb53af1d99d46ca40a06ed10b229d933b2301b49 (patch)
tree52b0c03bb4ac4ff02d945b757d207bf409a770e1 /usr/src/uts/common/os/ddi.c
parent52a52aeb5a7fdcd4b40e137fa7498612f87d95f3 (diff)
downloadillumos-joyent-eb53af1d99d46ca40a06ed10b229d933b2301b49.tar.gz
6562292 race between drv_getparm and setpgrp leads to panic
Diffstat (limited to 'usr/src/uts/common/os/ddi.c')
-rw-r--r--usr/src/uts/common/os/ddi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr/src/uts/common/os/ddi.c b/usr/src/uts/common/os/ddi.c
index 6a0b6ace80..ee817d9c8d 100644
--- a/usr/src/uts/common/os/ddi.c
+++ b/usr/src/uts/common/os/ddi.c
@@ -23,7 +23,7 @@
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -246,7 +246,7 @@ int
datamsg(unsigned char db_type)
{
return (db_type == M_DATA || db_type == M_PROTO ||
- db_type == M_PCPROTO || db_type == M_DELAY);
+ db_type == M_PCPROTO || db_type == M_DELAY);
}
/*
@@ -300,7 +300,9 @@ drv_getparm(unsigned int parm, void *valuep)
*(proc_t **)valuep = p;
break;
case PPGRP:
+ mutex_enter(&p->p_lock);
*(pid_t *)valuep = p->p_pgrp;
+ mutex_exit(&p->p_lock);
break;
case LBOLT:
*(clock_t *)valuep = lbolt;