summaryrefslogtreecommitdiffstats
path: root/meta-security/lib/oeqa/runtime/files/test_privileged_change_self_label.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-security/lib/oeqa/runtime/files/test_privileged_change_self_label.sh')
-rw-r--r--meta-security/lib/oeqa/runtime/files/test_privileged_change_self_label.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/meta-security/lib/oeqa/runtime/files/test_privileged_change_self_label.sh b/meta-security/lib/oeqa/runtime/files/test_privileged_change_self_label.sh
new file mode 100644
index 000000000..26d9e9d22
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/files/test_privileged_change_self_label.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+initial_label=`cat /proc/self/attr/current 2>/dev/null`
+modified_label="test_label"
+
+echo "$modified_label" >/proc/self/attr/current 2>/dev/null
+
+new_label=`cat /proc/self/attr/current 2>/dev/null`
+
+if [ "$new_label" != "$modified_label" ]; then
+ # restore proper label
+ echo $initial_label >/proc/self/attr/current
+ echo "Privileged process could not change its label"
+ exit 1
+fi
+
+echo "$initial_label" >/proc/self/attr/current 2>/dev/null
+exit 0 \ No newline at end of file