summaryrefslogtreecommitdiffstats
path: root/COPYING
diff options
context:
space:
mode:
authorVishal Verma <vishal.l.verma@intel.com>2022-11-01 01:41:00 -0600
committerDan Williams <dan.j.williams@intel.com>2022-11-01 15:33:07 -0700
commit71ee71d7adcba648077997a29a91158d20c40b09 (patch)
tree72fcf55fcadc94e4cc88efe8273fc5fd96afce49 /COPYING
parent24f0692bfd41fd207d99c993a5785c3426762046 (diff)
downloadlinux-71ee71d7adcba648077997a29a91158d20c40b09.tar.bz2
cxl/region: Fix decoder allocation crash
When an intermediate port's decoders have been exhausted by existing regions, and creating a new region with the port in question in it's hierarchical path is attempted, cxl_port_attach_region() fails to find a port decoder (as would be expected), and drops into the failure / cleanup path. However, during cleanup of the region reference, a sanity check attempts to dereference the decoder, which in the above case didn't exist. This causes a NULL pointer dereference BUG. To fix this, refactor the decoder allocation and de-allocation into helper routines, and in this 'free' routine, check that the decoder, @cxld, is valid before attempting any operations on it. Cc: <stable@vger.kernel.org> Suggested-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Vishal Verma <vishal.l.verma@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Fixes: 384e624bb211 ("cxl/region: Attach endpoint decoders") Link: https://lore.kernel.org/r/20221101074100.1732003-1-vishal.l.verma@intel.com Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions