Merge branch 'tomoyo-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek...
authorJames Morris <james.l.morris@oracle.com>
Mon, 13 Apr 2015 02:07:47 +0000 (12:07 +1000)
committerJames Morris <james.l.morris@oracle.com>
Mon, 13 Apr 2015 02:07:47 +0000 (12:07 +1000)
security/tomoyo/.gitignore
security/tomoyo/Kconfig
security/tomoyo/Makefile
security/tomoyo/policy/exception_policy.conf.default [new file with mode: 0644]

index 5caf1a6f59078d653f967341eb99fa962d730a8d..dc0f220a210bfa23fe5f383fa308cfa43e00dc3f 100644 (file)
@@ -1,2 +1,2 @@
 builtin-policy.h
-policy/
+policy/*.conf
index 604e718d68d35ecb305b3ad71ae774a848ea5a02..404dce66952a0b06297da70e41b7acafad026647 100644 (file)
@@ -6,6 +6,7 @@ config SECURITY_TOMOYO
        select SECURITY_PATH
        select SECURITY_NETWORK
        select SRCU
+       select BUILD_BIN2C
        default n
        help
          This selects TOMOYO Linux, pathname-based access control.
index 56a0c7be409eaa14524ea67c1ba204464eb904db..65dbcb2fd850289a192e3b24df50315bf9f3751b 100644 (file)
@@ -1,48 +1,15 @@
 obj-y = audit.o common.o condition.o domain.o environ.o file.o gc.o group.o load_policy.o memory.o mount.o network.o realpath.o securityfs_if.o tomoyo.o util.o
 
-$(obj)/policy/profile.conf:
-       @mkdir -p $(obj)/policy/
-       @echo Creating an empty policy/profile.conf
-       @touch $@
-
-$(obj)/policy/exception_policy.conf:
-       @mkdir -p $(obj)/policy/
-       @echo Creating a default policy/exception_policy.conf
-       @echo initialize_domain /sbin/modprobe from any >> $@
-       @echo initialize_domain /sbin/hotplug from any >> $@
-
-$(obj)/policy/domain_policy.conf:
-       @mkdir -p $(obj)/policy/
-       @echo Creating an empty policy/domain_policy.conf
-       @touch $@
-
-$(obj)/policy/manager.conf:
-       @mkdir -p $(obj)/policy/
-       @echo Creating an empty policy/manager.conf
-       @touch $@
-
-$(obj)/policy/stat.conf:
-       @mkdir -p $(obj)/policy/
-       @echo Creating an empty policy/stat.conf
-       @touch $@
-
-$(obj)/builtin-policy.h: $(obj)/policy/profile.conf $(obj)/policy/exception_policy.conf $(obj)/policy/domain_policy.conf $(obj)/policy/manager.conf $(obj)/policy/stat.conf
-       @echo Generating built-in policy for TOMOYO 2.5.x.
-       @echo "static char tomoyo_builtin_profile[] __initdata =" > $@.tmp
-       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < $(obj)/policy/profile.conf >> $@.tmp
-       @echo "\"\";" >> $@.tmp
-       @echo "static char tomoyo_builtin_exception_policy[] __initdata =" >> $@.tmp
-       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < $(obj)/policy/exception_policy.conf >> $@.tmp
-       @echo "\"\";" >> $@.tmp
-       @echo "static char tomoyo_builtin_domain_policy[] __initdata =" >> $@.tmp
-       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < $(obj)/policy/domain_policy.conf >> $@.tmp
-       @echo "\"\";" >> $@.tmp
-       @echo "static char tomoyo_builtin_manager[] __initdata =" >> $@.tmp
-       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < $(obj)/policy/manager.conf >> $@.tmp
-       @echo "\"\";" >> $@.tmp
-       @echo "static char tomoyo_builtin_stat[] __initdata =" >> $@.tmp
-       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < $(obj)/policy/stat.conf >> $@.tmp
-       @echo "\"\";" >> $@.tmp
-       @mv $@.tmp $@
+targets += builtin-policy.h
+define do_policy
+echo "static char tomoyo_builtin_$(1)[] __initdata ="; \
+$(objtree)/scripts/basic/bin2c <$(firstword $(wildcard $(obj)/policy/$(1).conf $(srctree)/$(src)/policy/$(1).conf.default) /dev/null); \
+echo ";"
+endef
+quiet_cmd_policy  = POLICY  $@
+      cmd_policy  = ($(call do_policy,profile); $(call do_policy,exception_policy); $(call do_policy,domain_policy); $(call do_policy,manager); $(call do_policy,stat)) >$@
+
+$(obj)/builtin-policy.h: $(wildcard $(obj)/policy/*.conf $(src)/policy/*.conf.default) FORCE
+       $(call if_changed,policy)
 
 $(obj)/common.o: $(obj)/builtin-policy.h
diff --git a/security/tomoyo/policy/exception_policy.conf.default b/security/tomoyo/policy/exception_policy.conf.default
new file mode 100644 (file)
index 0000000..2678df4
--- /dev/null
@@ -0,0 +1,2 @@
+initialize_domain /sbin/modprobe from any
+initialize_domain /sbin/hotplug from any