syscall __NR_mmap2

Richard B. Johnson (root@chaos.analogic.com)
Mon, 7 Jul 2003 17:00:02 -0400 (EDT)


Is anybody using __NR_mmap2 function call? It doesn't work in Linux
2.4.20. It returns nice values, but the address returned does not
have any relationship to what's really there!!

write(1, "Addr = 000b8000\n", 16) = 16
open("/dev/mem", O_RDWR) = 3
mmap2(0xb8000, 8192, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3, 0xb8000) = 0xb8000
write(1, "000B8000 FF FF FF FF FF FF FF F"..., 77) = 77
write(1, "000B8010 FF FF FF FF FF FF FF F"..., 77) = 77
write(1, "000B8020 FF FF FF FF FF FF FF F"..., 77) = 77
close(3) = 0
munmap(0xb8000, 8192) = 0
This should be displaying screen memory (it doesn't).

Does anybody care? Isn't this supposed to replace old_mmap() using
__NR_mmap? `strace` seems to think I have the right values in
the right registers. The returned value is correct, but as a
caddr_t, it doesn't point to what it's supposed to point to.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.

-
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/