Messages in this thread | | | Subject | Re: [PATCH v2] Bluetooth: vhci, fix open_timeout vs. hdev race | From | Jiri Slaby <> | Date | Tue, 22 Mar 2016 16:52:12 +0100 |
| |
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
| |