diff options
Diffstat (limited to 'selinux')
-rw-r--r-- | selinux/load_policy.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/selinux/load_policy.c b/selinux/load_policy.c index 5d140bc96..add5c662c 100644 --- a/selinux/load_policy.c +++ b/selinux/load_policy.c @@ -1,6 +1,5 @@ /* * load_policy - * This implementation is based on old load_policy to be small. * Author: Yuichi Nakamura <ynakam@hitachisoft.jp> */ #include "libbb.h" @@ -8,22 +7,14 @@ int load_policy_main(int argc, char **argv); int load_policy_main(int argc, char **argv) { - int fd; - struct stat st; - void *data; - if (argc != 2) { + int rc; + + if (argc != 1) { bb_show_usage(); } - fd = xopen(argv[1], O_RDONLY); - if (fstat(fd, &st) < 0) { - bb_perror_msg_and_die("can't fstat"); - } - data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); - if (data == MAP_FAILED) { - bb_perror_msg_and_die("can't mmap"); - } - if (security_load_policy(data, st.st_size) < 0) { + rc = selinux_mkload_policy(1); + if (rc < 0) { bb_perror_msg_and_die("can't load policy"); } |