Merge b5f7ab6b1c
("Merge tag 'fs-dedupe-last-block-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux") into android-mainline
Baby steps in the 5.6-rc1 merge cycle to make things easier to review and debug. Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I005e68433be6b1d66bd56d7e1c8f44ab8e78bebe
This commit is contained in:
@@ -69,7 +69,7 @@
|
||||
|
||||
struct netlbl_lsm_secattr;
|
||||
|
||||
extern int selinux_enabled;
|
||||
extern int selinux_enabled_boot;
|
||||
|
||||
/* Policy capabilities */
|
||||
enum {
|
||||
@@ -99,7 +99,9 @@ struct selinux_avc;
|
||||
struct selinux_ss;
|
||||
|
||||
struct selinux_state {
|
||||
#ifdef CONFIG_SECURITY_SELINUX_DISABLE
|
||||
bool disabled;
|
||||
#endif
|
||||
#ifdef CONFIG_SECURITY_SELINUX_DEVELOP
|
||||
bool enforcing;
|
||||
#endif
|
||||
@@ -109,22 +111,34 @@ struct selinux_state {
|
||||
bool android_netlink_route;
|
||||
struct selinux_avc *avc;
|
||||
struct selinux_ss *ss;
|
||||
};
|
||||
} __randomize_layout;
|
||||
|
||||
void selinux_ss_init(struct selinux_ss **ss);
|
||||
void selinux_avc_init(struct selinux_avc **avc);
|
||||
|
||||
extern struct selinux_state selinux_state;
|
||||
|
||||
static inline bool selinux_initialized(const struct selinux_state *state)
|
||||
{
|
||||
/* do a synchronized load to avoid race conditions */
|
||||
return smp_load_acquire(&state->initialized);
|
||||
}
|
||||
|
||||
static inline void selinux_mark_initialized(struct selinux_state *state)
|
||||
{
|
||||
/* do a synchronized write to avoid race conditions */
|
||||
smp_store_release(&state->initialized, true);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SECURITY_SELINUX_DEVELOP
|
||||
static inline bool enforcing_enabled(struct selinux_state *state)
|
||||
{
|
||||
return state->enforcing;
|
||||
return READ_ONCE(state->enforcing);
|
||||
}
|
||||
|
||||
static inline void enforcing_set(struct selinux_state *state, bool value)
|
||||
{
|
||||
state->enforcing = value;
|
||||
WRITE_ONCE(state->enforcing, value);
|
||||
}
|
||||
#else
|
||||
static inline bool enforcing_enabled(struct selinux_state *state)
|
||||
@@ -137,6 +151,23 @@ static inline void enforcing_set(struct selinux_state *state, bool value)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SECURITY_SELINUX_DISABLE
|
||||
static inline bool selinux_disabled(struct selinux_state *state)
|
||||
{
|
||||
return READ_ONCE(state->disabled);
|
||||
}
|
||||
|
||||
static inline void selinux_mark_disabled(struct selinux_state *state)
|
||||
{
|
||||
WRITE_ONCE(state->disabled, true);
|
||||
}
|
||||
#else
|
||||
static inline bool selinux_disabled(struct selinux_state *state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline bool selinux_policycap_netpeer(void)
|
||||
{
|
||||
struct selinux_state *state = &selinux_state;
|
||||
@@ -403,6 +434,7 @@ extern int selinux_nlmsg_lookup(u16 sclass, u16 nlmsg_type, u32 *perm);
|
||||
extern void avtab_cache_init(void);
|
||||
extern void ebitmap_cache_init(void);
|
||||
extern void hashtab_cache_init(void);
|
||||
extern int security_sidtab_hash_stats(struct selinux_state *state, char *page);
|
||||
extern void selinux_nlmsg_init(void);
|
||||
|
||||
#endif /* _SELINUX_SECURITY_H_ */
|
||||
|
Reference in New Issue
Block a user