--- linux-2.4.22-pre8.orig/fs/binfmt_elf.c 2003-07-25 08:58:59.000000000 +0200 +++ linux-2.4.22-pre8/fs/binfmt_elf.c 2003-07-25 08:59:07.000000000 +0200 @@ -797,10 +797,8 @@ if (current->ptrace & PT_PTRACED) send_sig(SIGTRAP, current, 0); retval = 0; + steal_locks(files, current->files); out: - if (!retval) - steal_locks(files, current->files); - return retval; /* error cleanup */