LSM: Add security module hook list heads
Add a list header for each security hook. They aren't used until later in the patch series. They are grouped together in a structure so that there doesn't need to be an external address for each. Macro-ize the initialization of the security_operations for each security module in anticipation of changing out the security_operations structure. Signed-off-by: Casey Schaufler <casey@schaufler-ca.com> Acked-by: John Johansen <john.johansen@canonical.com> Acked-by: Kees Cook <keescook@chromium.org> Acked-by: Paul Moore <paul@paul-moore.com> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Acked-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: James Morris <james.l.morris@oracle.com>
This commit is contained in:

committed by
James Morris

parent
f25fce3e8f
commit
e20b043a69
@@ -616,48 +616,48 @@ static int apparmor_task_setrlimit(struct task_struct *task,
|
||||
}
|
||||
|
||||
static struct security_operations apparmor_ops = {
|
||||
.name = "apparmor",
|
||||
LSM_HOOK_INIT(name, "apparmor"),
|
||||
|
||||
.ptrace_access_check = apparmor_ptrace_access_check,
|
||||
.ptrace_traceme = apparmor_ptrace_traceme,
|
||||
.capget = apparmor_capget,
|
||||
.capable = apparmor_capable,
|
||||
LSM_HOOK_INIT(ptrace_access_check, apparmor_ptrace_access_check),
|
||||
LSM_HOOK_INIT(ptrace_traceme, apparmor_ptrace_traceme),
|
||||
LSM_HOOK_INIT(capget, apparmor_capget),
|
||||
LSM_HOOK_INIT(capable, apparmor_capable),
|
||||
|
||||
.path_link = apparmor_path_link,
|
||||
.path_unlink = apparmor_path_unlink,
|
||||
.path_symlink = apparmor_path_symlink,
|
||||
.path_mkdir = apparmor_path_mkdir,
|
||||
.path_rmdir = apparmor_path_rmdir,
|
||||
.path_mknod = apparmor_path_mknod,
|
||||
.path_rename = apparmor_path_rename,
|
||||
.path_chmod = apparmor_path_chmod,
|
||||
.path_chown = apparmor_path_chown,
|
||||
.path_truncate = apparmor_path_truncate,
|
||||
.inode_getattr = apparmor_inode_getattr,
|
||||
LSM_HOOK_INIT(path_link, apparmor_path_link),
|
||||
LSM_HOOK_INIT(path_unlink, apparmor_path_unlink),
|
||||
LSM_HOOK_INIT(path_symlink, apparmor_path_symlink),
|
||||
LSM_HOOK_INIT(path_mkdir, apparmor_path_mkdir),
|
||||
LSM_HOOK_INIT(path_rmdir, apparmor_path_rmdir),
|
||||
LSM_HOOK_INIT(path_mknod, apparmor_path_mknod),
|
||||
LSM_HOOK_INIT(path_rename, apparmor_path_rename),
|
||||
LSM_HOOK_INIT(path_chmod, apparmor_path_chmod),
|
||||
LSM_HOOK_INIT(path_chown, apparmor_path_chown),
|
||||
LSM_HOOK_INIT(path_truncate, apparmor_path_truncate),
|
||||
LSM_HOOK_INIT(inode_getattr, apparmor_inode_getattr),
|
||||
|
||||
.file_open = apparmor_file_open,
|
||||
.file_permission = apparmor_file_permission,
|
||||
.file_alloc_security = apparmor_file_alloc_security,
|
||||
.file_free_security = apparmor_file_free_security,
|
||||
.mmap_file = apparmor_mmap_file,
|
||||
.mmap_addr = cap_mmap_addr,
|
||||
.file_mprotect = apparmor_file_mprotect,
|
||||
.file_lock = apparmor_file_lock,
|
||||
LSM_HOOK_INIT(file_open, apparmor_file_open),
|
||||
LSM_HOOK_INIT(file_permission, apparmor_file_permission),
|
||||
LSM_HOOK_INIT(file_alloc_security, apparmor_file_alloc_security),
|
||||
LSM_HOOK_INIT(file_free_security, apparmor_file_free_security),
|
||||
LSM_HOOK_INIT(mmap_file, apparmor_mmap_file),
|
||||
LSM_HOOK_INIT(mmap_addr, cap_mmap_addr),
|
||||
LSM_HOOK_INIT(file_mprotect, apparmor_file_mprotect),
|
||||
LSM_HOOK_INIT(file_lock, apparmor_file_lock),
|
||||
|
||||
.getprocattr = apparmor_getprocattr,
|
||||
.setprocattr = apparmor_setprocattr,
|
||||
LSM_HOOK_INIT(getprocattr, apparmor_getprocattr),
|
||||
LSM_HOOK_INIT(setprocattr, apparmor_setprocattr),
|
||||
|
||||
.cred_alloc_blank = apparmor_cred_alloc_blank,
|
||||
.cred_free = apparmor_cred_free,
|
||||
.cred_prepare = apparmor_cred_prepare,
|
||||
.cred_transfer = apparmor_cred_transfer,
|
||||
LSM_HOOK_INIT(cred_alloc_blank, apparmor_cred_alloc_blank),
|
||||
LSM_HOOK_INIT(cred_free, apparmor_cred_free),
|
||||
LSM_HOOK_INIT(cred_prepare, apparmor_cred_prepare),
|
||||
LSM_HOOK_INIT(cred_transfer, apparmor_cred_transfer),
|
||||
|
||||
.bprm_set_creds = apparmor_bprm_set_creds,
|
||||
.bprm_committing_creds = apparmor_bprm_committing_creds,
|
||||
.bprm_committed_creds = apparmor_bprm_committed_creds,
|
||||
.bprm_secureexec = apparmor_bprm_secureexec,
|
||||
LSM_HOOK_INIT(bprm_set_creds, apparmor_bprm_set_creds),
|
||||
LSM_HOOK_INIT(bprm_committing_creds, apparmor_bprm_committing_creds),
|
||||
LSM_HOOK_INIT(bprm_committed_creds, apparmor_bprm_committed_creds),
|
||||
LSM_HOOK_INIT(bprm_secureexec, apparmor_bprm_secureexec),
|
||||
|
||||
.task_setrlimit = apparmor_task_setrlimit,
|
||||
LSM_HOOK_INIT(task_setrlimit, apparmor_task_setrlimit),
|
||||
};
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user