|
|
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
On Monday 08 August 2011, Mark Salter wrote:
> +static void halt_loop(void)
> +{
> + printk(KERN_EMERG "System Halted, OK to turn off power\n");
> + local_irq_disable();
> + while (1)
> + ;
> +}
How about calling default_idle in the loop? There is no reason to burn
CPU cycles when the machine is stopped.
> +/*
> + * vfork syscall is deprecated but uClibc tests for _NR_vfork as a check
> + * for __libc_vfork() existence. So we provide the syscall even though
> + * __libc_vfork() actually uses the clone syscall.
> + */
> +asmlinkage int c6x_vfork(struct pt_regs *regs)
> +{
> + return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->sp, regs,
> + 0, NULL, NULL);
> +}
> +
> +asmlinkage int c6x_clone(struct pt_regs *regs)
> +{
> + unsigned long clone_flags;
> + unsigned long newsp;
> +
> + /* syscall puts clone_flags in A4 and usp in B4 */
> + clone_flags = regs->orig_a4;
> + if (regs->b4)
> + newsp = regs->b4;
> + else
> + newsp = regs->sp;
> +
> + return do_fork(clone_flags, newsp, regs, 0, (int __user *)regs->a6,
> + (int __user *)regs->b6);
> +}
> +/*
> + * c6x_execve() executes a new program.
> + */
> +asmlinkage long c6x_execve(const char __user *name,
> + const char __user *const __user *argv,
> + const char __user *const __user *envp,
> + struct pt_regs *regs)
> +{
> + int error;
> + char *filename;
> +
> + filename = getname(name);
> + error = PTR_ERR(filename);
> + if (IS_ERR(filename))
> + goto out;
> +
> + error = do_execve(filename, argv, envp, regs);
> + putname(filename);
> +out:
> + return error;
> +}
better use SYSCALL_DEFINE1/4 to make these an actual syscalls that can be
grepped for. In a lot of cases, the SYSCALL_DEFINE* is actually required
for security reasons, although these specific cases don't seem to need it.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel] [Kernel Newbies] [x86 Platform Driver] [Share Photos] [Security] [Netfilter] [Bugtraq] [Linux FS] [Photo] [Yosemite] [Yosemite Discussion] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Samba] [Video 4 Linux] [Device Mapper] [Linux Resources]
![]() |