fanghuilin / rpms / kernel

Forked from rpms/kernel 3 years ago
Clone
b37f23
https://bugs.centos.org/view.php?id=7369
b37f23
http://kozlex.blogspot.com/2015/05/building-ecryptfs-on-redhat-7_19.html
b37f23
b37f23
To fix ecryptfs and build it in the kernel follow is the partial fix:
b37f23
This is a fix that will not be proposed to upstream cause it is not 
b37f23
compatible with other kernels; instead it is a patch to make ecryptfs 
b37f23
work on Rhel7 only.
b37f23
b37f23
--- a/fs/ecryptfs/main.c	2015-03-06 13:45:38.000000000 -0800
b37f23
+++ b/fs/ecryptfs/main.c	2015-07-02 14:46:37.000000000 -0700
b37f23
@@ -500,6 +500,7 @@ static struct dentry *ecryptfs_mount(str
b37f23
 	struct path path;
b37f23
 	uid_t check_ruid;
b37f23
 	int rc;
b37f23
+	int *s_stack_depth;
b37f23
 
b37f23
 	sbi = kmem_cache_zalloc(ecryptfs_sb_info_cache, GFP_KERNEL);
b37f23
 	if (!sbi) {
b37f23
@@ -567,10 +568,10 @@ static struct dentry *ecryptfs_mount(str
b37f23
 	s->s_maxbytes = path.dentry->d_sb->s_maxbytes;
b37f23
 	s->s_blocksize = path.dentry->d_sb->s_blocksize;
b37f23
 	s->s_magic = ECRYPTFS_SUPER_MAGIC;
b37f23
-	s->s_stack_depth = path.dentry->d_sb->s_stack_depth + 1;
b37f23
+	s_stack_depth = get_s_stack_depth(path.dentry->d_sb);
b37f23
 
b37f23
 	rc = -EINVAL;
b37f23
-	if (s->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
b37f23
+	if ( *s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
b37f23
 		pr_err("eCryptfs: maximum fs stacking depth exceeded\n");
b37f23
 		goto out_free;
b37f23
 	}