lkml.org 
[lkml]   [2013]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: SELinux change in 3.13 causes sync hang
On 12/10/13, 12:35 PM, Eric Paris wrote:
> On Tue, 2013-12-10 at 15:25 -0500, Eric Paris wrote:
>
>> I'll try to write a patch to fix that logic...
>
> Anand,
>
> How about something like (untested but it compiles):


Sorry, it took me a while to compare the committed patch and my original
submission. The original patch did not have the subtype matching issue
(but had a different issue) and it looks like this bug has come in the
reworked/committed patch. I think the fix you have pasted below works.

Reviewed-by: Anand Avati <avati@redhat.com>

Thanks,
Avati

>
> diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
> index ee470a0..2b437fc8 100644
> --- a/security/selinux/ss/services.c
> +++ b/security/selinux/ss/services.c
> @@ -2349,9 +2359,17 @@ int security_fs_use(struct super_block *sb)
> if (strncmp(fstype, c->u.name, baselen))
> continue;
>
> - /* if there is no subtype, this is the one! */
> - if (!subtype)
> - break;
> + /* current mount has no subtype */
> + if (!subtype) {
> + /*
> + * if there is no subtype in policy this is our match
> + * if there is a subtype in policy keep looking,
> + */
> + if (baselen == strlen(c->u.name))
> + break;
> + else
> + continue;
> + }
>
> /* skip past the base in this entry */
> sub = c->u.name + baselen;
>
>



\
 
 \ /
  Last update: 2013-12-10 23:21    [W:0.042 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site