On Fri, Jun 22, 2012 at 3:43 AM, Jesper Juhl <jj@xxxxxxxxxxxxx> wrote: > First we allocate memory for 'sysram' with vmalloc() and subsequently > we allocate for 'info' with framebuffer_alloc(). If the second > allocation fails we return -ENOMEM, but neglect to vfree() the memory > we previously allocated for 'sysram', thus leaking it. > Hi Jesper, > Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/mgag200/mgag200_fb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c b/drivers/gpu/drm/mgag200/mgag200_fb.c > index 880d336..3c837e5 100644 > --- a/drivers/gpu/drm/mgag200/mgag200_fb.c > +++ b/drivers/gpu/drm/mgag200/mgag200_fb.c > @@ -156,8 +156,10 @@ static int mgag200fb_create(struct mga_fbdev *mfbdev, > return -ENOMEM; > > info = framebuffer_alloc(0, device); > - if (info == NULL) > + if (info == NULL) { > + vfree(sysram); > return -ENOMEM; > + } > > info->par = mfbdev; > This looks ok. but what about the error path? there are more leaks at error paths. mgag200_framebuffer_init failcase and the functions below like, fb_alloc_cmap, alloc_apertures, ? > -- > 1.7.11 > > > -- > Jesper Juhl <jj@xxxxxxxxxxxxx> http://www.chaosbits.net/ > Don't top-post http://www.catb.org/jargon/html/T/top-post.html > Plain text mails only, please. > > -- > 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/ _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel