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

From: Junichi Uekawa
Date: Wed Nov 16 2005 - 19:07:14 EST


Hi,


Verified that with the following patch, I can run mencoder fine.
$ uname -a
Linux dancer64 2.6.15-rc1dancer-gf6ff56cd #1 Thu Nov 17 08:18:33 JST 2005 x86_64 GNU/Linux

Applied upon linus' git from yesterday:
commit f6ff56cd56b83d8edf4b3cffc5c53c56b37a5081
tree 0ec4807d49a602ba785e60e5352b542f1581d4c9
parent fb6d73d3014babb69f5cc2d1d78b31e9d09fc5df
parent 5a6f294e43e432bd207a702fea49ebb303ef9b23
author Linus Torvalds <torvalds@xxxxxxxxxxx> Tue Nov 15 16:59:38 UTC 2005
committer Linus Torvalds <torvalds@xxxxxxxxxxx> Tue Nov 15 16:59:38 UTC 2005

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6



>
> 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.
>



regards,
junichi
--
dancer@{debian.org,netfort.gr.jp} Debian Project
-
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/