* [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND.
@ 2019-12-18 6:00 Ravi Kumar Siddojigari
2019-12-19 2:08 ` Paul Moore
0 siblings, 1 reply; 3+ messages in thread
From: Ravi Kumar Siddojigari @ 2019-12-18 6:00 UTC (permalink / raw)
To: selinux; +Cc: 'Paul Moore', 'Stephen Smalley'
Updated the subject to reflect the change .
-----Original Message-----
From: selinux-owner@vger.kernel.org <selinux-owner@vger.kernel.org> On Behalf Of Ravi Kumar Siddojigari
Sent: Tuesday, December 17, 2019 8:42 PM
To: 'Paul Moore' <paul@paul-moore.com>
Cc: selinux@vger.kernel.org
Subject: RE: [PATCH] selinux: move pkey sid cache based retrieval under defconfig
Yes Paul, it should be under CONFIG_SECURITY_INFINIBAND thanks for correcting this .
Hope we can taken it fwd as all the targets with disabled InfiniBand can be gained .
Please find the updated path for review .
From 6a8c60eacd0b6e5189722bb1823864b6728c2e34 Mon Sep 17 00:00:00 2001
From: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org>
Date: Wed, 11 Dec 2019 19:57:24 +0530
Subject: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND.
Move cache based pkey sid retrieval code which was added with Commit 409dcf31. under CONFIG_SECURITY_INFINIBAND.
As its going to alloc a new cache which may impact low ram devices which was enabled by default.
Change-Id: I80a13fb7bce8723c8c880cb77cbaee42db413a7a
Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org>
---
security/selinux/Makefile | 4 +++-
security/selinux/hooks.c | 6 ++++++
security/selinux/include/objsec.h | 2 ++
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/security/selinux/Makefile b/security/selinux/Makefile index c7161f8..bf67fc8 100644
--- a/security/selinux/Makefile
+++ b/security/selinux/Makefile
@@ -6,12 +6,14 @@
obj-$(CONFIG_SECURITY_SELINUX) := selinux.o
selinux-y := avc.o hooks.o selinuxfs.o netlink.o nlmsgtab.o netif.o \
- netnode.o netport.o ibpkey.o exports.o \
+ netnode.o netport.o exports.o \
ss/ebitmap.o ss/hashtab.o ss/symtab.o ss/sidtab.o ss/avtab.o \
ss/policydb.o ss/services.o ss/conditional.o ss/mls.o ss/status.o
selinux-$(CONFIG_SECURITY_NETWORK_XFRM) += xfrm.o
+selinux-$(CONFIG_SECURITY_INFINIBAND) += ibpkey.o
+
selinux-$(CONFIG_NETLABEL) += netlabel.o
ccflags-y := -I$(srctree)/security/selinux -I$(srctree)/security/selinux/include
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index b1a9ac9..157faaf 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -94,7 +94,11 @@
#include "netif.h"
#include "netnode.h"
#include "netport.h"
+
+#ifdef CONFIG_SECURITY_INFINIBAND
#include "ibpkey.h"
+#endif
+
#include "xfrm.h"
#include "netlabel.h"
#include "audit.h"
@@ -198,7 +202,9 @@ static int selinux_netcache_avc_callback(u32 event) static int selinux_lsm_notifier_avc_callback(u32 event) {
if (event == AVC_CALLBACK_RESET) {
+#ifdef CONFIG_SECURITY_INFINIBAND
sel_ib_pkey_flush();
+#endif
call_lsm_notifier(LSM_POLICY_CHANGE, NULL);
}
diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h
index 4b0da5f..94e6322 100644
--- a/security/selinux/include/objsec.h
+++ b/security/selinux/include/objsec.h
@@ -149,11 +149,13 @@ struct ib_security_struct {
u32 sid; /* SID of the queue pair or MAD agent */
};
+#ifdef CONFIG_SECURITY_INFINIBAND
struct pkey_security_struct {
u64 subnet_prefix; /* Port subnet prefix */
u16 pkey; /* PKey number */
u32 sid; /* SID of pkey */
};
+#endif
struct bpf_security_struct {
u32 sid; /*SID of bpf obj creater*/
--
1.9.1
Regards,
Ravi
-----Original Message-----
From: selinux-owner@vger.kernel.org <selinux-owner@vger.kernel.org> On Behalf Of Paul Moore
Sent: Monday, December 16, 2019 7:56 PM
To: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org>
Cc: selinux@vger.kernel.org
Subject: Re: [PATCH] selinux: move pkey sid cache based retrieval under defconfig
On Mon, Dec 16, 2019 at 5:13 AM Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> wrote:
> Hi Team,
> We see an increase in the memory consumption from 4.9 ->4.19 kernel
> which is impacting the low_ram device .
> So thought of enabling only that are really needed for the such
> device where performance might not be of priority list .
> One such patch is on the pkey sid cache which was added with commit :"
> 409dcf31"
> which can be moved under defconfig where enabled by default and only
> disabled for low_ram targets.
> Which is going to save ram/reduce slub usage .
Why not just reuse CONFIG_SECURITY_INFINIBAND? I'm guessing these systems are using the SELinux/IB controls at all, so why not remove them completely?
--
paul moore
www.paul-moore.com
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND. 2019-12-18 6:00 [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND Ravi Kumar Siddojigari @ 2019-12-19 2:08 ` Paul Moore 2019-12-19 14:18 ` Ravi Kumar Siddojigari 0 siblings, 1 reply; 3+ messages in thread From: Paul Moore @ 2019-12-19 2:08 UTC (permalink / raw) To: Ravi Kumar Siddojigari; +Cc: selinux, Stephen Smalley On Wed, Dec 18, 2019 at 1:01 AM Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> wrote: > -----Original Message----- > From: selinux-owner@vger.kernel.org <selinux-owner@vger.kernel.org> On Behalf Of Ravi Kumar Siddojigari > Sent: Tuesday, December 17, 2019 8:42 PM > To: 'Paul Moore' <paul@paul-moore.com> > Cc: selinux@vger.kernel.org > Subject: RE: [PATCH] selinux: move pkey sid cache based retrieval under defconfig > > Yes Paul, it should be under CONFIG_SECURITY_INFINIBAND thanks for correcting this . > Hope we can taken it fwd as all the targets with disabled InfiniBand can be gained . > Please find the updated path for review . > > From 6a8c60eacd0b6e5189722bb1823864b6728c2e34 Mon Sep 17 00:00:00 2001 > From: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> > Date: Wed, 11 Dec 2019 19:57:24 +0530 > Subject: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND. > > Move cache based pkey sid retrieval code which was added with Commit 409dcf31. under CONFIG_SECURITY_INFINIBAND. > As its going to alloc a new cache which may impact low ram devices which was enabled by default. > > Change-Id: I80a13fb7bce8723c8c880cb77cbaee42db413a7a > Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> > --- > security/selinux/Makefile | 4 +++- > security/selinux/hooks.c | 6 ++++++ > security/selinux/include/objsec.h | 2 ++ > 3 files changed, 11 insertions(+), 1 deletion(-) ... > diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index b1a9ac9..157faaf 100644 > --- a/security/selinux/hooks.c > +++ b/security/selinux/hooks.c > @@ -94,7 +94,11 @@ > #include "netif.h" > #include "netnode.h" > #include "netport.h" > + > +#ifdef CONFIG_SECURITY_INFINIBAND > #include "ibpkey.h" > +#endif See the comments below ... > #include "xfrm.h" > #include "netlabel.h" > #include "audit.h" > @@ -198,7 +202,9 @@ static int selinux_netcache_avc_callback(u32 event) static int selinux_lsm_notifier_avc_callback(u32 event) { > if (event == AVC_CALLBACK_RESET) { > +#ifdef CONFIG_SECURITY_INFINIBAND > sel_ib_pkey_flush(); > +#endif > call_lsm_notifier(LSM_POLICY_CHANGE, NULL); > } In cases like the you see directly above, and in the #include further up, the kernel usually solves this by creating dummy function in the header file. In this case, ibpkey.h would look something like this: >>> /* header comments, blah blah blah */ #ifndef _SELINUX_IB_PKEY_H #define _SELINUX_IB_PKEY_H #ifdef CONFIG_SECURITY_INFINIBAND void sel_ib_pkey_flush(void); int sel_ib_pkey_sid(u64 subnet_prefix, u16 pkey, u32 *sid); #else static inline void sel_ib_pkey_flush(void) { return; } static inline int sel_ib_pkey_sid(u64 subnet_prefix, u16 pkey, u32 *sid) { *sid = SECINITSID_UNLABELED; return 0; } #endif #endif >>> Does that make sense? -- paul moore www.paul-moore.com ^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND. 2019-12-19 2:08 ` Paul Moore @ 2019-12-19 14:18 ` Ravi Kumar Siddojigari 0 siblings, 0 replies; 3+ messages in thread From: Ravi Kumar Siddojigari @ 2019-12-19 14:18 UTC (permalink / raw) To: 'Paul Moore'; +Cc: selinux, 'Stephen Smalley' Updated the path , moved header file also under the config key which was missed out in earlier patch. -- From a53941d36621ccb53fba900cb9a762dded41dc96 Mon Sep 17 00:00:00 2001 From: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> Date: Wed, 11 Dec 2019 19:57:24 +0530 Subject: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND. Move cache based pkey sid retrieval code which was added with Commit 409dcf31. under CONFIG_SECURITY_INFINIBAND. As its going to alloc a new cache which may impact low ram devices which was enabled by default. Change-Id: I80a13fb7bce8723c8c880cb77cbaee42db413a7a Suggested-by: Paul Moore <paul@paul-moore.com> Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> --- security/selinux/Makefile | 4 +++- security/selinux/hooks.c | 6 ++++++ security/selinux/include/ibpkey.h | 2 ++ security/selinux/include/objsec.h | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/security/selinux/Makefile b/security/selinux/Makefile index c7161f8..bf67fc8 100644 --- a/security/selinux/Makefile +++ b/security/selinux/Makefile @@ -6,12 +6,14 @@ obj-$(CONFIG_SECURITY_SELINUX) := selinux.o selinux-y := avc.o hooks.o selinuxfs.o netlink.o nlmsgtab.o netif.o \ - netnode.o netport.o ibpkey.o exports.o \ + netnode.o netport.o exports.o \ ss/ebitmap.o ss/hashtab.o ss/symtab.o ss/sidtab.o ss/avtab.o \ ss/policydb.o ss/services.o ss/conditional.o ss/mls.o ss/status.o selinux-$(CONFIG_SECURITY_NETWORK_XFRM) += xfrm.o +selinux-$(CONFIG_SECURITY_INFINIBAND) += ibpkey.o + selinux-$(CONFIG_NETLABEL) += netlabel.o ccflags-y := -I$(srctree)/security/selinux -I$(srctree)/security/selinux/include diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index b1a9ac9..157faaf 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -94,7 +94,11 @@ #include "netif.h" #include "netnode.h" #include "netport.h" + +#ifdef CONFIG_SECURITY_INFINIBAND #include "ibpkey.h" +#endif + #include "xfrm.h" #include "netlabel.h" #include "audit.h" @@ -198,7 +202,9 @@ static int selinux_netcache_avc_callback(u32 event) static int selinux_lsm_notifier_avc_callback(u32 event) { if (event == AVC_CALLBACK_RESET) { +#ifdef CONFIG_SECURITY_INFINIBAND sel_ib_pkey_flush(); +#endif call_lsm_notifier(LSM_POLICY_CHANGE, NULL); } diff --git a/security/selinux/include/ibpkey.h b/security/selinux/include/ibpkey.h index b17a19e..c90251b 100644 --- a/security/selinux/include/ibpkey.h +++ b/security/selinux/include/ibpkey.h @@ -24,8 +24,10 @@ #ifndef _SELINUX_IB_PKEY_H #define _SELINUX_IB_PKEY_H +#ifdef CONFIG_SECURITY_INFINIBAND void sel_ib_pkey_flush(void); int sel_ib_pkey_sid(u64 subnet_prefix, u16 pkey, u32 *sid); #endif +#endif diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h index 4b0da5f..94e6322 100644 --- a/security/selinux/include/objsec.h +++ b/security/selinux/include/objsec.h @@ -149,11 +149,13 @@ struct ib_security_struct { u32 sid; /* SID of the queue pair or MAD agent */ }; +#ifdef CONFIG_SECURITY_INFINIBAND struct pkey_security_struct { u64 subnet_prefix; /* Port subnet prefix */ u16 pkey; /* PKey number */ u32 sid; /* SID of pkey */ }; +#endif struct bpf_security_struct { u32 sid; /*SID of bpf obj creater*/ -- 1.9.1 Br, -----Original Message----- From: Paul Moore <paul@paul-moore.com> Sent: Thursday, December 19, 2019 7:39 AM To: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> Cc: selinux@vger.kernel.org; Stephen Smalley <sds@tycho.nsa.gov> Subject: Re: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND. On Wed, Dec 18, 2019 at 1:01 AM Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> wrote: > -----Original Message----- > From: selinux-owner@vger.kernel.org <selinux-owner@vger.kernel.org> On > Behalf Of Ravi Kumar Siddojigari > Sent: Tuesday, December 17, 2019 8:42 PM > To: 'Paul Moore' <paul@paul-moore.com> > Cc: selinux@vger.kernel.org > Subject: RE: [PATCH] selinux: move pkey sid cache based retrieval > under defconfig > > Yes Paul, it should be under CONFIG_SECURITY_INFINIBAND thanks for correcting this . > Hope we can taken it fwd as all the targets with disabled InfiniBand can be gained . > Please find the updated path for review . > > From 6a8c60eacd0b6e5189722bb1823864b6728c2e34 Mon Sep 17 00:00:00 2001 > From: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> > Date: Wed, 11 Dec 2019 19:57:24 +0530 > Subject: [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND. > > Move cache based pkey sid retrieval code which was added with Commit 409dcf31. under CONFIG_SECURITY_INFINIBAND. > As its going to alloc a new cache which may impact low ram devices which was enabled by default. > > Change-Id: I80a13fb7bce8723c8c880cb77cbaee42db413a7a > Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> > --- > security/selinux/Makefile | 4 +++- > security/selinux/hooks.c | 6 ++++++ > security/selinux/include/objsec.h | 2 ++ > 3 files changed, 11 insertions(+), 1 deletion(-) ... > diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index > b1a9ac9..157faaf 100644 > --- a/security/selinux/hooks.c > +++ b/security/selinux/hooks.c > @@ -94,7 +94,11 @@ > #include "netif.h" > #include "netnode.h" > #include "netport.h" > + > +#ifdef CONFIG_SECURITY_INFINIBAND > #include "ibpkey.h" > +#endif See the comments below ... > #include "xfrm.h" > #include "netlabel.h" > #include "audit.h" > @@ -198,7 +202,9 @@ static int selinux_netcache_avc_callback(u32 event) static int selinux_lsm_notifier_avc_callback(u32 event) { > if (event == AVC_CALLBACK_RESET) { > +#ifdef CONFIG_SECURITY_INFINIBAND > sel_ib_pkey_flush(); > +#endif > call_lsm_notifier(LSM_POLICY_CHANGE, NULL); > } In cases like the you see directly above, and in the #include further up, the kernel usually solves this by creating dummy function in the header file. In this case, ibpkey.h would look something like this: >>> /* header comments, blah blah blah */ #ifndef _SELINUX_IB_PKEY_H #define _SELINUX_IB_PKEY_H #ifdef CONFIG_SECURITY_INFINIBAND void sel_ib_pkey_flush(void); int sel_ib_pkey_sid(u64 subnet_prefix, u16 pkey, u32 *sid); #else static inline void sel_ib_pkey_flush(void) { return; } static inline int sel_ib_pkey_sid(u64 subnet_prefix, u16 pkey, u32 *sid) { *sid = SECINITSID_UNLABELED; return 0; } #endif #endif >>> Does that make sense? -- paul moore www.paul-moore.com ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-12-19 14:19 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-12-18 6:00 [PATCH] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND Ravi Kumar Siddojigari 2019-12-19 2:08 ` Paul Moore 2019-12-19 14:18 ` Ravi Kumar Siddojigari
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.