Bug 5645
Summary: | SIGKILL with page-aligned, empty ELF segments | ||
---|---|---|---|
Product: | Other | Reporter: | Enrico Scholz (enrico.scholz+bugzilla.kernel) |
Component: | Other | Assignee: | process_other |
Status: | REJECTED INSUFFICIENT_DATA | ||
Severity: | normal | CC: | akpm, bunk |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.14.2 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Enrico Scholz
2005-11-23 08:45:08 UTC
[Moving into 'Other' category because 'Process Management' does not apply] Exact trigger is 'filesz==0 && VirtAddr%PAGE_SIZE==0' | Program Headers: | Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align | ... | LOAD 0x001000 0x00011000 0x00011000 0x00000 0x00100 RW 0x8000 ~~~~~~~~~~ ~~~~~~~ Then, the | static unsigned long elf_map( | ... | map_addr = do_mmap(filep, ELF_PAGESTART(addr), | eppnt->p_filesz + ELF_PAGEOFFSET(eppnt->p_vaddr), prot, type, | eppnt->p_offset - ELF_PAGEOFFSET(eppnt->p_vaddr)); calls do_mmap() with a len-parameter of '0'. Possible guilty parties are: * the kernel, because it handles this case wrong, or * 'ld' from binutils because it generates such ELF headers, or * dietlibc because it let 'ld' generate such ELF headers accordingly LSB spec, it is allowed for ELF segments to be empty. Therefore, the kernel is the guilty party. I seem to recall adding a patch to handle empty elf segments. Is this problem resolved in 2.6.20-rc7? Please reopen this bug if it's still present with kernel 2.6.20. |