cxl: Add missing return to cdat read error path
authorDave Jiang <dave.jiang@intel.com>
Sat, 13 May 2023 07:20:06 +0000 (00:20 -0700)
committerDan Williams <dan.j.williams@intel.com>
Sat, 13 May 2023 07:20:06 +0000 (00:20 -0700)
Add a return to the error path when cxl_cdat_read_table() fails. Current
code continues with the table pointer points to freed memory.

Fixes: 7a877c923995 ("cxl/pci: Simplify CDAT retrieval error path")
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Link: https://lore.kernel.org/r/168382793506.3510737.4792518576623749076.stgit@djiang5-mobl3
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/pci.c

index bdbd907..f332fe7 100644 (file)
@@ -571,6 +571,7 @@ void read_cdat_data(struct cxl_port *port)
                /* Don't leave table data allocated on error */
                devm_kfree(dev, cdat_table);
                dev_err(dev, "CDAT data read error\n");
+               return;
        }
 
        port->cdat.table = cdat_table + sizeof(__le32);