Date: Mon, 13 Apr 2015 13:25:05 +0200 From: Oliver Pinter <oliver.pinter@hardenedbsd.org> To: Wojciech Puchar <wojtek@puchar.net> Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org> Subject: Re: another question - VM mappings Message-ID: <CAPQ4ffurO0yrmSUKH911sQQau57mi1SU2UfBUt_Pr7VmCqt7ww@mail.gmail.com> In-Reply-To: <alpine.BSF.2.20.1504130928460.921@laptop.wojtek.intra> References: <alpine.BSF.2.20.1504130928460.921@laptop.wojtek.intra>
next in thread | previous in thread | raw e-mail | index | archive | help
Under amd64 exists an so called shared-page - similar to linux's vdso mechanism - https://github.com/freebsd/freebsd/blob/master/sys/kern/kern_exec.c#L1045 . This page is double mapped with user-space and with kernel. From security reason it's only RO, otherwise, when mapped with RW or RWX, then you could write kernel memory from user-space. On Mon, Apr 13, 2015 at 9:31 AM, Wojciech Puchar <wojtek@puchar.net> wrote: > below is mapping for very simple process (no libc etc) > > [wojtek@laptop ~]$ procstat -v 917 > PID START END PRT RES PRES REF SHD FL TP > PATH > 917 0x400000 0x401000 r-x 1 0 1 0 CN-- vn > /home/wojtek/test/1 > 917 0x600000 0x601000 rw- 1 0 1 0 ---- df > 917 0x7ffffffdf000 0x7ffffffff000 rw- 1 0 1 0 ---D df > 917 0x7ffffffff000 0x800000000000 r-x 0 0 39 0 ---- ph > > > what is "ph" mapping and why read&executable?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPQ4ffurO0yrmSUKH911sQQau57mi1SU2UfBUt_Pr7VmCqt7ww>