xref: /openbmc/linux/security/safesetid/lsm.h (revision 1802d0be)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * SafeSetID Linux Security Module
4  *
5  * Author: Micah Morton <mortonm@chromium.org>
6  *
7  * Copyright (C) 2018 The Chromium OS Authors.
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2, as
11  * published by the Free Software Foundation.
12  *
13  */
14 #ifndef _SAFESETID_H
15 #define _SAFESETID_H
16 
17 #include <linux/types.h>
18 
19 /* Flag indicating whether initialization completed */
20 extern int safesetid_initialized;
21 
22 /* Function type. */
23 enum safesetid_whitelist_file_write_type {
24 	SAFESETID_WHITELIST_ADD, /* Add whitelist policy. */
25 	SAFESETID_WHITELIST_FLUSH, /* Flush whitelist policies. */
26 };
27 
28 /* Add entry to safesetid whitelist to allow 'parent' to setid to 'child'. */
29 int add_safesetid_whitelist_entry(kuid_t parent, kuid_t child);
30 
31 void flush_safesetid_whitelist_entries(void);
32 
33 #endif /* _SAFESETID_H */
34