Re: [PATCH] 2.4 force_successful_syscall()

From: Aneesh Kumar K.V
Date: Thu Sep 18 2003 - 00:29:52 EST


On Thu, 2003-09-18 at 01:30, Marcelo Tosatti wrote:
> On Wed, 10 Sep 2003, Bjorn Helgaas wrote:
>
> > Here's a 2.4 backport of this change to 2.5:
> >
> >
> http://linux.bkbits.net:8080/linux-2.5/cset@xxxxxxxxxxxx?nav=index.html
> >
> > Alpha, ppc, and sparc64 define force_successful_syscall_return() in
> 2.5,
> > but since it's not obvious to me how to do it correctly in 2.4, I left
> > them unchanged.
>
> Whats the reasoning behing this patch?

IIRC those changes were added to 2.5 by David. Architecture like Ia64
and Alpha support error return via a different register set ( $19 for
Alpha ). But syscalls like ptrace can have negative return value for
successful returns. So in that particular case $19 is forced to be zero
to indicate it is a successful return. IIUC
force_successful_syscall_return is a wrapper around doing that. On
alpha actually r0 in the stack (regs.r0 ) is made zero which is read in
entry.S and put in $19.

-aneesh

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