[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b9f49f34-1a69-41bc-8324-2e969e53f9eb@amd.com>
Date: Wed, 19 Mar 2025 09:18:31 -0700
From: "Nelson, Shannon" <shannon.nelson@....com>
To: Dan Carpenter <dan.carpenter@...aro.org>,
Brett Creeley <brett.creeley@....com>
Cc: Dave Jiang <dave.jiang@...el.com>, Jason Gunthorpe <jgg@...pe.ca>,
Saeed Mahameed <saeedm@...dia.com>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Leon Romanovsky <leon@...nel.org>, linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: Re: [PATCH next] pds_fwctl: Fix a NULL vs IS_ERR() check in
pdsfc_validate_rpc()
On 3/19/2025 12:06 AM, Dan Carpenter wrote:
>
> The pdsfc_get_operations() function returns error pointers, it doesn't
> return NULL. However, the "ep_info->operations" pointer should be set
> to either a valid pointer or NULL because the rest of the driver checks
> for that.
>
> Fixes: 804294d75ac5 ("pds_fwctl: add rpc and query support")
> Signed-off-by: Dan Carpenter <dan.carpenter@...aro.org>
Hi Dan, thanks for this patch. We also have this same fix in the
patchset update that I was expecting to push out today, but you beat me
to it.
Shall I continue with our v4 patchset, or should I now be sending
smaller patches to update from earlier review comments?
Thanks,
sln
> ---
> ---
> drivers/fwctl/pds/main.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/fwctl/pds/main.c b/drivers/fwctl/pds/main.c
> index c0266fc76797..a097fdde0b55 100644
> --- a/drivers/fwctl/pds/main.c
> +++ b/drivers/fwctl/pds/main.c
> @@ -255,6 +255,7 @@ static int pdsfc_validate_rpc(struct pdsfc_dev *pdsfc,
> {
> struct pds_fwctl_query_data_operation *op_entry;
> struct pdsfc_rpc_endpoint_info *ep_info = NULL;
> + struct pds_fwctl_query_data *operations;
> struct device *dev = &pdsfc->fwctl.dev;
> int i;
>
> @@ -287,13 +288,14 @@ static int pdsfc_validate_rpc(struct pdsfc_dev *pdsfc,
> /* query and cache this endpoint's operations */
> mutex_lock(&ep_info->lock);
> if (!ep_info->operations) {
> - ep_info->operations = pdsfc_get_operations(pdsfc,
> - &ep_info->operations_pa,
> - rpc->in.ep);
> - if (!ep_info->operations) {
> + operations = pdsfc_get_operations(pdsfc,
> + &ep_info->operations_pa,
> + rpc->in.ep);
> + if (IS_ERR(operations)) {
> mutex_unlock(&ep_info->lock);
> - return -ENOMEM;
> + return PTR_ERR(operations);
> }
> + ep_info->operations = operations;
> }
> mutex_unlock(&ep_info->lock);
>
> --
> 2.47.2
>
Powered by blists - more mailing lists