From: Tim R. <ti...@pr...> - 2008-12-18 18:00:44
|
Alan Stern wrote: > It's possible that the kernel goes too far. The code is meant to > prevent programs from sending messages to interfaces or endpoints they > don't own. Because of the way the test is written, it also prevents > programs from sending messages to interfaces or endpoints that don't > exist. After all, if it doesn't exist then you don't own it. > OK, I guess I can see the thinking that led to this, even if I don't agree with it. As a driver developer who works with in-development USB devices, it has been my own personal experience that hardware engineers are VERY lax about assigning the proper meanings to the bmRequestType values. I like Linux as a testbed for bringing up exotic hardware, in part because it is more transparent than Windows, and I'm disappointed to learn that some of this transparency has been lost. > Or perhaps you're asking why you would want to restrict programs from > sending messages to interfaces and endpoints that don't exist? The > answer is: We don't want to -- it was an unintended consequence that up > until now has not provoked any complaints. > > If you want, I can change the kernel so that such messages are > accepted. > Well, if this is the first time it's come up in all the tens of septillions of CPU cycles that have been consumed since it was introduced, it might not be prudent to make a change like that based on the comments of one developer. If this comes up in practice for me, I'll know where to go. And, by the way, thank you sincerely for your very controlled and rational reply to my ranting and raving. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |