On Wed, Jun 15, 2011 at 03:57:05PM +0200, Joerg Wunsch wrote:
> When trying to use doscmd on 8-stable, all I get is:
> 
> Error mapping HMA, HMA disabled: : Invalid argument
> Segmentation fault (core dumped)
> 
> The segfault happens at the end of mem_init(), when the allocated DOS
> memory (which is located at virtual address 0) is attempted to be
> written to.  Apparently, the mmap() failure that causes the "HMA
> disabled" message is actually a fatal error rather than a benign one
> the could be ignored, as it results in no valid DOS memory allocation
> at all.
> 
> Right now, the only older system I could test it against uses FreeBSD
> 5.x, where the mmap() works as expected.  So does anyone have an idea
> why this mmap() call:
> 
>     if (mmap((caddr_t)0x000000, 0x100000,
>                    PROT_EXEC | PROT_READ | PROT_WRITE,
>                    MAP_ANON | MAP_FIXED | MAP_SHARED,
>                    -1, 0) == MAP_FAILED) {
>         perror("Error mapping HMA, HMA disabled: ");
>         HMA_a20 = -1;
>         close(HMA_fd_off);
>         close(HMA_fd_on);
>         return;
>     }
> 
> yields an EINVAL now under 8-stable?

Do sysctl security.bsd.map_at_zero=1

Attachment: pgps0JeiyjSft.pgp
Description: PGP signature

Reply via email to