All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dma-buf: use struct_size macro
@ 2020-10-08  8:10 Christian König
  2020-10-08  8:17 ` Daniel Vetter
  0 siblings, 1 reply; 4+ messages in thread
From: Christian König @ 2020-10-08  8:10 UTC (permalink / raw)
  To: gustavoars, dri-devel

Instead of manually calculating the structure size.

Signed-off-by: Christian König <christian.koenig@amd.com>
---
 drivers/dma-buf/dma-resv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c
index 1c8f2581cb09..bb5a42b10c29 100644
--- a/drivers/dma-buf/dma-resv.c
+++ b/drivers/dma-buf/dma-resv.c
@@ -63,7 +63,7 @@ static struct dma_resv_list *dma_resv_list_alloc(unsigned int shared_max)
 {
 	struct dma_resv_list *list;
 
-	list = kmalloc(offsetof(typeof(*list), shared[shared_max]), GFP_KERNEL);
+	list = kmalloc(struct_size(list, shared, shared_max), GFP_KERNEL);
 	if (!list)
 		return NULL;
 
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] dma-buf: use struct_size macro
  2020-10-08  8:10 [PATCH] dma-buf: use struct_size macro Christian König
@ 2020-10-08  8:17 ` Daniel Vetter
  2020-10-08  8:40   ` Christian König
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Vetter @ 2020-10-08  8:17 UTC (permalink / raw)
  To: Christian König; +Cc: gustavoars, dri-devel

On Thu, Oct 8, 2020 at 10:10 AM Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
>
> Instead of manually calculating the structure size.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/dma-buf/dma-resv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c
> index 1c8f2581cb09..bb5a42b10c29 100644
> --- a/drivers/dma-buf/dma-resv.c
> +++ b/drivers/dma-buf/dma-resv.c
> @@ -63,7 +63,7 @@ static struct dma_resv_list *dma_resv_list_alloc(unsigned int shared_max)
>  {
>         struct dma_resv_list *list;
>
> -       list = kmalloc(offsetof(typeof(*list), shared[shared_max]), GFP_KERNEL);
> +       list = kmalloc(struct_size(list, shared, shared_max), GFP_KERNEL);
>         if (!list)
>                 return NULL;
>
> --
> 2.17.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] dma-buf: use struct_size macro
  2020-10-08  8:17 ` Daniel Vetter
@ 2020-10-08  8:40   ` Christian König
  2020-10-08 13:18     ` Gustavo A. R. Silva
  0 siblings, 1 reply; 4+ messages in thread
From: Christian König @ 2020-10-08  8:40 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: gustavoars, dri-devel

Am 08.10.20 um 10:17 schrieb Daniel Vetter:
> On Thu, Oct 8, 2020 at 10:10 AM Christian König
> <ckoenig.leichtzumerken@gmail.com> wrote:
>> Instead of manually calculating the structure size.
>>
>> Signed-off-by: Christian König <christian.koenig@amd.com>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks, could anybody (not me) come up with a cocci script for this?

I'm pretty sure we have used this pattern more than once in the kernel.

Thanks,
Christian.

>
>> ---
>>   drivers/dma-buf/dma-resv.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c
>> index 1c8f2581cb09..bb5a42b10c29 100644
>> --- a/drivers/dma-buf/dma-resv.c
>> +++ b/drivers/dma-buf/dma-resv.c
>> @@ -63,7 +63,7 @@ static struct dma_resv_list *dma_resv_list_alloc(unsigned int shared_max)
>>   {
>>          struct dma_resv_list *list;
>>
>> -       list = kmalloc(offsetof(typeof(*list), shared[shared_max]), GFP_KERNEL);
>> +       list = kmalloc(struct_size(list, shared, shared_max), GFP_KERNEL);
>>          if (!list)
>>                  return NULL;
>>
>> --
>> 2.17.1
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] dma-buf: use struct_size macro
  2020-10-08  8:40   ` Christian König
@ 2020-10-08 13:18     ` Gustavo A. R. Silva
  0 siblings, 0 replies; 4+ messages in thread
From: Gustavo A. R. Silva @ 2020-10-08 13:18 UTC (permalink / raw)
  To: christian.koenig; +Cc: dri-devel

On Thu, Oct 08, 2020 at 10:40:10AM +0200, Christian König wrote:
> Am 08.10.20 um 10:17 schrieb Daniel Vetter:
> > On Thu, Oct 8, 2020 at 10:10 AM Christian König
> > <ckoenig.leichtzumerken@gmail.com> wrote:
> > > Instead of manually calculating the structure size.
> > > 
> > > Signed-off-by: Christian König <christian.koenig@amd.com>
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

> 
> Thanks, could anybody (not me) come up with a cocci script for this?
> 
> I'm pretty sure we have used this pattern more than once in the kernel.
> 

Sure thing. I'll take care of that. I saw this same pattern, recently[1]:

"
> +       size = offsetof(struct pmt_crashlog_priv, entry[pdev->num_resources]);
> +       priv = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
> +       if (!priv)
> +               return -ENOMEM;

struct_size()
"

[1] https://lore.kernel.org/lkml/CAHp75VcP58Ub=gmbRVy0TPJtntKvnQZoi3tOakxE0qsEqzGPVA@mail.gmail.com/

Thanks
--
Gustavo

> 
> > 
> > > ---
> > >   drivers/dma-buf/dma-resv.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c
> > > index 1c8f2581cb09..bb5a42b10c29 100644
> > > --- a/drivers/dma-buf/dma-resv.c
> > > +++ b/drivers/dma-buf/dma-resv.c
> > > @@ -63,7 +63,7 @@ static struct dma_resv_list *dma_resv_list_alloc(unsigned int shared_max)
> > >   {
> > >          struct dma_resv_list *list;
> > > 
> > > -       list = kmalloc(offsetof(typeof(*list), shared[shared_max]), GFP_KERNEL);
> > > +       list = kmalloc(struct_size(list, shared, shared_max), GFP_KERNEL);
> > >          if (!list)
> > >                  return NULL;
> > > 
> > > --
> > > 2.17.1
> > > 
> > > _______________________________________________
> > > dri-devel mailing list
> > > dri-devel@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > 
> > 
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-08 13:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-08  8:10 [PATCH] dma-buf: use struct_size macro Christian König
2020-10-08  8:17 ` Daniel Vetter
2020-10-08  8:40   ` Christian König
2020-10-08 13:18     ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.