From: Matthew Sheets <masheets@linux.microsoft.com>
To: James Carter <jwcart2@gmail.com>
Cc: SELinux <selinux@vger.kernel.org>
Subject: Re: secilc genfscon parsing error
Date: Wed, 23 Nov 2022 10:06:17 -0700 [thread overview]
Message-ID: <0ed7500a-7369-452b-21d6-c452ecee37b0@linux.microsoft.com> (raw)
In-Reply-To: <CAP+JOzRp5thGEHwv2eMtA-O+O9iHUkciKGg7imkapBAhLfOxHg@mail.gmail.com>
On 11/23/2022 9:15 AM, James Carter wrote:
> On Wed, Nov 23, 2022 at 10:55 AM Matthew Sheets
> <masheets@linux.microsoft.com> wrote:
>>
>> Hi,
>>
>> I am seeing a parsing error from secilc when trying to compile the
>> following line:
>> (genfscon sysfs "/zap" file (system_u object_r foo ((s0) (s0))))
>>
>> But according to the documentation here:
>> https://github.com/SELinuxProject/selinux/blob/master/secilc/docs/cil_file_labeling_statements.md#genfscon
>> I believe this should be a valid line.
>>
>> The compiler error given is:
>> Invalid syntax
>> Bad genfscon declaration at out.cil:129
>> Failed to build AST
>> Failed to compile cildb: -1
>>
>> If I remove the file keyword everything compiles correctly.
>>
>> Other interesting points of data:
>>
>> In ref policy there is the following line in selinux.te
>> genfscon selinuxfs /booleans/ -- gen_context(system_u:object_r:boolean_t,s0)
>>
>> When compiling this to cil with checkpolicy the following line is produced:
>> (genfscon selinuxfs "/booleans/" (system_u object_r boolean_t (systemlow
>> systemlow)))
>> Which has no reference to the optional file_type field.
>
> CIL did not properly handle the optional file type until a year ago.
> The SELinux userspace version 3.4, released last May, would be the
> only one that has the fix.
> Your rule will work with the latest release.
>
> Thanks,
> Jim
Hi Jim,
I pulled the newest master (fb7f35495fbad468d6efa76c5fed727659903038)
rebuilt & installed the whole selinux repo and I am seeing the same issue.
I also made the following change:
diff --git a/secilc/test/policy.cil b/secilc/test/policy.cil
index e6b78618..1bcac523 100644
--- a/secilc/test/policy.cil
+++ b/secilc/test/policy.cil
@@ -279,7 +279,7 @@
(portcon tcp 22 system_u_bin_t_l2h)
(portcon dccp (2048 2096) system_u_bin_t_l2h)
(portcon sctp (1024 1035) system_u_bin_t_l2h)
- (genfscon - "/usr/bin" system_u_bin_t_l2h)
+ (genfscon - "/usr/bin" file system_u_bin_t_l2h)
(netifcon eth0 system_u_bin_t_l2h system_u_bin_t_l2h)
;different contexts?
(fsuse xattr ext3 system_u_bin_t_l2h)
And ran 'make test' in the secilc directory and saw the same error in
the previous email.
Is there possibly something else I am missing in my environment?
next prev parent reply other threads:[~2022-11-23 17:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-23 15:53 secilc genfscon parsing error Matthew Sheets
2022-11-23 16:15 ` James Carter
2022-11-23 17:06 ` Matthew Sheets [this message]
2022-11-23 18:10 ` Dominick Grift
2022-11-23 18:13 ` Dominick Grift
2022-11-23 18:29 ` Matthew Sheets
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0ed7500a-7369-452b-21d6-c452ecee37b0@linux.microsoft.com \
--to=masheets@linux.microsoft.com \
--cc=jwcart2@gmail.com \
--cc=selinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.