From: Roland McGrath Julie DeWandel noticed that in the error case where elf_map has failed, load_elf_interp will (at the out_close: label) return the `error' variable, but that will contain the result of a prior operation and not the error number from elf_map. --- fs/binfmt_elf.c | 1 + 1 files changed, 1 insertion(+) diff -puN fs/binfmt_elf.c~load_elf_interp-error-case-fix fs/binfmt_elf.c --- 25/fs/binfmt_elf.c~load_elf_interp-error-case-fix 2004-01-13 21:41:12.000000000 -0800 +++ 25-akpm/fs/binfmt_elf.c 2004-01-13 21:41:12.000000000 -0800 @@ -349,6 +349,7 @@ static unsigned long load_elf_interp(str elf_type |= MAP_FIXED; map_addr = elf_map(interpreter, load_addr + vaddr, eppnt, elf_prot, elf_type); + error = map_addr; if (BAD_ADDR(map_addr)) goto out_close; _