RE: [PATCH 2/2] thunderbolt: Add support for de-authorizing devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> Sent: Tuesday, January 5, 2021 11:06
> To: Limonciello, Mario
> Cc: Yehezkel Bernat; linux-usb@xxxxxxxxxxxxxxx; Michael Jamet; Lukas Wunner;
> Andreas Noever; Christian Kellner
> Subject: Re: [PATCH 2/2] thunderbolt: Add support for de-authorizing devices
> 
> 
> [EXTERNAL EMAIL]
> 
> On Tue, Jan 05, 2021 at 04:48:23PM +0000, Limonciello, Mario wrote:
> > > -----Original Message-----
> > > From: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> > > Sent: Tuesday, January 5, 2021 10:36
> > > To: Yehezkel Bernat
> > > Cc: linux-usb@xxxxxxxxxxxxxxx; Michael Jamet; Lukas Wunner; Andreas
> Noever;
> > > Christian Kellner; Limonciello, Mario
> > > Subject: Re: [PATCH 2/2] thunderbolt: Add support for de-authorizing
> devices
> > >
> > >
> > > [EXTERNAL EMAIL]
> > >
> > > Hi,
> > >
> > > On Tue, Jan 05, 2021 at 03:53:33PM +0200, Yehezkel Bernat wrote:
> > > > On Tue, Jan 5, 2021 at 11:28 AM Mika Westerberg
> > > > <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> > > > >
> > > > > In some cases it is useful to be able de-authorize devices. For
> example
> > > > > if user logs out the userspace can have a policy that disconnects PCIe
> > > > > devices until logged in again. This is only possible for software
> based
> > > > > connection manager as it directly controls the tunnels.
> > > > >
> > > > > For this reason make the authorized attribute accept writing 0 which
> > > > > makes the software connection manager to tear down the corresponding
> > > > > PCIe tunnel. Userspace can check if this is supported by reading a new
> > > > > domain attribute deauthorization, that holds 1 in that case.
> >
> > Just another idea, rather than the value of a new "deauthorize" attribute
> indicating
> > whether this is supported how about instead a "connection_manager"
> attribute?
> >
> > My thought being userspace can potentially make a judgement call from the
> information
> > on how tunnels are going to behave (particularly in long chains from the
> suspend/resume
> > cycle coming back differently).
> 
> I went for "deauthorization" because that kind of allows this to work on
> systems with firmware based connection manager too (yes, Intel Maple
> Ridge is using FW CM even if it is USB4 :( ). However, at the moment the
> FW CM does not support any if this but nobody knows if something like
> this will be implemented there.
> 
> That said, I'm fine to change this to whatever you guys think is the
> best :) If "connection_manager=sw/fw" or so is better then no problem
> changing that.

In that case I think you're right to leave it as deauthorization.  If there
is a strong enough use case to detect connection manager at userspace (IE it
will actually do something differently from that information) that attribute
can always be exported later.

> 
> > > > What a great feature! Thanks for implementing it.
> >
> > I agree, this sounds like a great idea.
> >
> > > >
> > > > BTW, is there any general way to disable the device operations before
> such a
> > > > disconnection? The user has a way to stop removable disks, for example,
> but
> > > > maybe other devices need additional precaution from the user (eGPU?).
> > >
> > > There are ways but it depends on the driver, I guess. For instance eGPUS
> > > at the moment (the ones I've tested) simply crash as their driver does
> > > not support hot-remove ;-)
> > >
> > > What ends up happening is essentially PCIe hot-remove so drivers that
> > > are prepared for that should be fine. Of course if you had mounted
> > > filesystem behind the PCIe link that was torn down you end up losing
> > > your data, so the user interface should make sure the user is aware of
> > > that.
> >
> > I think it's also worth mentioning this risk in the thunderbolt.rst
> documentation
> > directly.
> 
> Sure, I'll add there mention about this.




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux