From: Al Viro Date: Wed, 12 May 2021 20:21:43 +0000 (-0400) Subject: d_path: prepend_path(): lift resetting b in case when we'd return 3 out of loop X-Git-Tag: v5.14-rc1~91^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2dac0ad17598d1e54a264ed9286fa7bdbd75a97b;p=thirdparty%2Flinux.git 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 --- diff --git a/fs/d_path.c b/fs/d_path.c index 3836f5d0b0238..9a0356cc98d35 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);