path: root/security/loadpin
diff options
authorMimi Zohar <>2018-07-13 14:06:02 -0400
committerJames Morris <>2018-07-16 12:31:57 -0700
commitc77b8cdf745d91eca138e7bfa430dc6640b604a0 (patch)
treef1cc1edc3cecbff32a4450d252b551f5260ee9e1 /security/loadpin
parentef96837b0de4af47732e2a8ebf5c18e8a885ded6 (diff)
module: replace the existing LSM hook in init_module
Both the init_module and finit_module syscalls call either directly or indirectly the security_kernel_read_file LSM hook. This patch replaces the direct call in init_module with a call to the new security_kernel_load_data hook and makes the corresponding changes in SELinux, LoadPin, and IMA. Signed-off-by: Mimi Zohar <> Cc: Jeff Vander Stoep <> Cc: Casey Schaufler <> Cc: Kees Cook <> Acked-by: Jessica Yu <> Acked-by: Paul Moore <> Acked-by: Kees Cook <> Signed-off-by: James Morris <>
Diffstat (limited to 'security/loadpin')
1 files changed, 6 insertions, 0 deletions
diff --git a/security/loadpin/loadpin.c b/security/loadpin/loadpin.c
index 5fa191252c8f..0716af28808a 100644
--- a/security/loadpin/loadpin.c
+++ b/security/loadpin/loadpin.c
@@ -173,9 +173,15 @@ static int loadpin_read_file(struct file *file, enum kernel_read_file_id id)
return 0;
+static int loadpin_load_data(enum kernel_load_data_id id)
+ return loadpin_read_file(NULL, (enum kernel_read_file_id) id);
static struct security_hook_list loadpin_hooks[] __lsm_ro_after_init = {
LSM_HOOK_INIT(sb_free_security, loadpin_sb_free_security),
LSM_HOOK_INIT(kernel_read_file, loadpin_read_file),
+ LSM_HOOK_INIT(kernel_load_data, loadpin_load_data),
void __init loadpin_add_hooks(void)