Re: [PATCH] compatibility syscall layer (lets try again)

From: Jim Houston (
Date: Mon Dec 09 2002 - 12:49:37 EST

Linus Torvalds wrote:

> NOTE NOTE NOTE! This patch is totally untested. It may or may not compile
> and work. It _looks_ correct, but that's all I'm going to guarantee about
> it.
> if (regs->eax == -ERESTART_RESTARTBLOCK){
> + struct restart_block *restart = &current_thread_info()->restart_block;
> regs->eax = __NR_restart_syscall;
> + regs->ebx = restart->arg0;
> + regs->ecx = restart->arg1;

Hi Linus,

Either I'm missing something or this is broken if there is ever
more than one restart function involved. You save the arguments
to the register state that gdb saves but not the restart function
address. In the nested case this would call one restart function
with the arguments of another.

Jim Houston - Concurrent Computer Corp.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sun Dec 15 2002 - 22:00:15 EST