> From: Rosen Penev <[email protected]>
> [...]
> Subject: [PATCH] EDAC: sb_edac: use kzalloc_flex

Could you use this style of subject:

  EDAC/sb: Use kzalloc_flex()

> 
> Simplifies allocations by using a flexible array member in this struct.
> 
> Add __counted_by to get extra runtime analysis.
> 
> Signed-off-by: Rosen Penev <[email protected]>
> ---
>  drivers/edac/sb_edac.c | 14 +++-----------
>  1 file changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c index
> 09d4e816404b..7b282dfd093f 100644
> --- a/drivers/edac/sb_edac.c
> +++ b/drivers/edac/sb_edac.c
> @@ -364,11 +364,11 @@ struct sbridge_dev {
>       int                     seg;
>       u8                      bus, mc;
>       u8                      node_id, source_id;
> -     struct pci_dev          **pdev;
>       enum domain             dom;
>       int                     n_devs;
>       int                     i_devs;
>       struct mem_ctl_info     *mci;
> +     struct pci_dev          *pdev[] __counted_by(n_devs);
>  };
> 
>  struct knl_pvt {
> @@ -771,21 +771,14 @@ static struct sbridge_dev *alloc_sbridge_dev(int
> seg, u8 bus, enum domain dom,  {
>       struct sbridge_dev *sbridge_dev;
> 
> -     sbridge_dev = kzalloc_obj(*sbridge_dev);
> +     sbridge_dev = kzalloc_flex(*sbridge_dev, pdev, table-
> >n_devs_per_imc);
>       if (!sbridge_dev)
>               return NULL;
> 
> -     sbridge_dev->pdev = kzalloc_objs(*sbridge_dev->pdev,
> -                                      table->n_devs_per_imc);
> -     if (!sbridge_dev->pdev) {
> -             kfree(sbridge_dev);
> -             return NULL;
> -     }
> -
> +     sbridge_dev->n_devs = table->n_devs_per_imc;

What's the reason for moving this line of code up here?

>       sbridge_dev->seg = seg;
>       sbridge_dev->bus = bus;
>       sbridge_dev->dom = dom;
> -     sbridge_dev->n_devs = table->n_devs_per_imc;
>       list_add_tail(&sbridge_dev->list, &sbridge_edac_list);
> [...]

Other than the comments above:

   Reviewed-by: Qiuxu Zhuo <[email protected]>

Reply via email to