* [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.