public inbox for [email protected]
 help / color / mirror / Atom feed
From: Paul Moore <[email protected]>
To: Casey Schaufler <[email protected]>
Cc: "Hamza Mahfooz" <[email protected]>,
	[email protected], "James Morris" <[email protected]>,
	"Serge E. Hallyn" <[email protected]>,
	"Jens Axboe" <[email protected]>,
	"Pavel Begunkov" <[email protected]>,
	"Stephen Smalley" <[email protected]>,
	"Ondrej Mosnacek" <[email protected]>,
	"Bram Bonné" <[email protected]>,
	"Thiébaud Weksteen" <[email protected]>,
	"Christian Göttsche" <[email protected]>,
	"Masahiro Yamada" <[email protected]>,
	[email protected], [email protected],
	[email protected]
Subject: Re: [PATCH v3 2/2] lsm,io_uring: add LSM hooks for io_uring_setup()
Date: Tue, 28 Jan 2025 17:35:26 -0500	[thread overview]
Message-ID: <CAHC9VhTAunsgA-k64-qmQzeyvmAHuQ-=Jp-yWDi9XDP9CHkhHA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>

On Mon, Jan 27, 2025 at 7:23 PM Casey Schaufler <[email protected]> wrote:
> On 1/27/2025 1:23 PM, Paul Moore wrote:
> > On Mon, Jan 27, 2025 at 12:18 PM Casey Schaufler <[email protected]> wrote:
> >> On 1/27/2025 7:57 AM, Hamza Mahfooz wrote:
> >>> It is desirable to allow LSM to configure accessibility to io_uring
> >>> because it is a coarse yet very simple way to restrict access to it. So,
> >>> add an LSM for io_uring_allowed() to guard access to io_uring.
> >> I don't like this at all at all. It looks like you're putting in a hook
> >> so that io_uring can easily deflect any responsibility for safely
> >> interacting with LSMs.
> > That's not how this works Casey, unless you're seeing something different?
>
> Yes, it's just me being paranoid. When a mechanism is introduced that makes
> it easy to disable a system feature in the LSM environment I start hearing
> voices saying "You can't use security and the cool thing together", and the
> developers of "the cool thing" wave hands and say "just disable it" and it
> never gets properly integrated. I have seen this so many times it makes me
> wonder how anything ever does get made to work in multiple configurations.

While there is plenty of precedent regarding paranoia over kernel
changes outside the LSM, and yes, I do agree that there are likely
some configurations that aren't tested (or make little sense for that
matter), I don't believe that to be the case here.  The proposed LSM
hook is simply another access control, and it makes it much easier for
LSMs without full and clear anonymous inode controls to apply access
controls to io_uring.

> > This is an additional access control point for io_uring, largely to
> > simplify what a LSM would need to do to help control a process' access
> > to io_uring, it does not replace any of the io_uring LSM hooks or
> > access control points.
>
> What I see is "LSM xyzzy has an issue with io_uring? Just create a
> io_uring_allowed() hook that always disables io_uring." LSM xyzzy never
> gets attention from the io_uring developers because, as far as they care,
> the problem is solved.

To be honest, I wouldn't expect the io_uring developers (or any kernel
subsystem maintainer outside the LSMs) to worry about a specific LSM.
The io_uring developers should be focused on ensuring that the LSM
hooks for io_uring are updated as necessary and called from all of the
right locations as io_uring continues to evolve.  If there is a
problem with LSM xyzzy because it provides a buggy LSM callback for
the io_uring LSM hooks, that is a xyzzy issue not an io_uring issue.

-- 
paul-moore.com

  reply	other threads:[~2025-01-28 22:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-27 15:57 [PATCH v3 1/2] io_uring: refactor io_uring_allowed() Hamza Mahfooz
2025-01-27 15:57 ` [PATCH v3 2/2] lsm,io_uring: add LSM hooks for io_uring_setup() Hamza Mahfooz
2025-01-27 17:18   ` Casey Schaufler
2025-01-27 21:23     ` Paul Moore
2025-01-28  0:23       ` Casey Schaufler
2025-01-28 22:35         ` Paul Moore [this message]
2025-01-29  0:02           ` Casey Schaufler
2025-01-30 17:15             ` Paul Moore

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHC9VhTAunsgA-k64-qmQzeyvmAHuQ-=Jp-yWDi9XDP9CHkhHA@mail.gmail.com' \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox