Messages in this thread | | | Subject | Re: [PATCH] 2.4 force_successful_syscall() | From | "Aneesh Kumar K.V" <> | Date | 18 Sep 2003 11:12:21 +0530 |
| |
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@1.1046.238.7?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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |