Thread (19 messages) 19 messages, 3 authors, 2019-11-16

Re: [PATCH v16 09/12] namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution

From: Aleksa Sarai <hidden>
Date: 2019-11-16 17:40:37
Also in: linux-alpha, linux-arch, linuxppc-dev

On 2019-11-16, Al Viro [off-list ref] wrote:
On Sat, Nov 16, 2019 at 11:27:59AM +1100, Aleksa Sarai wrote:
quoted
+		if (unlikely(nd->flags & LOOKUP_IS_SCOPED)) {
+			bool m_retry = read_seqretry(&mount_lock, nd->m_seq);
+			bool r_retry = read_seqretry(&rename_lock, nd->r_seq);
+
+			/*
+			 * If there was a racing rename or mount along our
+			 * path, then we can't be sure that ".." hasn't jumped
+			 * above nd->root (and so userspace should retry or use
+			 * some fallback).
+			 */
+			if (unlikely(m_retry || r_retry))
+				return -EAGAIN;
+		}
 	}
 	return 0;
Elaborate...  Do these boolean variables make any sense now, really?
You're quite right, they don't make sense any more. I'll drop them.

-- 
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
<https://www.cyphar.com/>

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help