Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jan 2007 11:18:34 +0100
From:      Tijl Coosemans <tijl@ulyssis.org>
To:        freebsd-emulation@freebsd.org
Cc:        Jung-uk Kim <jkim@freebsd.org>
Subject:   Re: A new mmap finger printer
Message-ID:  <200701201118.35835.tijl@ulyssis.org>
In-Reply-To: <200701200205.41517.jkim@FreeBSD.org>
References:  <200701191851.08685.jkim@FreeBSD.org> <200701200205.41517.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 20 January 2007 08:05, Jung-uk Kim wrote:
> On Friday 19 January 2007 06:51 pm, Jung-uk Kim wrote:
> > I added PROT_EXEC test and cleaned up Marcin Cieslak's mmap finger
> > printer.  Can any one try this on a real Linux/i386 box and send me
> > the output?

Linux 2.6.8-3-686

#01: mmap(0, 1024, PROTO_NONE, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: OK, read: SIGSEGV, write: SIGSEGV, exec: SIGSEGV
#02: mmap(0, 1024, PROTO_READ, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: OK, read: 0x41, write: SIGSEGV, exec: OK
#03: mmap(0, 1024, PROTO_WRITE, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Permission denied (13)
#04: mmap(0, 1024, PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#05: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Permission denied (13)
#06: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#07: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#08: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#09: mmap(0, 1024, PROTO_NONE, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: OK, read: SIGSEGV, write: SIGSEGV, exec: SIGSEGV
#10: mmap(0, 1024, PROTO_READ, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: OK, read: 0x41, write: SIGSEGV, exec: OK
#11: mmap(0, 1024, PROTO_WRITE, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: OK, read: SIGSEGV, write: OK, exec: OK
#12: mmap(0, 1024, PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#13: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: OK, read: 0x41, write: OK, exec: OK
#14: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#15: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#16: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: Operation not permitted (1)
#17: mmap(0, 1024, PROTO_NONE, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#18: mmap(0, 1024, PROTO_READ, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#19: mmap(0, 1024, PROTO_WRITE, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#20: mmap(0, 1024, PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#21: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#22: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#23: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#24: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#25: mmap(0, 1024, PROTO_NONE, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#26: mmap(0, 1024, PROTO_READ, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#27: mmap(0, 1024, PROTO_WRITE, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#28: mmap(0, 1024, PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#29: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#30: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#31: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#32: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Operation not permitted (1)
#33: mmap(0, 1024, PROTO_NONE, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: OK, read: SIGSEGV, write: SIGSEGV, exec: SIGSEGV
#34: mmap(0, 1024, PROTO_READ, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x41, write: SIGSEGV, exec: OK
#35: mmap(0, 1024, PROTO_WRITE, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: OK, read: SIGSEGV, write: OK, exec: OK
#36: mmap(0, 1024, PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#37: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: OK, exec: OK
#38: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#39: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#40: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#41: mmap(0, 1024, PROTO_NONE, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: OK, read: SIGSEGV, write: SIGSEGV, exec: SIGSEGV
#42: mmap(0, 1024, PROTO_READ, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: SIGSEGV, exec: OK
#43: mmap(0, 1024, PROTO_WRITE, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: OK, read: SIGSEGV, write: OK, exec: OK
#44: mmap(0, 1024, PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#45: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: OK, exec: OK
#46: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#47: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#48: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: Operation not permitted (1)
#49: mmap(0, 1024, PROTO_NONE, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: SIGSEGV, write: SIGSEGV, exec: SIGSEGV
#50: mmap(0, 1024, PROTO_READ, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: SIGSEGV, exec: SIGSEGV
#51: mmap(0, 1024, PROTO_WRITE, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: SIGSEGV, write: OK, exec: OK
#52: mmap(0, 1024, PROTO_EXEC, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: SIGSEGV, exec: SIGSEGV
#53: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: OK, exec: OK
#54: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: SIGSEGV, exec: SIGSEGV
#55: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: OK, exec: OK
#56: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_ANON|MAP_SHARED, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: OK, exec: OK
#57: mmap(0, 1024, PROTO_NONE, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: SIGSEGV, write: SIGSEGV, exec: SIGSEGV
#58: mmap(0, 1024, PROTO_READ, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: SIGSEGV, exec: SIGSEGV
#59: mmap(0, 1024, PROTO_WRITE, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: SIGSEGV, write: OK, exec: OK
#60: mmap(0, 1024, PROTO_EXEC, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: SIGSEGV, exec: SIGSEGV
#61: mmap(0, 1024, PROTO_READ|PROTO_WRITE, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: OK, exec: OK
#62: mmap(0, 1024, PROTO_READ|PROTO_EXEC, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: SIGSEGV, exec: SIGSEGV
#63: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: OK, exec: OK
#64: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_ANON|MAP_PRIVATE, ...)
 for filemode N/A:      mmap: OK, read: 0x00, write: OK, exec: OK



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701201118.35835.tijl>