lkml.org 
[lkml]   [2002]   [Dec]   [9]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 09 Dec 2002 12:49:37 -0500
FromJim Houston <>
SubjectRe: [PATCH] compatibility syscall layer (lets try again)
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 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/

\
 
 \ /
  Last update: 2005-03-22 12:31    [W:1.304 / U:0.170 seconds]
©2003-2008 Jasper Spaans