Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jan 2007 19:03:09 +0100
From:      Ulrich Spoerlein <uspoerlein@gmail.com>
To:        Jung-uk Kim <jkim@FreeBSD.org>
Cc:        freebsd-emulation@FreeBSD.org
Subject:   Re: A new mmap finger printer
Message-ID:  <20070120180309.GC1548@roadrunner.q.local>
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
Jung-uk Kim wrote:
> http://people.freebsd.org/~jkim/mmap_test.c

% uname -a
Linux PC03 2.6.17-gentoo-r4 #1 SMP PREEMPT Mon Aug 14 17:19:40 CEST 2006 i686 Intel(R) Celeron(R) CPU 3.06GHz GNU/Linux
% ./mmap_test
#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: OK, read: 0x41, write: SIGSEGV, exec: OK
#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: OK, read: 0x41, write: SIGSEGV, exec: OK
#07: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Permission denied (13)
#08: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDONLY: mmap: Permission denied (13)
#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: OK, read: 0x41, write: SIGSEGV, exec: OK
#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: OK, read: 0x41, write: SIGSEGV, exec: OK
#15: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: OK, read: 0x41, write: OK, exec: OK
#16: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDONLY: mmap: OK, read: 0x41, write: OK, exec: OK
#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: Permission denied (13)
#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: Permission denied (13)
#23: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#24: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#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: Permission denied (13)
#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: Permission denied (13)
#31: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#32: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_WRONLY: mmap: Permission denied (13)
#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: OK, read: 0x42, write: SIGSEGV, exec: OK
#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: OK, read: 0x42, write: SIGSEGV, exec: OK
#39: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: OK, exec: OK
#40: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_SHARED, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: OK, exec: OK
#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: OK, read: 0x42, write: SIGSEGV, exec: OK
#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: OK, read: 0x42, write: SIGSEGV, exec: OK
#47: mmap(0, 1024, PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: OK, exec: OK
#48: mmap(0, 1024, PROTO_READ|PROTO_WRITE|PROTO_EXEC, MAP_PRIVATE, ...)
 for filemode O_RDWR:   mmap: OK, read: 0x42, write: OK, exec: OK
#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


Ulrich Spoerlein
-- 
A: Yes.
>Q: Are you sure?
> >A: Because it reverses the logical flow of conversation.
> >>Q: Why is top posting frowned upon?



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