On Sat, 12 May 2007, Jiri Kosina wrote:
> However, I seem to get "soft" hang on boot with this patch,
> approximately at the time the init should be executed. The system is not
> completely stuck - interrupts are delivered, keyboard is working,
> alt-sysrq-t dumps proper output, but userspace doesn't seem to get
> started. This happens on i386, didn't try on other archs.
Hi Jan,
I finally had time to look at it a little bit - I think you omitted
porting of proper handling of *interp_load_addr == 0, which made my box
hang. The patch below, when applied on top of what you have sent, makes it
work again and also the randomization for ET_DYN executables seems to work
OK.
Could you please refresh your patch, update the Changelog in a proper way
and resubmit?
Thanks.
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index be6671e..8406f9a 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -347,7 +347,7 @@ static inline unsigned long total_mappin
an ELF header */
static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
- struct file *interpreter, unsigned long *interp_load_addr,
+ struct file *interpreter, unsigned long *interp_map_addr,
unsigned long no_base)
{
struct elf_phdr *elf_phdata;
@@ -421,6 +421,9 @@ static unsigned long load_elf_interp(str
map_addr = elf_map(interpreter, load_addr + vaddr,
eppnt, elf_prot, elf_type, total_size);
+ total_size = 0;
+ if (!*interp_map_addr)
+ *interp_map_addr = map_addr;
error = map_addr;
if (BAD_ADDR(map_addr))
goto out_close;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]