1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright (C) 2021 Microsoft Corporation
7 * Measure critical data structures maintainted by SELinux
10 #include <linux/vmalloc.h>
11 #include <linux/ima.h>
16 * selinux_ima_measure_state - Measure hash of the SELinux policy
18 * @state: selinux state struct
20 * NOTE: This function must be called with policy_mutex held.
22 void selinux_ima_measure_state(struct selinux_state *state)
29 * Measure SELinux policy only after initialization is completed.
31 if (!selinux_initialized(state))
34 rc = security_read_state_kernel(state, &policy, &policy_len);
36 pr_err("SELinux: %s: failed to read policy %d.\n", __func__, rc);
40 ima_measure_critical_data("selinux", "selinux-policy-hash",
41 policy, policy_len, true);