Files
linux/security/selinux/initcalls.c
Paul Moore 3156bc814f selinux: move initcalls to the LSM framework
SELinux currently has a number of initcalls so we've created a new
function, selinux_initcall(), which wraps all of these initcalls so
that we have a single initcall function that can be registered with the
LSM framework.

Signed-off-by: Paul Moore <paul@paul-moore.com>
2025-10-22 19:24:28 -04:00

53 lines
859 B
C

// 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;
}