2019-05-17 07:32:11

by xiaolinkui

[permalink] [raw]
Subject: [PATCH] arch: s390: use struct_size() in kmalloc()

Use the new struct_size() helper to keep code simple.

Signed-off-by: xiaolinkui <[email protected]>
---
arch/s390/include/asm/idals.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/s390/include/asm/idals.h b/arch/s390/include/asm/idals.h
index 15578fd..6fb7ace 100644
--- a/arch/s390/include/asm/idals.h
+++ b/arch/s390/include/asm/idals.h
@@ -122,8 +122,7 @@ idal_buffer_alloc(size_t size, int page_order)

nr_ptrs = (size + IDA_BLOCK_SIZE - 1) >> IDA_SIZE_LOG;
nr_chunks = (4096 << page_order) >> IDA_SIZE_LOG;
- ib = kmalloc(sizeof(struct idal_buffer) + nr_ptrs*sizeof(void *),
- GFP_DMA | GFP_KERNEL);
+ ib = kmalloc(struct_size(ib, data, nr_ptrs), GFP_DMA | GFP_KERNEL);
if (ib == NULL)
return ERR_PTR(-ENOMEM);
ib->size = size;
--
2.7.4




2019-06-01 10:23:35

by Heiko Carstens

[permalink] [raw]
Subject: Re: [PATCH] arch: s390: use struct_size() in kmalloc()

On Fri, May 17, 2019 at 03:15:17PM +0800, xiaolinkui wrote:
> Use the new struct_size() helper to keep code simple.
>
> Signed-off-by: xiaolinkui <[email protected]>
> ---
> arch/s390/include/asm/idals.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/s390/include/asm/idals.h b/arch/s390/include/asm/idals.h
> index 15578fd..6fb7ace 100644
> --- a/arch/s390/include/asm/idals.h
> +++ b/arch/s390/include/asm/idals.h
> @@ -122,8 +122,7 @@ idal_buffer_alloc(size_t size, int page_order)
>
> nr_ptrs = (size + IDA_BLOCK_SIZE - 1) >> IDA_SIZE_LOG;
> nr_chunks = (4096 << page_order) >> IDA_SIZE_LOG;
> - ib = kmalloc(sizeof(struct idal_buffer) + nr_ptrs*sizeof(void *),
> - GFP_DMA | GFP_KERNEL);
> + ib = kmalloc(struct_size(ib, data, nr_ptrs), GFP_DMA | GFP_KERNEL);
> if (ib == NULL)
> return ERR_PTR(-ENOMEM);
> ib->size = size;

Applied, thanks.