[apparmor] cache behavior

John Johansen john.johansen at canonical.com
Sun Nov 15 22:19:32 UTC 2015


So our the parser has several flags to control the cache behavior

  skip-cache to entirely skip the cache (which doesn't work in all cases, see previous patch)
  skip-read-cache to skip the cache when reading but to still allow writing
  write-cache to cause the cache to be written.

and a few other flags as well, however this set of flags has resulted in multiple cases where
one is checked, eg. skip-cache and not write-cache OR write-cache and not skip cache. And this
results in odd bugs.

The question is do we keep the current set of flags, and if so how do we go about fixing the
issue.
- check each location and make sure the correct set of checks are in place
- make skip-cache imply no-write-cache

or, do we want to clean this set of flags up? If it worth keeping the ability to skip reading
the cache but write it (can be used to cleanup corrupted caches, but we already also have
a purge-cache flag for that). Or should we reduce to a simpler set of supported semantics
now that the cache is more mature.

Some of these options came about originally because the cache was based only around the
binary dump output and there was no timestamp or validation checks. With timestamps, and
hopefully hashing soon, I think we might be able to get away with simplifying the set
of choices more.

opinions?



More information about the AppArmor mailing list