From owner-freebsd-emulation@FreeBSD.ORG Sat Jan 20 10:46:11 2007 Return-Path: X-Original-To: freebsd-emulation@freebsd.org Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 45A8716A402; Sat, 20 Jan 2007 10:46:11 +0000 (UTC) (envelope-from tijl@ulyssis.org) Received: from thumbler.kulnet.kuleuven.ac.be (thumbler.kulnet.kuleuven.ac.be [134.58.240.45]) by mx1.freebsd.org (Postfix) with ESMTP id BA05813C45B; Sat, 20 Jan 2007 10:46:10 +0000 (UTC) (envelope-from tijl@ulyssis.org) Received: from localhost (localhost [127.0.0.1]) by thumbler.kulnet.kuleuven.ac.be (Postfix) with ESMTP id 686011383B2; Sat, 20 Jan 2007 11:18:41 +0100 (CET) Received: from smtp02.kuleuven.be (lepidus.kulnet.kuleuven.ac.be [134.58.240.72]) by thumbler.kulnet.kuleuven.ac.be (Postfix) with ESMTP id 5FB57138371; Sat, 20 Jan 2007 11:18:40 +0100 (CET) Received: from kalimero.kotnet.org (kalimero.kotnet.org [10.4.16.222]) by smtp02.kuleuven.be (Postfix) with ESMTP id DD0E92CAA72; Sat, 20 Jan 2007 11:18:36 +0100 (CET) Received: from kalimero.kotnet.org (kalimero.kotnet.org [127.0.0.1]) by kalimero.kotnet.org (8.13.8/8.13.8) with ESMTP id l0KAIavR001278; Sat, 20 Jan 2007 11:18:36 +0100 (CET) (envelope-from tijl@ulyssis.org) From: Tijl Coosemans To: freebsd-emulation@freebsd.org Date: Sat, 20 Jan 2007 11:18:34 +0100 User-Agent: KMail/1.9.5 References: <200701191851.08685.jkim@FreeBSD.org> <200701200205.41517.jkim@FreeBSD.org> In-Reply-To: <200701200205.41517.jkim@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701201118.35835.tijl@ulyssis.org> X-Virus-Scanned: by KULeuven Antivirus Cluster Cc: Jung-uk Kim Subject: Re: A new mmap finger printer X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jan 2007 10:46:11 -0000 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