* Vegard Nossum <[EMAIL PROTECTED]> wrote:

> The sys_sched_yield_to() is not callable from userspace on i386 
> because it is not part of the syscall table 
> (arch/i386/kernel/syscall_table.S). This causes sysenter_entry 
> (arch/i386/kernel/entry.S) to use the wrong count for nr_syscalls (320 
> instead of 321) and return with -ENOSYS.

oops, indeed - the patch below should fix this. (x86 should really adopt 
the nice x86_64 technique of building the syscall table out of the 
unistd.h enumeration definitions.)

        Ingo

Index: linux/arch/i386/kernel/syscall_table.S
===================================================================
--- linux.orig/arch/i386/kernel/syscall_table.S
+++ linux/arch/i386/kernel/syscall_table.S
@@ -319,3 +319,4 @@ ENTRY(sys_call_table)
        .long sys_move_pages
        .long sys_getcpu
        .long sys_epoll_pwait
+       .long sys_sched_yield_to        /* 320 */

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

Reply via email to