فهرست منبع

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>
Al Viro 10 سال پیش
والد
کامیت
6548fae2ec
1فایلهای تغییر یافته به همراه2 افزوده شده و 1 حذف شده
  1. 2 1
      fs/namei.c

+ 2 - 1
fs/namei.c

@@ -750,7 +750,8 @@ 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);
-	path_put(&last->link);
+	if (!(nd->flags & LOOKUP_RCU))
+		path_put(&last->link);
 }
 
 int sysctl_protected_symlinks __read_mostly = 0;