Message ID | 20230519215436.3394532-1-rrichter@amd.com |
---|---|
State | Accepted |
Commit | a70fc4ed20a6118837b0aecbbf789074935f473b |
Headers | show |
Series | cxl/port: Fix NULL pointer access in devm_cxl_add_port() | expand |
On 5/19/23 2:54 PM, Robert Richter wrote: > In devm_cxl_add_port() the port creation may fail and its associated > pointer does not contain a valid address. During error message > generation this invalid port address is used. Fix that wrong address > access. > > Fixes: f3cd264c4ec1 ("cxl: Unify debug messages when calling devm_cxl_add_port()") > Signed-off-by: Robert Richter <rrichter@amd.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/cxl/core/port.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c > index da2068475fa2..e7c284c890bc 100644 > --- a/drivers/cxl/core/port.c > +++ b/drivers/cxl/core/port.c > @@ -750,11 +750,10 @@ struct cxl_port *devm_cxl_add_port(struct device *host, struct device *uport, > > parent_port = parent_dport ? parent_dport->port : NULL; > if (IS_ERR(port)) { > - dev_dbg(uport, "Failed to add %s%s%s%s: %ld\n", > - dev_name(&port->dev), > - parent_port ? " to " : "", > + dev_dbg(uport, "Failed to add%s%s%s: %ld\n", > + parent_port ? " port to " : "", > parent_port ? dev_name(&parent_port->dev) : "", > - parent_port ? "" : " (root port)", > + parent_port ? "" : " root port", > PTR_ERR(port)); > } else { > dev_dbg(uport, "%s added%s%s%s\n", > > base-commit: e764f12208b99ac7892c4e3f6bf88d71ca71036f
Robert Richter wrote: > In devm_cxl_add_port() the port creation may fail and its associated > pointer does not contain a valid address. During error message > generation this invalid port address is used. Fix that wrong address > access. > > Fixes: f3cd264c4ec1 ("cxl: Unify debug messages when calling devm_cxl_add_port()") > Signed-off-by: Robert Richter <rrichter@amd.com> > --- > drivers/cxl/core/port.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c > index da2068475fa2..e7c284c890bc 100644 > --- a/drivers/cxl/core/port.c > +++ b/drivers/cxl/core/port.c > @@ -750,11 +750,10 @@ struct cxl_port *devm_cxl_add_port(struct device *host, struct device *uport, > > parent_port = parent_dport ? parent_dport->port : NULL; > if (IS_ERR(port)) { > - dev_dbg(uport, "Failed to add %s%s%s%s: %ld\n", > - dev_name(&port->dev), > - parent_port ? " to " : "", > + dev_dbg(uport, "Failed to add%s%s%s: %ld\n", > + parent_port ? " port to " : "", > parent_port ? dev_name(&parent_port->dev) : "", > - parent_port ? "" : " (root port)", > + parent_port ? "" : " root port", > PTR_ERR(port)); Looks good, applied.
diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c index da2068475fa2..e7c284c890bc 100644 --- a/drivers/cxl/core/port.c +++ b/drivers/cxl/core/port.c @@ -750,11 +750,10 @@ struct cxl_port *devm_cxl_add_port(struct device *host, struct device *uport, parent_port = parent_dport ? parent_dport->port : NULL; if (IS_ERR(port)) { - dev_dbg(uport, "Failed to add %s%s%s%s: %ld\n", - dev_name(&port->dev), - parent_port ? " to " : "", + dev_dbg(uport, "Failed to add%s%s%s: %ld\n", + parent_port ? " port to " : "", parent_port ? dev_name(&parent_port->dev) : "", - parent_port ? "" : " (root port)", + parent_port ? "" : " root port", PTR_ERR(port)); } else { dev_dbg(uport, "%s added%s%s%s\n",
In devm_cxl_add_port() the port creation may fail and its associated pointer does not contain a valid address. During error message generation this invalid port address is used. Fix that wrong address access. Fixes: f3cd264c4ec1 ("cxl: Unify debug messages when calling devm_cxl_add_port()") Signed-off-by: Robert Richter <rrichter@amd.com> --- drivers/cxl/core/port.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) base-commit: e764f12208b99ac7892c4e3f6bf88d71ca71036f