public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Jason Gunthorpe <jgg-uk2M96/98Pc@public.gmane.org>
Cc: Bart Van Assche <bart.vanassche-Sjgp3cTcYWE@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH, resend 4/4] IB/srp: Add RDMA/CM support
Date: Fri, 05 Jan 2018 18:13:08 -0500	[thread overview]
Message-ID: <1515193988.3403.69.camel@redhat.com> (raw)
In-Reply-To: <20180105203506.GD11348-uk2M96/98Pc@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 3357 bytes --]

On Fri, 2018-01-05 at 13:35 -0700, Jason Gunthorpe wrote:
> On Fri, Jan 05, 2018 at 03:23:55PM -0500, Doug Ledford wrote:
> > On Fri, 2018-01-05 at 12:25 -0700, Jason Gunthorpe wrote:
> > > On Fri, Jan 05, 2018 at 01:06:58PM -0500, Doug Ledford wrote:
> > > > > Do the userspace daemon's still manage the connection to SRP?
> > > > > 
> > > > > If yes, then the networking information should be relative to the
> > > > > namespace of the thing that wrote to the sysfs file..
> > > > 
> > > > Maybe, maybe not.  It depends on the implementation.  IIRC you get one
> > > > daemon per port, not one daemon per mount.
> > > 
> > > I don't think it depends - if we expose this sysfs file to a container
> > 
> > Who says we have to do that?  We could make the sysfs file only visible
> > in the init namespace and let the init namespace daemon control what
> > namespaces have what views.
> 
> What 'views'? It is a sysfs file controlled by the kernel - srp_daemon
> has no control ove rit.

Ok, allow me to clarify: restrict the sysfs file to create mappings to
only the init_net namespace, and by views I meant allow the host
srp_daemon to create a mapping with a specific namespace and that would
then create a device file in that namespace, not a sysfs file.

> > views anyway.  We could just make that mandatory by refusing to create
> > devices from anything other than init_net namespace.  Then even if
> > someone does mount sysfs rw in a container, we're still good.
> 
> Usually we don't put that kind if policy in the kernel.

No, we normally don't.  However....

> Someone could run a priviledged container with full device access and
> expect this stuff to work right. In that case it is certainly correct
> for the srp_daemon and kernel to be in the namespace of the calling
> process.
> 
> > > So from a security perspective containers shouldn't even have access
> > > to this thing at all without more work to ensure that the created
> > > block device is also restriced inside the container.
> > 
> > This isn't sufficient.  The block device created must be constrained
> > within the container, but if we allow direct device access to the
> > underlying LUN on the target, then that target LUN must be exclusively
> > owned by the container.
> 
> Yes. That is done on the storage controller via ACLs of that LUN.

But we broke that already...

>  The
> container's net namespace would be restricted in some way that the ACL
> can uniquely identify it - and the srp_daemon could run inside the
> container.

When we arguing over namespaces, especially as they related to IPoIB
devices, we decided to allow the tuple to be p_key/qp/gid so that you
can have to separate containers on the same p_key and gid with the
differentiating factor being only the qp.  If we then use that to target
our SRP RDMACM connection, we've gone into an area where the target
can't differentiate our container.

So, yes, I think the storage target should control the ACLs too, but I'm
concerned that we've gone down a path where that can't currently be done
 and changes will be required on the target for things to work.

-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2018-01-05 23:13 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-04 22:28 [PATCH, resend 0/4] IB/srp: Add RDMA/CM support Bart Van Assche
     [not found] ` <20180104222842.26756-1-bart.vanassche-Sjgp3cTcYWE@public.gmane.org>
2018-01-04 22:28   ` [PATCH, resend 1/4] IB/srp: Use kstrtoull() instead of simple_strtoull() Bart Van Assche
2018-01-04 22:28   ` [PATCH, resend 2/4] IB/srp: Make the path record query error message more informative Bart Van Assche
2018-01-04 22:28   ` [PATCH, resend 3/4] IB/srp: Refactor srp_send_req() Bart Van Assche
2018-01-04 22:28   ` [PATCH, resend 4/4] IB/srp: Add RDMA/CM support Bart Van Assche
     [not found]     ` <20180104222842.26756-5-bart.vanassche-Sjgp3cTcYWE@public.gmane.org>
2018-01-05 17:21       ` Doug Ledford
     [not found]         ` <1515172870.3403.11.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-05 17:34           ` Jason Gunthorpe
     [not found]             ` <20180105173448.GY11348-uk2M96/98Pc@public.gmane.org>
2018-01-05 17:51               ` Bart Van Assche
     [not found]                 ` <1515174677.3254.11.camel-Sjgp3cTcYWE@public.gmane.org>
2018-01-05 17:55                   ` Jason Gunthorpe
2018-01-05 18:06               ` Doug Ledford
     [not found]                 ` <1515175618.3403.26.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-05 18:12                   ` Bart Van Assche
     [not found]                     ` <1515175964.3254.15.camel-Sjgp3cTcYWE@public.gmane.org>
2018-01-05 18:15                       ` Doug Ledford
2018-01-05 19:25                   ` Jason Gunthorpe
     [not found]                     ` <20180105192549.GA11348-uk2M96/98Pc@public.gmane.org>
2018-01-05 20:23                       ` Doug Ledford
     [not found]                         ` <1515183835.3403.62.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-05 20:35                           ` Jason Gunthorpe
     [not found]                             ` <20180105203506.GD11348-uk2M96/98Pc@public.gmane.org>
2018-01-05 20:53                               ` Bart Van Assche
2018-01-05 23:13                               ` Doug Ledford [this message]
     [not found]                                 ` <1515193988.3403.69.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-01-05 23:27                                   ` Jason Gunthorpe
2018-01-05 17:45           ` Bart Van Assche
2018-01-05 17:22   ` [PATCH, resend 0/4] " Doug Ledford

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=1515193988.3403.69.camel@redhat.com \
    --to=dledford-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=bart.vanassche-Sjgp3cTcYWE@public.gmane.org \
    --cc=jgg-uk2M96/98Pc@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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