Solaris 5.10 Generic_141445-09 i86pc I am playing around with a kernel module, learning some of the inner workings of the kernel, and I would like to have a look at a process' environment.
I am confused by the definition in user_t for environment: uintptr_t u_envp; .. since I am more used to seeing "char **" in userland. How can I use this? Is this a pointer into the process's stack which contains the environment pointer-list? If I use something like (curthread)->t_procp->p_user.u_envp to locate it, should I first use copyin() on "u_envp" ? This simply incur GP panic: if ( (curthread)->t_procp->p_user.u_envp ) { char **ep = NULL; if (!copyin((curthread)->t_procp->p_user.u_envp, &env, sizeof(env))) { cmn_err(CE_NOTE, "env is '%s'\n",env[0]); Thanks. ps. Is it required to check for NULL on 'curthread', 't_procp', 'p_user' generally? Should I? -- This message posted from opensolaris.org _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code