diff options
Diffstat (limited to 'fs/proc/namespaces.c')
| -rw-r--r-- | fs/proc/namespaces.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/proc/namespaces.c b/fs/proc/namespaces.c index f6e8354b8cea..1dece8781f91 100644 --- a/fs/proc/namespaces.c +++ b/fs/proc/namespaces.c @@ -30,14 +30,18 @@ static const struct proc_ns_operations *ns_entries[] = {  	&mntns_operations,  }; -static const char *proc_ns_follow_link(struct dentry *dentry, void **cookie) +static const char *proc_ns_get_link(struct dentry *dentry, +				    struct inode *inode, +				    struct delayed_call *done)  { -	struct inode *inode = d_inode(dentry);  	const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns_ops;  	struct task_struct *task;  	struct path ns_path;  	void *error = ERR_PTR(-EACCES); +	if (!dentry) +		return ERR_PTR(-ECHILD); +  	task = get_proc_task(inode);  	if (!task)  		return error; @@ -74,7 +78,7 @@ static int proc_ns_readlink(struct dentry *dentry, char __user *buffer, int bufl  static const struct inode_operations proc_ns_link_inode_operations = {  	.readlink	= proc_ns_readlink, -	.follow_link	= proc_ns_follow_link, +	.get_link	= proc_ns_get_link,  	.setattr	= proc_setattr,  };  | 
