Date: Wed, 17 Feb 2010 21:37:25 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-multimedia@freebsd.org, lme@freebsd.org Cc: emulation@freebsd.org, Alexander Leidinger <Alexander@leidinger.net>, "J.R. Oldroyd" <fbsd@opal.com>, multimedia@freebsd.org Subject: Re: FYI: v4l-linuxulator support in FreeBSD-current now [panic] Message-ID: <201002172137.25396.hselasky@c2i.net> In-Reply-To: <201001121849.48833.hselasky@c2i.net> References: <20091204223126.00005392@unknown> <20100112124621.59fa3747@shibato.opal.com> <201001121849.48833.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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 not enough. Help appreciated. We are currently debugging this issue @ #bsdusb on efnet. --HPS --- linux_ioctl.c.orig 2010-02-17 20:42:53.000000000 +0100 +++ linux_ioctl.c 2010-02-17 21:03:10.000000000 +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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002172137.25396.hselasky>