Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23bb8f03 authored by Deva Ramasubramanian's avatar Deva Ramasubramanian Committed by Stephen Boyd
Browse files

videobuf2-core: Use current->mm_active when locking USERPTR



The vb2 framework currently assumes current has a real address space.
However, it is possible for anonymous processes with no real address
space to use videobuf2 framework.  For anonymous processes
current->active_mm should be used rather than current->mm, which is not
valid.  current->active_mm can also be used for non-anonymous processes
as it would be equivalent to current->mm.

See Documentation/vm/active_mm.txt for further info.

Change-Id: I1b6283a8368af41b47086ef8b40c8a00a6859911
Signed-off-by: default avatarDeva Ramasubramanian <dramasub@codeaurora.org>
parent 63284c97
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1296,7 +1296,7 @@ int vb2_qbuf(struct vb2_queue *q, struct v4l2_buffer *b)
	 * consistent after getting driver's lock back.
	 */
	if (q->memory == V4L2_MEMORY_USERPTR) {
		mmap_sem = &current->mm->mmap_sem;
		mmap_sem = &current->active_mm->mmap_sem;
		call_qop(q, wait_prepare, q);
		down_read(mmap_sem);
		call_qop(q, wait_finish, q);