Re: [Bluetooth] HCI USB driver update. Support for SCO over

Max Krasnyansky (maxk@qualcomm.com)
Tue, 29 Apr 2003 17:44:21 -0700


At 02:40 PM 4/29/2003, Greg KH wrote:
>On Tue, Apr 29, 2003 at 11:34:19PM +0200, Oliver Neukum wrote:
>>
>> > +int usb_init_urb(struct urb *urb)
>> > +{
>> > + if (!urb)
>> > + return -EINVAL;
>> > + memset(urb, 0, sizeof(*urb));
>> > + urb->count = (atomic_t)ATOMIC_INIT(1);
>> > + spin_lock_init(&urb->lock);
>> > +
>> > + return 0;
>> > +}
>>
>> Greg, please don't do it this way. Somebody will
>> try to free this urb. If the urb is part of a structure
>> this must not lead to a kfree. Please init it to some
>> insanely high dummy value in this case.
Uh, I didn't think about that one. This stuff was first implemented
for 2.4 which didn't have refcount in urb and then forward ported to 2.5.

>We can't init it to a high value, if we want to use it ourself in
>usb_alloc_urb().
>
>And yes, I agree this is a very dangerous function to use on your own,
>I thought I conveyed that in the documentation for the function.
>
>But if we don't have such a function, then people like Max will just
>roll their own, like he just did :)
>
>Might as well make it easy for him to shoot himself in the foot if he
>really wants to...
Thanks. I'll wear bullet proof shoes, just in case :-).

Max

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/