Messages in this thread | | | Date | Thu, 11 Aug 2011 11:49:55 -0400 (EDT) | From | Alan Stern <> | Subject | Re: USB mini-summit at LinuxCon Vancouver |
| |
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
| |