From: Vasiliy Kulikov <segoon@openwall.com>
To: Cyrill Gorcunov <gorcunov@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>,
containers@lists.osdl.org, linux-kernel@vger.kernel.org,
linux-fsdevel@vger.kernel.org, Nathan Lynch <ntl@pobox.com>,
kernel-hardening@lists.openwall.com,
Oren Laadan <orenl@cs.columbia.edu>,
Daniel Lezcano <dlezcano@fr.ibm.com>,
Glauber Costa <glommer@parallels.com>,
James Bottomley <jbottomley@parallels.com>,
Tejun Heo <tj@kernel.org>, Alexey Dobriyan <adobriyan@gmail.com>,
Al Viro <viro@ZenIV.linux.org.uk>,
Pavel Emelyanov <xemul@parallels.com>
Subject: [kernel-hardening] Re: [patch 2/2] fs, proc: Introduce the /proc/<pid>/map_files/ directory v6
Date: Fri, 2 Sep 2011 20:37:11 +0400 [thread overview]
Message-ID: <20110902163711.GA3124@albatros> (raw)
In-Reply-To: <20110901080508.GF30615@sun>
Hi,
On Thu, Sep 01, 2011 at 12:05 +0400, Cyrill Gorcunov wrote:
> ...
> > > +/*
> > > + * NOTE: The getattr/setattr for both /proc/$pid/map_files and
> > > + * /proc/$pid/fd seems to have share the code, so need to be
> > > + * unified and code duplication eliminated!
> >
> > Why not do this now?
>
> There are a couple of reasons. Yesterday I was talking to
> Vasiliy Kulikov about this snippet, so he seems about to send
> you patches related to /proc/$pid/fd update, and after those
> patches will be merged we are to drop code duplication.
> Vasiliy, what the status of the update?
It looks like protecting directories with sensible contents is a nasty
thing. The problem here is that if the dentry is present in the cache,
->lookup() is not called at all and the permissions can be checked in
fop/dop/iop specific handler (getattr(), readlink(), etc.). However, it
would be much simplier to hook ->lookup() only. Otherwise, we have to
define procfs handlers for all operations, which don't call
->d_revalidate().
Is it possible to disable caching dentry for specific files? It is not
performace critical thing in fd and map_files and it would much simplify
the task. Creating handlers for all these op handler bloats procfs.
Also I'm not sure what other handlers might reveal dentry presence.
Besides ->getattr() I could find only one thing - ->link() (Cyrill,
AFAICS ->setattr() doesn't reveal files' presence). Someone more
familiar with vfs than me - please, help to identify all infoleak
sources!
Thank you,
--
Vasiliy Kulikov
http://www.openwall.com - bringing security into open computing environments
next parent reply other threads:[~2011-09-02 16:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110831075814.003575573@openvz.org>
[not found] ` <20110831080229.100652529@openvz.org>
[not found] ` <20110831090612.GA3253@albatros>
[not found] ` <20110831112642.GI25465@sun>
[not found] ` <20110831140416.GA17626@shutemov.name>
[not found] ` <20110831142622.GB30615@sun>
[not found] ` <20110831151023.5b7e12da.akpm@linux-foundation.org>
[not found] ` <20110901080508.GF30615@sun>
2011-09-02 16:37 ` Vasiliy Kulikov [this message]
2011-09-05 18:53 ` [kernel-hardening] Re: [patch 2/2] fs, proc: Introduce the /proc/<pid>/map_files/ directory v6 Vasiliy Kulikov
2011-09-05 19:20 ` Cyrill Gorcunov
2011-09-05 19:49 ` Vasiliy Kulikov
2011-09-05 20:36 ` Cyrill Gorcunov
2011-09-06 10:15 ` Vasiliy Kulikov
2011-09-06 16:51 ` Tejun Heo
2011-09-06 17:29 ` Vasiliy Kulikov
2011-09-06 17:33 ` Tejun Heo
2011-09-06 18:15 ` Cyrill Gorcunov
2011-09-07 11:23 ` Vasiliy Kulikov
2011-09-07 21:53 ` Cyrill Gorcunov
2011-09-07 22:13 ` Andrew Morton
2011-09-07 22:42 ` Cyrill Gorcunov
2011-09-07 22:53 ` Andrew Morton
2011-09-08 5:48 ` Cyrill Gorcunov
2011-09-08 5:50 ` Cyrill Gorcunov
2011-09-08 6:04 ` Cyrill Gorcunov
2011-09-08 23:52 ` Andrew Morton
2011-09-09 0:24 ` Pavel Emelyanov
2011-09-09 5:48 ` Cyrill Gorcunov
2011-09-09 6:00 ` Andrew Morton
2011-09-09 6:22 ` Cyrill Gorcunov
2011-09-10 13:21 ` Vasiliy Kulikov
2011-09-10 13:49 ` Cyrill Gorcunov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110902163711.GA3124@albatros \
--to=segoon@openwall.com \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=containers@lists.osdl.org \
--cc=dlezcano@fr.ibm.com \
--cc=glommer@parallels.com \
--cc=gorcunov@gmail.com \
--cc=jbottomley@parallels.com \
--cc=kernel-hardening@lists.openwall.com \
--cc=kirill@shutemov.name \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ntl@pobox.com \
--cc=orenl@cs.columbia.edu \
--cc=tj@kernel.org \
--cc=viro@ZenIV.linux.org.uk \
--cc=xemul@parallels.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox