| // SPDX-License-Identifier: GPL-2.0-only | |
| /* | |
| * SELinux initcalls | |
| */ | |
| #include <linux/init.h> | |
| #include "initcalls.h" | |
| /** | |
| * selinux_initcall - Perform the SELinux initcalls | |
| * | |
| * Used as a device initcall in the SELinux LSM definition. | |
| */ | |
| int __init selinux_initcall(void) | |
| { | |
| int rc = 0, rc_tmp = 0; | |
| rc_tmp = init_sel_fs(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| rc_tmp = sel_netport_init(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| rc_tmp = sel_netnode_init(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| rc_tmp = sel_netif_init(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| rc_tmp = sel_netlink_init(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| #if defined(CONFIG_SECURITY_INFINIBAND) | |
| rc_tmp = sel_ib_pkey_init(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| #endif | |
| #if defined(CONFIG_NETFILTER) | |
| rc_tmp = selinux_nf_ip_init(); | |
| if (!rc && rc_tmp) | |
| rc = rc_tmp; | |
| #endif | |
| return rc; | |
| } |