FAILED: patch "[PATCH] ovl: fix getcwd() failure after unsuccessful rmdir" failed to apply to 4.4-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
ce9113bbcbf45a57c082d6603b9a9f342be3ef74Mon Sep 17 00:00:00 2001
From: Rui Wang <[email protected]>
Date: Fri, 8 Jan 2016 23:09:59 +0800
Subject: [PATCH] ovl: fix getcwd() failure after unsuccessful rmdir
ovl_remove_upper() should do d_drop() only after it successfully removes the dir, otherwise a subsequent getcwd() system call will fail, breaking userspace programs.
This is to fix: https://bugzilla.kernel.org/show_bug.cgi?id=110491
Signed-off-by Rui Wang <[email protected]>
Reviewed-by Konstantin Khlebnikov <[email protected]>
Signed-off-by Miklos Szeredi <[email protected]>
Cc <[email protected]>
fs/overlayfs/dir.c +2 -1
@@ -618,7 +618,8 @@ static int ovl_remove_upper(struct dentry *dentry, bool is_dir)* sole user of this dentry. Too tricky... Just unhash for * now. */ -d_drop (dentry); +if (!err) +d_drop (dentry);inode_unlock (dir);return err;