Print this page
kernel panic in lxpr_read_pid_env

*** 1296,1305 **** --- 1296,1306 ---- lxpr_read_pid_env(lxpr_node_t *lxpnp, lxpr_uiobuf_t *uiobuf) { proc_t *p; char *buf; size_t asz = lxpr_maxenvvlen, sz; + int r; ASSERT(lxpnp->lxpr_type == LXPR_PID_ENV); buf = kmem_alloc(asz, KM_SLEEP);
*** 1308,1324 **** lxpr_uiobuf_seterr(uiobuf, EINVAL); kmem_free(buf, asz); return; } ! if (prreadenvv(p, buf, asz, &sz) != 0) { lxpr_uiobuf_seterr(uiobuf, EINVAL); } else { lxpr_uiobuf_write(uiobuf, buf, sz); } - lxpr_unlock(p); kmem_free(buf, asz); } /* * lxpr_read_pid_limits(): ulimit file --- 1309,1327 ---- lxpr_uiobuf_seterr(uiobuf, EINVAL); kmem_free(buf, asz); return; } ! r = prreadenvv(p, buf, asz, &sz); ! lxpr_unlock(p); ! ! if (r != 0) { lxpr_uiobuf_seterr(uiobuf, EINVAL); } else { lxpr_uiobuf_write(uiobuf, buf, sz); } kmem_free(buf, asz); } /* * lxpr_read_pid_limits(): ulimit file