selinux/libselinux/utils
Richard Haines e016502c0a
libselinux: Save digest of all partial matches for directory
We used to hash the file_context and skip the restorecon on the top
level directory if the hash doesn't change. But the file_context
might change after an OTA update; and some users experienced long
restorecon time as they have lots of files under directories like
/data/media.

This CL tries to hash all the partial match entries in the
file_context for each directory; and skips the restorecon if that
digest stays the same, regardless of the changes to the other parts
of file_context.

This is a version ported from Android that was originally written by:
xunchang <xunchang@google.com>

Signed-off-by: Richard Haines <richard_c_haines@btinternet.com>
2019-07-27 10:39:24 +02:00
..
.gitignore libselinux: Save digest of all partial matches for directory 2019-07-27 10:39:24 +02:00
avcstat.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
compute_av.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
compute_create.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
compute_member.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
compute_relabel.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
compute_user.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
getconlist.c Check strdup() failure 2019-05-15 17:36:18 -07:00
getdefaultcon.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
getenforce.c libselinux: use -W and -Werror in utils 2011-12-05 16:14:17 -05:00
getfilecon.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
getpidcon.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
getsebool.c libselinux: getsebool: always free names 2017-04-12 14:46:02 -04:00
getseuser.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
Makefile Makefile: add -Wstrict-overflow=5 to CFLAGS 2018-12-31 08:06:29 -08:00
matchpathcon.c another style fix 2019-05-15 17:35:43 -07:00
policyvers.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
sefcontext_compile.c libselinux/utils: add noreturn to sefcontext_compile 2016-10-18 13:51:23 -04:00
selabel_digest.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
selabel_get_digests_all_partial_matches.c libselinux: Save digest of all partial matches for directory 2019-07-27 10:39:24 +02:00
selabel_lookup_best_match.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
selabel_lookup.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
selabel_partial_match.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
selinux_check_access.c libselinux/utils: add noreturn attribute to selinux_check_access's usage 2017-05-05 13:07:04 -04:00
selinux_check_securetty_context.c libselinux: include errno.h instead of sys/errno.h 2017-01-09 16:00:22 -05:00
selinuxenabled.c initial import from svn trunk revision 2950 2008-08-19 15:30:36 -04:00
selinuxexeccon.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
setenforce.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
setfilecon.c Global replace exit(0) with more readable exit(EXIT_SUCCESS) 2019-05-15 17:34:43 -07:00
togglesebool.c libselinux/utils: fix all the noreturn errors 2016-11-01 17:29:49 -04:00
validatetrans.c Add security_validatetrans support 2019-04-09 06:51:02 -07:00