1 diff -ur apparmor-2.12.org/parser/parser_main.c apparmor-2.12/parser/parser_main.c
2 --- apparmor-2.12.org/parser/parser_main.c 2017-12-24 09:48:31.000000000 +0100
3 +++ apparmor-2.12/parser/parser_main.c 2018-01-10 09:33:09.568033805 +0100
8 + cache_tstamp_final_check();
10 /* Load a binary cache if it exists and is newest */
11 if (cache_hit(cachename)) {
12 retval = process_binary(option, kernel_interface,
13 diff -ur apparmor-2.12.org/parser/policy_cache.c apparmor-2.12/parser/policy_cache.c
14 --- apparmor-2.12.org/parser/policy_cache.c 2017-12-24 09:48:31.000000000 +0100
15 +++ apparmor-2.12/parser/policy_cache.c 2018-01-10 09:30:27.533641865 +0100
20 +void cache_tstamp_final_check(void)
22 + if (tstamp_cmp(cache_tstamp, mru_policy_tstamp) != 0) {
23 + pwarn(WARN_CACHE, "%s: cache mtime is different than policy files mtimes\n", progname);
28 void update_mru_tstamp(FILE *file, const char *name)
30 struct stat stat_file;
31 diff -ur apparmor-2.12.org/parser/policy_cache.h apparmor-2.12/parser/policy_cache.h
32 --- apparmor-2.12.org/parser/policy_cache.h 2017-12-24 09:48:31.000000000 +0100
33 +++ apparmor-2.12/parser/policy_cache.h 2018-01-10 09:31:45.412419437 +0100
35 extern int debug_cache;
37 void set_cache_tstamp(struct timespec t);
38 +void cache_tstamp_final_check(void);
39 void update_mru_tstamp(FILE *file, const char *path);
40 bool valid_cached_file_version(const char *cachename);
41 char *cache_filename(const char *cachedir, const char *basename);