xref: /linux/security/landlock/net.h (revision 906fd46a65383cd639e5eec72a047efc33045d86)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Landlock LSM - Network management and hooks
4  *
5  * Copyright © 2022-2023 Huawei Tech. Co., Ltd.
6  */
7 
8 #ifndef _SECURITY_LANDLOCK_NET_H
9 #define _SECURITY_LANDLOCK_NET_H
10 
11 #include "common.h"
12 #include "ruleset.h"
13 #include "setup.h"
14 
15 #if IS_ENABLED(CONFIG_INET)
16 __init void landlock_add_net_hooks(void);
17 
18 int landlock_append_net_rule(struct landlock_ruleset *const ruleset,
19 			     const u16 port, access_mask_t access_rights);
20 #else /* IS_ENABLED(CONFIG_INET) */
21 static inline void landlock_add_net_hooks(void)
22 {
23 }
24 
25 static inline int
26 landlock_append_net_rule(struct landlock_ruleset *const ruleset, const u16 port,
27 			 access_mask_t access_rights)
28 {
29 	return -EAFNOSUPPORT;
30 }
31 #endif /* IS_ENABLED(CONFIG_INET) */
32 
33 #endif /* _SECURITY_LANDLOCK_NET_H */
34