Re: USB mini-summit at LinuxCon Vancouver
From: Alan Stern
Date: Thu Aug 11 2011 - 11:50:00 EST
On Thu, 11 Aug 2011, Alan Cox wrote:
> Actually there are more issues than that - you've also got to worry about
> a security/permission model, and that is hard to get right, especially if
> you are not very careful that anything that can be retrieved which might
> violate the security model (eg the last frame on the capture) has been
> blanked before handover etc.
As far as I can tell, these same security issues exist today. I don't
see them getting any worse than they are now.
> And applications that are touching both video (even indirectly) and still
> camera may get surprise deadlocks if they accidentally reference both the
> still and video device even via some library or service.
No, not deadlocks. Just -EBUSY errors.
> > > Well, a user program can assume that the kernel driver left the device
> > > in a clean state. The reverse isn't always true, however -- it's one
>
> Not it cannot - the user program doesn't know
>
> a) if the kernel driver has ever been loaded
> b) the values the kernel driver leaves set (and those will change no
> doubt at times)
> c) if the camera has been plugged and unplugged and not yet had the
> kernel driver loaded
That's true. The program can't assume that a kernel driver was ever
bound to the device; all it can assume is that _if_ a kernel driver was
bound then it left the device in a sane state -- whatever "sane" might
mean in this context.
> To me it sounds like a recipe for disaster. For those tiny number of
> devices involved just use V4L and if need be some small V4L tweaks to
> handle still mode. In most cases the interface is basically identical and
> I'd bet much of the code is identical too.
I'm not against moving the whole thing into the kernel. I'm just
pointing out that an easier-to-code-up solution will accomplish much
the same result.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/