diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2014-09-04 03:01:36 +0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2014-09-04 03:01:36 +0400 |
commit | 516d5f8b04ce2bcd24f03323fc743ae25b81373d (patch) | |
tree | ff37e84692dbef5063bbf22672eb8bfad0f25dd8 /security/selinux/hooks.c | |
parent | 6ba694560caeb3531dbedd5b3a37af037ef2a833 (diff) | |
parent | 69e273c0b0a3c337a521d083374c918dc52c666f (diff) | |
download | linux-516d5f8b04ce2bcd24f03323fc743ae25b81373d.tar.xz |
Merge tag 'v3.17-rc3' into next
Sync with mainline to bring in Chrome EC changes.
Diffstat (limited to 'security/selinux/hooks.c')
-rw-r--r-- | security/selinux/hooks.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 83d06db34d03..b0e940497e23 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -161,6 +161,17 @@ static int selinux_peerlbl_enabled(void) return (selinux_policycap_alwaysnetwork || netlbl_enabled() || selinux_xfrm_enabled()); } +static int selinux_netcache_avc_callback(u32 event) +{ + if (event == AVC_CALLBACK_RESET) { + sel_netif_flush(); + sel_netnode_flush(); + sel_netport_flush(); + synchronize_net(); + } + return 0; +} + /* * initialise the security for the init task */ @@ -5993,6 +6004,9 @@ static __init int selinux_init(void) if (register_security(&selinux_ops)) panic("SELinux: Unable to register with kernel.\n"); + if (avc_add_callback(selinux_netcache_avc_callback, AVC_CALLBACK_RESET)) + panic("SELinux: Unable to register AVC netcache callback\n"); + if (selinux_enforcing) printk(KERN_DEBUG "SELinux: Starting in enforcing mode\n"); else |