lkml.org 
[lkml]   [2016]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] Bluetooth: vhci, fix open_timeout vs. hdev race
From
Date
On 03/22/2016, 03:00 PM, Takashi Iwai wrote:
> int main()
> {
> int i;
> long fd;
> pthread_t th[32];
>
> fd = open("/dev/vhci", O_RDWR);
> if (fd < 0)
> err(1, "open");
> for (i = 0; i < 32; i++)
> pthread_create(&th[i], 0, test, (void*)fd);
> for (i = 0; i < 32; i++)
> pthread_join(th[i], NULL);
> return 0;
> }
> ================================================================
>
> For fixing these, we need a proper mutex protection. A patch like
> below seems helping, at least for the test case above.

I didn't fix this and kept it simple as I believe concurrent accesses
from a single opener are not allowed by design. But if we want to
support this, we of course need locking like this.

Anyway, I would appreciate any input from the BT fellows. There are more
races like this, apparently.

thanks,
--
js
suse labs

\
 
 \ /
  Last update: 2016-03-22 17:21    [W:0.090 / U:1.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site