Different old_mmap behavior between 2.4.5 and 2.4.8

Bao C. Ha (baoha@sensoria.com)
Mon, 10 Sep 2001 18:30:55 -0700


We are moving from kernel 2.4.5 to kernel 2.4.8 and above.
One of our applications broke due to different behaviors
of the system call old_mmap.

In kernel 2.4.5:
307 old_mmap(0x7b7f7000, 36864, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b7f7000

In kernel 2.4.8:
[pid 313] old_mmap(0x7b7f7000, 36864, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b7f8000

In 2.4.5, we request 0x7b7f7000 and get the same area back.
In 2.4.8, we also request 0x7b7f7000, but we are getting a
different area pointed by 0x7b7f8000.

Is this supposed to be the correct behavior? What changes
make the newer kernels to return different pointers? We
are running on the sh4 architecture but I think these calls
come from malloc() which should be arch-independent.

Appreciate any pointers/suggestions.

Thanks.
Bao

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