Subject: Re: core vs seteuid()
To: Jorgen Lundman <>
From: David Maxwell <>
List: netbsd-users
Date: 05/30/2003 01:38:19
On Fri, May 30, 2003 at 11:17:23AM +0900, Jorgen Lundman wrote:
> Program calls seteuid() a fair bit, but if it ever dies I need the core to 
> remove any bugs. I know it may be undesirable to have core files from 
> seteuid programs in a multi user machine, but since these are dedicated 
> development machines that is not a concern.
> Are there easy ways to make sure it dumps core, _always_? Even if I have to 
> force them into a special directory or whatever. I would rather not have to 
> hack at kernel sources and rebuild the kernel too :)

That's what you'll need to do...


 * Dump core, into a file named "progname.core" or "core" (depending on
 * value of shortcorename), unless the process was setuid/setgid.
coredump(struct proc *p)
        struct vnode            *vp;
        struct vmspace          *vm;
        struct ucred            *cred;
        struct nameidata        nd;
        struct vattr            vattr;
        int                     error, error1;
        char                    name[MAXPATHLEN];

        vm = p->p_vmspace;
        cred = p->p_cred->pc_ucred;

         * Make sure the process has not set-id, to prevent data leaks.
        if (p->p_flag & P_SUGID)
                return (EPERM);

So... Comment out those last two lines - build a kernel, and you're all