Re: [PATCH 1/2] cxl/hdm: Fix && vs || bug

From: Robert Richter
Date: Tue Oct 31 2023 - 07:03:04 EST


On 31.10.23 12:53:52, Dan Carpenter wrote:
> If "info" is NULL then this code will crash. || was intended instead of
> &&.
>
> Fixes: 8ce520fdea24 ("cxl/hdm: Use stored Component Register mappings to map HDM decoder capability")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> drivers/cxl/core/hdm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
> index bc8ad4a8afca..af17da8230d5 100644
> --- a/drivers/cxl/core/hdm.c
> +++ b/drivers/cxl/core/hdm.c
> @@ -146,7 +146,7 @@ struct cxl_hdm *devm_cxl_setup_hdm(struct cxl_port *port,
>
> /* Memory devices can configure device HDM using DVSEC range regs. */
> if (reg_map->resource == CXL_RESOURCE_NONE) {
> - if (!info && !info->mem_enabled) {
> + if (!info || !info->mem_enabled) {

Right, there was a bug.

Reviewed-by: Robert Richter <rrichter@xxxxxxx>

> dev_err(dev, "No component registers mapped\n");
> return ERR_PTR(-ENXIO);
> }
> --
> 2.42.0
>