Signed-off-by: Dwight Engen <dwight.en...@oracle.com>
---
v2: return "none" when there is no lsm driver

 src/lxc/lsm/lsm.c |  9 ++++++++-
 src/lxc/lsm/lsm.h | 26 ++++++++++++++------------
 2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/src/lxc/lsm/lsm.c b/src/lxc/lsm/lsm.c
index f022de9..066102b 100644
--- a/src/lxc/lsm/lsm.c
+++ b/src/lxc/lsm/lsm.c
@@ -62,13 +62,20 @@ void lsm_init(void)
        INFO("Initialized LSM security driver %s", drv->name);
 }
 
-int lsm_enabled()
+int lsm_enabled(void)
 {
        if (drv)
                return drv->enabled();
        return 0;
 }
 
+const char *lsm_name(void)
+{
+       if (drv)
+               return drv->name;
+       return "none";
+}
+
 char *lsm_process_label_get(pid_t pid)
 {
        if (!drv) {
diff --git a/src/lxc/lsm/lsm.h b/src/lxc/lsm/lsm.h
index ee093da..621e1af 100644
--- a/src/lxc/lsm/lsm.h
+++ b/src/lxc/lsm/lsm.h
@@ -37,19 +37,21 @@ struct lsm_drv {
 };
 
 #if HAVE_APPARMOR || HAVE_SELINUX
-void  lsm_init(void);
-int   lsm_enabled(void);
-char *lsm_process_label_get(pid_t pid);
-int   lsm_process_label_set(const char *label, int use_default);
-int   lsm_proc_mount(struct lxc_conf *lxc_conf);
-void  lsm_proc_unmount(struct lxc_conf *lxc_conf);
+void        lsm_init(void);
+int         lsm_enabled(void);
+const char *lsm_name(void);
+char       *lsm_process_label_get(pid_t pid);
+int         lsm_process_label_set(const char *label, int use_default);
+int         lsm_proc_mount(struct lxc_conf *lxc_conf);
+void        lsm_proc_unmount(struct lxc_conf *lxc_conf);
 #else
-static inline void  lsm_init(void) { }
-static inline int   lsm_enabled(void) { return 0; }
-static inline char *lsm_process_label_get(pid_t pid) { return NULL; }
-static inline int   lsm_process_label_set(char *label, int use_default) { 
return 0; }
-static inline int   lsm_proc_mount(struct lxc_conf *lxc_conf) { return 0; }
-static inline void  lsm_proc_unmount(struct lxc_conf *lxc_conf) { }
+static inline void        lsm_init(void) { }
+static inline int         lsm_enabled(void) { return 0; }
+static inline const char *lsm_name(void) { return "none"; }
+static inline char       *lsm_process_label_get(pid_t pid) { return NULL; }
+static inline int         lsm_process_label_set(char *label, int use_default) 
{ return 0; }
+static inline int         lsm_proc_mount(struct lxc_conf *lxc_conf) { return 
0; }
+static inline void        lsm_proc_unmount(struct lxc_conf *lxc_conf) { }
 #endif
 
 #endif
-- 
1.8.3.1


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to