Linux-kernel mailing list archive 1999-23,: Re: init failing in 2.3.6

# Re: init failing in 2.3.6

Helmut Naughton (naughton@poweronline.net)
Fri, 11 Jun 1999 15:14:50 +0200

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Mike Bennett: "Re: init failing in 2.3.6"
- Previous message: Manfred Spraul: "Re: NR_TASKS as config option."
- Maybe in reply to: Paul Mackerras: "init failing in 2.3.6"
- Next in thread: Mike Bennett: "Re: init failing in 2.3.6"

On 11 Jun 99, at 13:24, Paul Mackerras wrote:

> I am seeing a problem with 2.3.6 where init is failing to start
> correctly with an error about not being able to map shared libraries.
> (This is on my powermac with the current vger tree, but that's very
> close to the official tree these days.)
>
> The problem is that an mmap is failing with ENOMEM. I tracked this
> down to the do_munmap call from do_mmap failing because the address
> was not page-aligned. It wasn't page-aligned because
> get_unmapped_area was returning an non-page-aligned address, because
> there was a vma with a non-page-aligned end value. This in turn was
> because earlier on, during an execve syscall, load_elf_interp had
> called do_brk with a len parameter which wasn't a multiple of the page
> size.
>
> I am about to try this patch, which makes do_brk page-align its len
> parameter:
>
> --- mm/mmap.c~ Thu Jun 10 09:49:31 1999
> +++ mm/mmap.c Tue Jun 11 21:48:50 2019
> @@ -728,6 +728,9 @@
> struct vm_area_struct * vma;
> unsigned long flags, retval;
>
> + if ((len = PAGE_ALIGN(len)) == 0)
> + return addr;
> +
> /*
> * mlock MCL_FUTURE?
> */
>
> If instead all callers of do_brk should ensure that len is a multiple
> of the page-size, I'm sure someone will post a better patch. :-)

I had this booting problem too. My specs are:
SuSE 6.1 (mostly unchanged),
egcs-2.91.66, binutils 2.9.1.0.22,
glibc 2.0.7pre6 on an i686 system.
2.3.5 worked ok, but with 2.3.6 i had this problem.

However this patch helped me. It compiled ok and the problem was
fixed.

The only thing i noticed was an error message during the end of the
kernel boot sequence, which i have never seen before:

kmem_grow: called nonatomically from int - size-32

If anybody wants to know more, please mail me.

-Helmut

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

- Next message: Mike Bennett: "Re: init failing in 2.3.6"
- Previous message: Manfred Spraul: "Re: NR_TASKS as config option."
- Maybe in reply to: Paul Mackerras: "init failing in 2.3.6"
- Next in thread: Mike Bennett: "Re: init failing in 2.3.6"