Re: [x86_64] 2.6.14-git13 mplayer fails with "v4l2: ioctl queuebuffer failed: Bad address" (2 Nov 2005, 11 Nov 2005)

From: Nickolay V. Shmyrev
Date: Sat Nov 12 2005 - 17:22:15 EST


Hello all.

We have even found the hack that fix that problem:

Index: linux/drivers/media/video/video-buf.c
===================================================================
RCS file: /cvs/video4linux/v4l-kernel/linux/drivers/media/video/video-buf.c,v
retrieving revision 1.21
diff -u -p -r1.21 video-buf.c
--- linux/drivers/media/video/video-buf.c 16 Oct 2005 12:13:58 -0000
+++ linux/drivers/media/video/video-buf.c 12 Nov 2005 22:19:13 -0000
@@ -1248,7 +1248,7 @@ int videobuf_mmap_mapper(struct videobuf
map->end = vma->vm_end;
map->q = q;
vma->vm_ops = &videobuf_vm_ops;
- vma->vm_flags |= VM_DONTEXPAND | VM_RESERVED;
+ vma->vm_flags |= VM_DONTEXPAND;
vma->vm_flags &= ~VM_IO; /* using shared anonymous pages */
vma->vm_private_data = map;
dprintk(1,"mmap %p: q=%p %08lx-%08lx pgoff %08lx bufs %d-%d\n",

Somehow since 2.6.15-rc1 VM_RESERVED makes get_user_pages return EFAULT. I don't know the exact reason of
that behavior and the correct way to fix that problem. Just kernel interfaces changed once again, the old
point everyone knows. So if someone can explain it, that would be helpful.







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