From 2dac0ad17598d1e54a264ed9286fa7bdbd75a97b Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 12 May 2021 16:21:43 -0400 Subject: d_path: prepend_path(): lift resetting b in case when we'd return 3 out of loop preparation to extracting the loop into helper (next commit) Signed-off-by: Al Viro --- fs/d_path.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'fs/d_path.c') diff --git a/fs/d_path.c b/fs/d_path.c index 3836f5d0b023..9a0356cc98d3 100644 --- a/fs/d_path.c +++ b/fs/d_path.c @@ -115,7 +115,6 @@ restart: /* Escaped? */ if (dentry != mnt->mnt.mnt_root) { - b = *p; error = 3; break; } @@ -156,6 +155,9 @@ restart: } done_seqretry(&mount_lock, m_seq); + if (unlikely(error == 3)) + b = *p; + if (b.len == p->len) prepend(&b, "/", 1); -- cgit v1.2.3