Hi Hans, On Fri, Nov 20, 2015 at 05:45:48PM +0100, Hans Verkuil wrote: > From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > The handling of q->plane_sizes was wrong in vb2_core_create_bufs(). > The q->plane_sizes array was global and it was overwritten by create_bufs. > So if reqbufs was called with e.g. size 100000 then q->plane_sizes[0] would > be set to 100000. If create_bufs was called afterwards with size 200000, > then q->plane_sizes[0] would be overwritten with the new value. Calling > create_bufs again for size 100000 would cause an error since 100000 is now > less than q->plane_sizes[0]. > > This patch fixes this problem by 1) removing q->plane_sizes and using the > vb->planes[].length field instead, and 2) by introducing a min_length field > in struct vb2_plane. This field is set to the plane size as returned by > the queue_setup op and is the minimum required plane size. So user pointers > or dmabufs should all be at least this size. > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > Reported-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Thanks! Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> -- Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html