lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 16 Feb 2008 07:12:01 -0500 From: "Mike Frysinger" <vapier.adi@...il.com> To: "Matt Helsley" <matthltc@...ibm.com> Cc: "Andrew Morton" <akpm@...ux-foundation.org>, linux-mm <linux-mm@...ck.org>, LKML <linux-kernel@...r.kernel.org>, "Oleg Nesterov" <oleg@...sign.ru>, "David Howells" <dhowells@...hat.com>, "Eric W. Biederman" <ebiederm@...ssion.com>, "Christoph Hellwig" <chellwig@...ibm.com>, "Al Viro" <viro@...iv.linux.org.uk>, "Hugh Dickins" <hugh@...itas.com>, "Bryan Wu" <Bryan.Wu@...log.com> Subject: Re: [PATCH] procfs task exe symlink On Feb 6, 2008 8:44 PM, Matt Helsley <matthltc@...ibm.com> wrote: > The kernel implements readlink of /proc/pid/exe by getting the file from the > first executable VMA. Then the path to the file is reconstructed and reported as > the result. > > Because of the VMA walk the code is slightly different on nommu systems. This > patch avoids separate /proc/pid/exe code on nommu systems. Instead of walking > the VMAs to find the first executable file-backed VMA we store a reference to > the exec'd file in the mm_struct. > > That reference would prevent the filesystem holding the executable file from > being unmounted even after unmapping the VMAs. So we track the number of > VM_EXECUTABLE VMAs and drop the new reference when the last one is unmapped. > This avoids pinning the mounted filesystem. > > Andrew, these are the updates I promised. Please consider this patch for > inclusion in -mm. mm/nommu.c wasnt compiled tested, it's trivially broken: > --- linux-2.6.24.orig/mm/nommu.c > +++ linux-2.6.24/mm/nommu.c > @@ -960,12 +960,15 @@ unsigned long do_mmap_pgoff(struct file > if (!vma) > goto error_getting_vma; > > INIT_LIST_HEAD(&vma->anon_vma_node); > atomic_set(&vma->vm_usage, 1); > - if (file) > + if (file) { > get_file(file); > + if (vm_flags & VM_EXECUTABLE) > + added_exe_file_vma(mm); > + } > vma->vm_file = file; > vma->vm_flags = vm_flags; > vma->vm_start = addr; > vma->vm_end = addr + len; > vma->vm_pgoff = pgoff; this function has no variable named "mm" mm/nommu.c: In function 'do_mmap_pgoff': mm/nommu.c:968: error: 'mm' undeclared (first use in this function) mm/nommu.c:968: error: (Each undeclared identifier is reported only once mm/nommu.c:968: error: for each function it appears in.) make[1]: *** [mm/nommu.o] Error 1 -mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists