selinux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* LSM namespacing API
@ 2025-08-19 14:56 Paul Moore
  2025-08-19 17:11 ` Casey Schaufler
                   ` (3 more replies)
  0 siblings, 4 replies; 43+ messages in thread
From: Paul Moore @ 2025-08-19 14:56 UTC (permalink / raw)
  To: linux-security-module, selinux; +Cc: John Johansen, Stephen Smalley

Hello all,

As most of you are likely aware, Stephen Smalley has been working on
adding namespace support to SELinux, and the work has now progressed
to the point where a serious discussion on the API is warranted.  For
those of you are unfamiliar with the details or Stephen's patchset, or
simply need a refresher, he has some excellent documentation in his
work-in-progress repo:

* https://github.com/stephensmalley/selinuxns

Stephen also gave a (pre-recorded) presentation at LSS-NA this year
about SELinux namespacing, you can watch the presentation here:

* https://www.youtube.com/watch?v=AwzGCOwxLoM

In the past you've heard me state, rather firmly at times, that I
believe namespacing at the LSM framework layer to be a mistake,
although if there is something that can be done to help facilitate the
namespacing of individual LSMs at the framework layer, I would be
supportive of that.  I think that a single LSM namespace API, similar
to our recently added LSM syscalls, may be such a thing, so I'd like
us to have a discussion to see if we all agree on that, and if so,
what such an API might look like.

At LSS-NA this year, John Johansen and I had a brief discussion where
he suggested a single LSM wide clone*(2) flag that individual LSM's
could opt into via callbacks.  John is directly CC'd on this mail, so
I'll let him expand on this idea.

While I agree with John that a fs based API is problematic (see all of
our discussions around the LSM syscalls), I'm concerned that a single
clone*(2) flag will significantly limit our flexibility around how
individual LSMs are namespaced, something I don't want to see happen.
This makes me wonder about the potential for expanding
lsm_set_self_attr(2) to support a new LSM attribute that would support
a namespace "unshare" operation, e.g. LSM_ATTR_UNSHARE.  This would
provide a single LSM framework API for an unshare operation while also
providing a mechanism to pass LSM specific via the lsm_ctx struct if
needed.  Just as we do with the other LSM_ATTR_* flags today,
individual LSMs can opt-in to the API fairly easily by providing a
setselfattr() LSM callback.

Thoughts?

-- 
paul-moore.com

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2025-09-06  2:01 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-19 14:56 LSM namespacing API Paul Moore
2025-08-19 17:11 ` Casey Schaufler
2025-08-19 18:40   ` Paul Moore
2025-08-19 18:58     ` Stephen Smalley
2025-08-21  7:26       ` John Johansen
2025-08-21  7:23     ` John Johansen
2025-08-22  1:57       ` Paul Moore
2025-08-22 14:30         ` John Johansen
2025-08-21 10:00     ` Mickaël Salaün
2025-08-22  2:14       ` Paul Moore
2025-08-22 14:47         ` Casey Schaufler
2025-08-22 19:59           ` John Johansen
2025-08-23 17:41             ` Dr. Greg
2025-08-23 23:00               ` John Johansen
2025-08-19 17:47 ` Stephen Smalley
2025-08-19 18:51   ` Paul Moore
2025-08-19 18:52     ` Paul Moore
2025-08-20 14:44     ` Mickaël Salaün
2025-08-20 15:37       ` Casey Schaufler
2025-08-20 20:47       ` Paul Moore
2025-08-21  9:56         ` Mickaël Salaün
2025-08-21 14:18           ` John Johansen
2025-08-22  2:09           ` Paul Moore
2025-08-21  2:05     ` Serge E. Hallyn
2025-08-21  2:35       ` Paul Moore
2025-08-21  3:02         ` Serge E. Hallyn
2025-08-22  1:50           ` Paul Moore
2025-08-21  8:12         ` John Johansen
2025-08-21  8:07       ` John Johansen
2025-08-21  7:46   ` John Johansen
2025-08-21 14:26     ` Serge E. Hallyn
2025-08-21 14:57       ` John Johansen
2025-09-01 16:01         ` Dr. Greg
2025-09-01 17:31           ` Casey Schaufler
2025-09-04  2:16             ` Dr. Greg
2025-09-04 17:40               ` Casey Schaufler
2025-09-02 10:55           ` John Johansen
2025-09-05 22:14             ` Dr. Greg
2025-09-06  2:01               ` John Johansen
2025-08-22  1:59     ` Paul Moore
2025-08-21  7:14 ` John Johansen
2025-08-21 11:20 ` Dr. Greg
2025-08-21 14:44   ` John Johansen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).