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
pgps0JeiyjSft.pgp
Description: PGP signature