[linux-yocto] v5.2.x - stable updates comprising v5.2.22

Paul Gortmaker paul.gortmaker at windriver.com
Tue Nov 12 10:17:57 PST 2019


[Re: v5.2.x - stable updates comprising v5.2.22] On 10/11/2019 (Sun 22:36) Bruce Ashfield wrote:

> This is merged, that being said .. there are a couple of things that
> could use a second set of eyes.
> 
> 1) I had a preempt-rt conflict in fs/libfs.c. It looks like
> scan_positives() was introduced. The merge picked up a conflict, when
> really it should have just been the introduction of that new function
> and a drop of the old ones. But again, a 2nd set of eyes to see if I
> read it right would be nice.

Yes, it seems this -rt commit:

commit 037e1e5242b669920374c993cace7c3872257747
Author: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Date:   Fri Oct 20 11:29:53 2017 +0200

    fs/dcache: disable preemption on i_dir_seq's write side

bumps into this stable backport:

commit 60624198d203847694fe8f637fed6d67d8027370
Author: Al Viro <viro at zeniv.linux.org.uk>
Date:   Sun Sep 15 12:12:39 2019 -0400

    Fix the locking in dcache_readdir() and friends
    
...and as usual, the merge conflict isn't really all that informative.
However, if you revert the -rt change, and then merge, and then re-apply
the -rt change, it is more clear.

In any case, here is a small patch to fixup the current preempt-rt
compile failures against v5.2/standard/preempt-rt/base


diff --git a/fs/libfs.c b/fs/libfs.c
index 81d210ba8e83..7ac2d4bb4735 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -125,8 +125,9 @@ static struct list_head *scan_positives(struct dentry *cursor,
 		}
 	}
 	spin_unlock(&dentry->d_lock);
-	dput(last);
-	return found;
+	dput(*res);
+	*res = found;
+	return p;
 }
 
 loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence)


More information about the linux-yocto mailing list