Re: [PATCH] libsepol: quote paths in CIL conversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 8, 2021 at 3:46 PM Christian Göttsche
<cgzones@xxxxxxxxxxxxxx> wrote:
>
> When generating CIL policy from kernel or module policy quote paths,
> which are allowed to contain spaces, in the statements `genfscon` and
> `devicetreecon`.
>
> Reported by LuK1337 while building policy for Android via IRC.
>
> Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>

Acked-by: James Carter <jwcart2@xxxxxxxxx>

> ---
>  libsepol/src/kernel_to_cil.c | 4 ++--
>  libsepol/src/module_to_cil.c | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libsepol/src/kernel_to_cil.c b/libsepol/src/kernel_to_cil.c
> index 989aacde..30a27bf5 100644
> --- a/libsepol/src/kernel_to_cil.c
> +++ b/libsepol/src/kernel_to_cil.c
> @@ -2654,7 +2654,7 @@ static int write_genfscon_rules_to_cil(FILE *out, struct policydb *pdb)
>                                 goto exit;
>                         }
>
> -                       rc = strs_create_and_add(strs, "(genfscon %s %s %s)", 3,
> +                       rc = strs_create_and_add(strs, "(genfscon %s \"%s\" %s)", 3,
>                                                  fstype, name, ctx);
>                         free(ctx);
>                         if (rc != 0) {
> @@ -3115,7 +3115,7 @@ static int write_xen_devicetree_rules_to_cil(FILE *out, struct policydb *pdb)
>                         goto exit;
>                 }
>
> -               sepol_printf(out, "(devicetreecon %s %s)\n", name, ctx);
> +               sepol_printf(out, "(devicetreecon \"%s\" %s)\n", name, ctx);
>
>                 free(ctx);
>         }
> diff --git a/libsepol/src/module_to_cil.c b/libsepol/src/module_to_cil.c
> index 496693f4..19c7c65c 100644
> --- a/libsepol/src/module_to_cil.c
> +++ b/libsepol/src/module_to_cil.c
> @@ -2963,7 +2963,7 @@ static int genfscon_to_cil(struct policydb *pdb)
>
>         for (genfs = pdb->genfs; genfs != NULL; genfs = genfs->next) {
>                 for (ocon = genfs->head; ocon != NULL; ocon = ocon->next) {
> -                       cil_printf("(genfscon %s %s ", genfs->fstype, ocon->u.name);
> +                       cil_printf("(genfscon %s \"%s\" ", genfs->fstype, ocon->u.name);
>                         context_to_cil(pdb, &ocon->context[0]);
>                         cil_printf(")\n");
>                 }
> --
> 2.32.0
>




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux