46c5207482
Nicolas Iooss reports: When using checkpolicy to read a binary policy, permissive types are not written in the output file. In order to reproduce this issue, a test policy can be written from minimal.cil with the following commands: $ cd secilc/test/ $ cp minimum.cil my_policy.cil $ echo '(typepermissive TYPE)' >> my_policy.cil $ secilc my_policy.cil $ checkpolicy -bC -o /dev/stdout policy.31 # There is no "(typepermissive TYPE)" in checkpolicy output. This is because TYPE_FLAGS_PERMISSIVE is added to typdatum->flags only when loading a module, which uses the permissive flag in the type properties. A kernel policy defines permissive types in a dedicated bitmap, which gets loaded as p->permissive_map before the types are loaded. The solution is to use the permissive_map bitmap instead of relying on the flags field of the struct type_datum when writing out CIL or policy.conf policy from a binary. Reported-by: Nicolas Iooss <nicolas.iooss@m4x.org> Signed-off-by: James Carter <jwcart2@tycho.nsa.gov> |
||
---|---|---|
.. | ||
cil | ||
include | ||
man | ||
src | ||
tests | ||
utils | ||
.gitignore | ||
COPYING | ||
Makefile | ||
VERSION |