> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Christian König > Sent: Thursday, August 10, 2017 9:42 AM > To: amd-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org > Subject: [PATCH] dma-buf: handle NULL src_list in > reservation_object_copy_fences > > From: Christian König <christian.koenig at amd.com> > > The list of shared fences can be NULL and that needs to be handled as well. > > Signed-off-by: Christian König <christian.koenig at amd.com> I'll squash this with the original patch for upstream. Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/dma-buf/reservation.c | 28 +++++++++++++++------------- > 1 file changed, 15 insertions(+), 13 deletions(-) > > diff --git a/drivers/dma-buf/reservation.c b/drivers/dma-buf/reservation.c > index 302c137..dec3a81 100644 > --- a/drivers/dma-buf/reservation.c > +++ b/drivers/dma-buf/reservation.c > @@ -279,23 +279,25 @@ int reservation_object_copy_fences(struct > reservation_object *dst, > > src_list = reservation_object_get_list(src); > > - /* > - * resize dst->fence or allocate if it doesn't exist, > - * noop if already correct size > - */ > - size = offsetof(typeof(*src_list), shared[src_list->shared_count]); > - dst_list = kmalloc(size, GFP_KERNEL); > - if (!dst_list) > - return -ENOMEM; > + if (src_list) { > + size = offsetof(typeof(*src_list), > + shared[src_list->shared_count]); > + dst_list = kmalloc(size, GFP_KERNEL); > + if (!dst_list) > + return -ENOMEM; > + > + dst_list->shared_count = src_list->shared_count; > + dst_list->shared_max = src_list->shared_count; > + for (i = 0; i < src_list->shared_count; ++i) > + dst_list->shared[i] = > + dma_fence_get(src_list->shared[i]); > + } else { > + dst_list = NULL; > + } > > kfree(dst->staged); > dst->staged = NULL; > > - dst_list->shared_count = src_list->shared_count; > - dst_list->shared_max = src_list->shared_count; > - for (i = 0; i < src_list->shared_count; ++i) > - dst_list->shared[i] = dma_fence_get(src_list->shared[i]); > - > src_list = reservation_object_get_list(dst); > > old = reservation_object_get_excl(dst); > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx