|
|
Subscribe / Log in / New account

Re: [RFC 18/18] proc: present VM_LOCKED memory in /proc/self/maps

From:  Kees Cook <kees-AT-outflux.net>
To:  Topi Miettinen <toiwoton-AT-gmail.com>
Subject:  Re: [RFC 18/18] proc: present VM_LOCKED memory in /proc/self/maps
Date:  Mon, 13 Jun 2016 13:43:13 -0700
Message-ID:  <20160613204312.GP3346@outflux.net>
Cc:  linux-kernel-AT-vger.kernel.org, Andrew Morton <akpm-AT-linux-foundation.org>, Michal Hocko <mhocko-AT-suse.com>, Konstantin Khlebnikov <koct9i-AT-gmail.com>, Vlastimil Babka <vbabka-AT-suse.cz>, "Kirill A. Shutemov" <kirill.shutemov-AT-linux.intel.com>, Jerome Marchand <jmarchan-AT-redhat.com>, Laurent Dufour <ldufour-AT-linux.vnet.ibm.com>, Naoya Horiguchi <n-horiguchi-AT-ah.jp.nec.com>, Gerald Schaefer <gerald.schaefer-AT-de.ibm.com>, Johannes Weiner <hannes-AT-cmpxchg.org>
Archive‑link:  Article

On Mon, Jun 13, 2016 at 10:44:25PM +0300, Topi Miettinen wrote:
> Add a flag to /proc/self/maps to show that the memory area is locked.
> 
> Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
> ---
>  fs/proc/task_mmu.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> index 4648c7f..8229509 100644
> --- a/fs/proc/task_mmu.c
> +++ b/fs/proc/task_mmu.c

If you change the maps format, you'll need to update task_nommu.c too.

> @@ -313,13 +313,14 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
>  		end -= PAGE_SIZE;
>  
>  	seq_setwidth(m, 25 + sizeof(void *) * 6 - 1);

I think the width needs to be adjusted for the new character.

> -	seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu ",
> +	seq_printf(m, "%08lx-%08lx %c%c%c%c%c %08llx %02x:%02x %lu ",

Have you checked that no userspace tools that parse "maps" will break with
this flag addition?

>  			start,
>  			end,
>  			flags & VM_READ ? 'r' : '-',
>  			flags & VM_WRITE ? 'w' : '-',
>  			flags & VM_EXEC ? 'x' : '-',
>  			flags & VM_MAYSHARE ? 's' : 'p',
> +			flags & VM_LOCKED ? 'l' : '-',

IIUC, the smaps file already includes the locked information in VmFlags as
"lo" (see show_smap_vma_flags), so I think you probably don't want this
patch at all.

-Kees

>  			pgoff,
>  			MAJOR(dev), MINOR(dev), ino);
>  
> -- 
> 2.8.1

-- 
Kees Cook                                            @outflux.net




to post comments


Copyright © 2016, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds