Re: How should nano_sleep be fixed (was: ptrace(), fork(), sleep(), exit(), SIGCHLD)

From: Russell King (rmk@arm.linux.org.uk)
Date: Thu Aug 23 2001 - 15:11:22 EST


On Thu, Aug 23, 2001 at 01:04:09PM -0700, george anzinger wrote:
> Sorry, but none of those system calls requires the registers which is
> where the problem is.

/* Fork a new task - this creates a new program thread.
 * This is called indirectly via a small wrapper
 */
asmlinkage int sys_fork(struct pt_regs *regs)
                        ^^^^^^^^^^^^^^^^^^^^
{
        return do_fork(SIGCHLD, regs->ARM_sp, regs, 0);
}

/* sys_execve() executes a new program.
 * This is called indirectly via a small wrapper
 */
asmlinkage int
sys_execve(char *filenamei, char **argv, char **envp, struct pt_regs *regs)
                                                     ^^^^^^^^^^^^^^^^^^^^^
{
        int error;
        char * filename;

        filename = getname(filenamei);
        error = PTR_ERR(filename);
        if (IS_ERR(filename))
                goto out;
        error = do_execve(filename, argv, envp, regs);
        putname(filename);
out:
        return error;
}

Certainly looks to me like they do. See the highlighted arguments.

--
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:01:01 EST