|
@@ -1034,8 +1034,11 @@ static int selinux_sb_clone_mnt_opts(const struct super_block *oldsb,
|
|
|
BUG_ON(!(oldsbsec->flags & SE_SBINITIALIZED));
|
|
BUG_ON(!(oldsbsec->flags & SE_SBINITIALIZED));
|
|
|
|
|
|
|
|
/* if fs is reusing a sb, make sure that the contexts match */
|
|
/* if fs is reusing a sb, make sure that the contexts match */
|
|
|
- if (newsbsec->flags & SE_SBINITIALIZED)
|
|
|
|
|
|
|
+ if (newsbsec->flags & SE_SBINITIALIZED) {
|
|
|
|
|
+ if ((kern_flags & SECURITY_LSM_NATIVE_LABELS) && !set_context)
|
|
|
|
|
+ *set_kern_flags |= SECURITY_LSM_NATIVE_LABELS;
|
|
|
return selinux_cmp_sb_context(oldsb, newsb);
|
|
return selinux_cmp_sb_context(oldsb, newsb);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
mutex_lock(&newsbsec->lock);
|
|
mutex_lock(&newsbsec->lock);
|
|
|
|
|
|