All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Mimi Zohar <zohar@linux.vnet.ibm.com>
Cc: linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	David Safford <safford@linux.vnet.ibm.com>,
	Dmitry Kasatkin <dmitry.kasatkin@intel.com>,
	Matt Helsley <matt.helsley@gmail.com>,
	Mimi Zohar <zohar@us.ibm.com>
Subject: Re: [PATCH v3 10/12] ima: defer calling __fput()
Date: Thu, 22 Mar 2012 14:22:12 +0000	[thread overview]
Message-ID: <20120322142212.GV6589@ZenIV.linux.org.uk> (raw)
In-Reply-To: <1332356057-3356-11-git-send-email-zohar@linux.vnet.ibm.com>

On Wed, Mar 21, 2012 at 02:54:15PM -0400, Mimi Zohar wrote:
> If a file is closed before it is munmapped, __fput() is called with
> the mmap_sem taken.  With IMA-appraisal enabled, this results in an
> mmap_sem/i_mutex lockdep.  ima_defer_fput() increments the f_count
> to defer __fput() being called until after the mmap_sem is released.

NAK.  It's far too heavy-weight for what's a very common path.  Worse,
it causes different locking conditions on IMA and non-IMA kernels and makes
bugs harder to spot.  Rejected with extreme prejudice; please, fix your
locking instead.

BTW, you've missed several other places in mm/* doing fput(), so it wouldn't
be enough to paper over your problem anyway.

Final fput() *can* happen under mmap_sem.  Period.

  parent reply	other threads:[~2012-03-22 14:22 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-21 18:54 [PATCH v3 00/12] ima: appraisal extension Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 01/12] vfs: extend vfs_removexattr locking Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 02/12] vfs: move ima_file_free before releasing the file Mimi Zohar
2012-03-22 14:23   ` Kasatkin, Dmitry
2012-03-22 14:23     ` Kasatkin, Dmitry
2012-03-21 18:54 ` [PATCH v3 03/12] ima: free securityfs violations file Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 04/12] ima: integrity appraisal extension Mimi Zohar
2012-03-22 14:28   ` Kasatkin, Dmitry
2012-03-22 14:28     ` Kasatkin, Dmitry
2012-03-21 18:54 ` [PATCH v3 05/12] ima: add appraise action keywords and default rules Mimi Zohar
2012-03-22 14:27   ` Kasatkin, Dmitry
2012-03-22 14:27     ` Kasatkin, Dmitry
2012-03-21 18:54 ` [PATCH v3 06/12] ima: allocating iint improvements Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 07/12] ima: replace iint spinlock with rwlock/read_lock Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 08/12] ima: add inode_post_setattr call Mimi Zohar
2012-03-22 14:21   ` Kasatkin, Dmitry
2012-03-22 14:21     ` Kasatkin, Dmitry
2012-03-21 18:54 ` [PATCH v3 09/12] ima: add ima_inode_setxattr/removexattr function and calls Mimi Zohar
2012-03-22 14:22   ` Kasatkin, Dmitry
2012-03-21 18:54 ` [PATCH v3 10/12] ima: defer calling __fput() Mimi Zohar
2012-03-22 14:07   ` Kasatkin, Dmitry
2012-03-22 14:07     ` Kasatkin, Dmitry
2012-03-22 14:22   ` Al Viro [this message]
2012-03-22 14:53     ` Mimi Zohar
2012-03-22 14:58       ` Kasatkin, Dmitry
2012-03-22 14:58         ` Kasatkin, Dmitry
2012-03-22 15:09       ` Al Viro
2012-03-22 15:19         ` Kasatkin, Dmitry
2012-03-22 15:39           ` Al Viro
2012-03-23 14:55         ` Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 11/12] ima: add support for different security.ima data types Mimi Zohar
2012-03-21 18:54 ` [PATCH v3 12/12] ima: digital signature verification support Mimi Zohar

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=20120322142212.GV6589@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=dmitry.kasatkin@intel.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=matt.helsley@gmail.com \
    --cc=safford@linux.vnet.ibm.com \
    --cc=zohar@linux.vnet.ibm.com \
    --cc=zohar@us.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.