Bug 183491
| Summary: | linux-2.4.20-CAN-2005-0749-elf_dos.patch is incorrect. | ||
|---|---|---|---|
| Product: | [Retired] Fedora Legacy | Reporter: | Shuichi KITAGUCHI <kit> |
| Component: | kernel | Assignee: | Fedora Legacy Bugs <bugs> |
| Status: | CLOSED ERRATA | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | LEGACY, rh73, rh90, 1 | ||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2006-03-05 19:16:07 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Yep, that looks broken. I'll fix it in the next kernel update. Packages that fix this issue are now in updates-testing. |
Description of problem: linux-2.4.20-CAN-2005-0749-elf_dos.patch in 2.4.20-43.7.legacy is incorrect. this seems to cause kernel locks up under heavy load. correct patch is in linux-2.4.21-binfmt-elf.patch from kernel-2.4.21-27.0.4.EL.src.rpm problem is here: diff -Naur linux-2.4.20.ori/fs/binfmt_elf.c linux-2.4.20/fs/binfmt_elf.c --- linux-2.4.20.ori/fs/binfmt_elf.c 2005-04-25 15:42:21.000000000 -0400 +++ linux-2.4.20/fs/binfmt_elf.c 2005-04-25 18:06:17.000000000 -0400 @@ -846,11 +846,12 @@ static int load_elf_library(struct file *file) { - struct elf_phdr *elf_phdata; + struct elf_phdr *elf_phdata, *elf_phdata_save; unsigned long elf_bss, bss, len; int retval, error, i, j; struct elfhdr elf_ex; + elf_phdata_save = elf_phdata; XXX store undecided value to elf_phdata_save error = -ENOEXEC; retval = kernel_read(file, 0, (char *) &elf_ex, sizeof(elf_ex)); if (retval != sizeof(elf_ex)) @@ -910,7 +911,7 @@ error = 0; out_free_ph: - kfree(elf_phdata); + kfree(elf_phdata_save); XXX kfree undecided value...! out: return error; }