Patch "ncpfs: fix a braino in OOM handling in ncp_fill_cache()" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
ncpfs: fix a braino in OOM handling in ncp_fill_cache()
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ncpfs-fix-a-braino-in-oom-handling-in-ncp_fill_cache.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
803c00123a8012b3a283c0530910653973ef6d8fMon Sep 17 00:00:00 2001
From: Al Viro <[email protected]>
Date: Mon, 7 Mar 2016 22:17:07 -0500
Subject: ncpfs: fix a braino in OOM handling in ncp_fill_cache()
From: Al Viro <[email protected]>
commit 803c00123a8012b3a283c0530910653973ef6d8f upstream.
Failing to allocate an inode for child means that cache for *parent* is incompletely populated. So it's parent directory inode ('dir') that needs NCPI_DIR_CACHE flag removed, *not* the child inode ('inode', which is what we'd failed to allocate in the first place).
Fucked-up-in: commit 5e993e25 ("ncpfs: get rid of d_validate() nonsense")
--- fs/ncpfs/dir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/ncpfs/dir.c +1 -1
@@ -633,7 +633,7 @@ ncp_fill_cache(struct file *file, structd_rehash (newdent); }else {spin_lock (&dentry->d_lock); -NCP_FINFO (inode)->flags &= ~NCPI_DIR_CACHE ; +NCP_FINFO (dir)->flags &= ~NCPI_DIR_CACHE ;spin_unlock (&dentry->d_lock); } }else {
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/jffs2-reduce-the-breakage-on-recovery-from-halfway-failed-rename.patch queue-4.4/ncpfs-fix-a-braino-in-oom-handling-in-ncp_fill_cache.patch