Unverified Commit 1f477c96 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!1165 [sync] PR-1098: proc: allow pid_revalidate() during LOOKUP_RCU

parents 7ea3472e 32dfe7c7
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -2101,19 +2101,21 @@ static int pid_revalidate(struct dentry *dentry, unsigned int flags)
{
	struct inode *inode;
	struct task_struct *task;
	int ret = 0;

	if (flags & LOOKUP_RCU)
		return -ECHILD;

	inode = d_inode(dentry);
	task = get_proc_task(inode);
	rcu_read_lock();
	inode = d_inode_rcu(dentry);
	if (!inode)
		goto out;
	task = pid_task(proc_pid(inode), PIDTYPE_PID);

	if (task) {
		pid_update_inode(task, inode);
		put_task_struct(task);
		return 1;
		ret = 1;
	}
	return 0;
out:
	rcu_read_unlock();
	return ret;
}

static inline bool proc_inode_is_dead(struct inode *inode)