summaryrefslogtreecommitdiff
path: root/selinux/load_policy.c
diff options
context:
space:
mode:
authorDenis Vlasenko2007-09-26 18:01:32 +0000
committerDenis Vlasenko2007-09-26 18:01:32 +0000
commitb042bd95143dbf84ddee08ee20a3845e003df1de (patch)
treebea43f903e4f3a53dab0d2d2f53c19f1b6962249 /selinux/load_policy.c
parentdd5e11bb053e8dd278662b1ba69d04b6c5d9b3ff (diff)
downloadbusybox-b042bd95143dbf84ddee08ee20a3845e003df1de.zip
busybox-b042bd95143dbf84ddee08ee20a3845e003df1de.tar.gz
load_policy: update (Yuichi Nakamura <ynakam@hitachisoft.jp>)
Diffstat (limited to 'selinux/load_policy.c')
-rw-r--r--selinux/load_policy.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/selinux/load_policy.c b/selinux/load_policy.c
index 5d140bc..add5c66 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");
}