On Tuesday 12 January 2010 18:49:48 Hans Petter Selasky wrote:
Re: FYI: v4l-linuxulator support in FreeBSD-current now
Hi,
Some panics have cropped up when using linux-V4L with webcamd.
1st) panic: freeing memory in linux_v4l_cliplist_free() which is not
allocated, but there seems to be more which needs to be done.
I tried to fix something, but it was apparently not enough.
Help appreciated.
One question: Do we need to handle the IOCTL's in question at all in the
linuxulator?
--HPS
--- linux_ioctl.c.orig 2010-02-17 20:42:53.0 +0100
+++ linux_ioctl.c 2010-02-17 21:03:10.0 +0100
@@ -2711,7 +2711,7 @@
/* XXX: If there can be no concurrency: s/M_NOWAIT/M_WAITOK/ */
if ((*ppvc = malloc(sizeof(**ppvc), M_LINUX, M_NOWAIT)) == NULL)
return (ENOMEM);/* XXX: linux has no ENOMEM here */
- memcpy(vclip, *ppvc, sizeof(vclip));
+ memcpy(*ppvc, vclip, sizeof(vclip));
(*ppvc)-next = NULL;
return (0);
}
@@ -2719,13 +2719,15 @@
static int
linux_v4l_cliplist_free(struct video_window *vw)
{
- struct video_clip **ppvc;
- struct video_clip **ppvc_next;
+ struct video_clip *ppvc;
+ struct video_clip *ppvc_next;
- for (ppvc = (vw-clips); *ppvc != NULL; ppvc = ppvc_next) {
- ppvc_next = ((*ppvc)-next);
- free(*ppvc, M_LINUX);
+ for (ppvc = vw-clips; ppvc != NULL; ppvc = ppvc_next) {
+ ppvc_next = ppvc-next;
+ free(ppvc, M_LINUX);
}
+ vw-clips = NULL;
+
return (0);
}
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org