[RFC PATCH 3/3] fs: detect that the i_rwsem has already been taken exclusively

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
2017-09-28 23:39:23
Also in
linux-fsdevel, linux-integrity, lkml
Reply to
Dave Chinner, 2017-09-28
On Thu, Sep 28, 2017 at 3:02 PM, Dave Chinner [off-list ref] wrote:
On Thu, Sep 28, 2017 at 08:39:33AM -0400, Mimi Zohar wrote:
quoted
Don't attempt to take the i_rwsem, if it has already been taken
exclusively.

Signed-off-by:  Mimi Zohar <redacted>
That's bloody awful.

The locking in filesystem IO paths is already complex enough without
adding a new IO path semantic that says "caller has already locked
the i_rwsem in some order and some dependencies that we have no idea
about".
I do have to admit that I never got a satisfactory answer on why IMA
doesn't just use its own private per-inode lock for this all.

It isn't using the i_rwsem for file consistency reasons anyway, so it
seems to be purely about serializing the actual signature generation
with the xattr writing, but since IMA does those both, why isn't IMA
just using its own lock (not the filesystem lock) to do that?

                 Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Thread (13 messages) 13 messages, 4 authors, last reply 2017-09-29
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help