[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN9PR12MB5381030454E0A19315002F2DAF82A@BN9PR12MB5381.namprd12.prod.outlook.com>
Date: Thu, 30 Nov 2023 16:01:54 +0000
From: Vadim Pasternak <vadimp@...dia.com>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Kunwu Chan <chentao@...inos.cn>,
David Thompson <davthompson@...dia.com>
CC: Hans de Goede <hdegoede@...hat.com>,
"jiri@...nulli.us" <jiri@...nulli.us>,
Shravan Ramani <shravankr@...dia.com>,
"kunwu.chan@...mail.com" <kunwu.chan@...mail.com>,
"platform-driver-x86@...r.kernel.org"
<platform-driver-x86@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] platform/mellanox: Add a null pointer check in
mlxbf_pmc_create_groups
Hi Ilpo!
> -----Original Message-----
> From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
> Sent: Thursday, 30 November 2023 17:26
> To: Kunwu Chan <chentao@...inos.cn>; Vadim Pasternak
> <vadimp@...dia.com>
> Cc: Hans de Goede <hdegoede@...hat.com>; jiri@...nulli.us; Shravan
> Ramani <shravankr@...dia.com>; kunwu.chan@...mail.com; platform-
> driver-x86@...r.kernel.org; LKML <linux-kernel@...r.kernel.org>
> Subject: Re: [PATCH] platform/mellanox: Add a null pointer check in
> mlxbf_pmc_create_groups
>
> Hi Vadim,
>
> Could you please take a look at this and give advice to Kunwu so we can get all
> of them squashed in one go.
It seems there are six calls devm_kasprintf(), which requires checking pointer.
I guess, it is correct to return '-ENOMEM' for any failure.
I see there is another problem in mlxbf_pmc_probe() - it lacks error flow for:
pmc->hwmon_dev = devm_hwmon_device_register_with_groups(
dev, "bfperf", pmc, pmc->groups);
Need to add:
if (IS_ERR(pmc->hwmon_dev))
return PTR_ERR(pmc->hwmon_dev);
Sharvan, David,
Could you, please, have look?
>
> On Thu, 30 Nov 2023, Kunwu Chan wrote:
>
> > Thanks for your reply.
> >
> > Cause i don't know how to deal with in some scenario,such as in
> > 'mlxbf_pmc_init_perftype_counter', when 'attr->dev_attr.attr.name' is
> > null, should return '-ENOMEM' or 'continue' the loop?
>
> I'd have thought returning -ENOMEM would be safe because it just ends up
> failing probe()? ...And it's not that likely to occur in the first place.
>
> --
> i.
>
> >
> > So I'm going to solve it one by one.
> >
> > Thanks again,
> > Kunwu
> >
> > On 2023/11/28 17:51, Ilpo Järvinen wrote:
> > > On Mon, 27 Nov 2023, Kunwu Chan wrote:
> > >
> > > > devm_kasprintf() returns a pointer to dynamically allocated memory
> > > > which can be NULL upon failure.
> > > >
> > > > Fixes: 1a218d312e65 ("platform/mellanox: mlxbf-pmc: Add Mellanox
> > > > BlueField PMC driver")
> > > > Signed-off-by: Kunwu Chan <chentao@...inos.cn>
> > > > ---
> > > > drivers/platform/mellanox/mlxbf-pmc.c | 2 ++
> > > > 1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/drivers/platform/mellanox/mlxbf-pmc.c
> > > > b/drivers/platform/mellanox/mlxbf-pmc.c
> > > > index 0b427fc24a96..59bbe5e13f6b 100644
> > > > --- a/drivers/platform/mellanox/mlxbf-pmc.c
> > > > +++ b/drivers/platform/mellanox/mlxbf-pmc.c
> > > > @@ -1882,6 +1882,8 @@ static int mlxbf_pmc_create_groups(struct
> > > > device *dev, int blk_num)
> > > > pmc->block[blk_num].block_attr_grp.attrs =
> > > > pmc->block[blk_num].block_attr;
> > > > pmc->block[blk_num].block_attr_grp.name = devm_kasprintf(
> > > > dev, GFP_KERNEL, pmc->block_name[blk_num]);
> > > > + if (!pmc->block[blk_num].block_attr_grp.name)
> > > > + return -ENOMEM;
> > > > pmc->groups[pmc->group_num] = &pmc-
> >block[blk_num].block_attr_grp;
> > > > pmc->group_num++;
> > >
> > > I'm totally lost, why did you fix only one devm_kasprintf() location?
> > > Don't all of them need this check?
> > >
> >
Powered by blists - more mailing lists