namei: make put_link() RCU-safe

very simple - just make path_put() conditional on !RCU.
Note that right now it doesn't get called in RCU mode -
we leave it before getting anything into stack.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2015-05-07 20:32:22 -04:00
parent ecc087ff14
commit 6548fae2ec

View File

@ -750,6 +750,7 @@ static inline void put_link(struct nameidata *nd)
struct inode *inode = last->inode;
if (last->cookie && inode->i_op->put_link)
inode->i_op->put_link(inode, last->cookie);
if (!(nd->flags & LOOKUP_RCU))
path_put(&last->link);
}