diff options
author | Laurent Pinchart <[email protected]> | 2009-12-16 21:20:45 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <[email protected]> | 2010-01-17 11:31:35 -0200 |
commit | d7c0d43997cf716617d724554d19b3b8dd465833 (patch) | |
tree | 00ef45adee02318f35775cc9ecce4ae18372a624 /fs/jbd/commit.c | |
parent | 2c4d9de8ab1434336248bbc01ee8e64d7e6b8a4f (diff) |
V4L/DVB (13831): uvcvideo: Fix oops caused by a race condition in buffer dequeuing
Buffers were marked as done before being removed from the IRQ queue. If
a userspace application dequeued and requeued the buffer fast enough
during that time window, the buffer could end up being deleted twice,
generating an oops in interrupt context.
Add a new state, UVC_BUF_STATE_READY, to mark buffers as ready for reuse
but not yet removed from the queue, and transition to UVC_BUF_STATE_DONE
only when the buffer is removed from the queue.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Diffstat (limited to 'fs/jbd/commit.c')
0 files changed, 0 insertions, 0 deletions