aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/vmalloc.py
diff options
context:
space:
mode:
authorFan Ni <[email protected]>2022-12-15 17:09:14 +0000
committerDan Williams <[email protected]>2023-02-06 17:33:50 -0800
commit4fa4302d6dc7de7e8e74dc7405611a2efb4bf54b (patch)
treec757dc300f036690a9c2620a42fff94d3c7a75d5 /scripts/gdb/linux/vmalloc.py
parent6d796c50f84ca79f1722bb131799e5a5710c4700 (diff)
cxl/region: Fix null pointer dereference for resetting decoder
Not all decoders have a reset callback. The CXL specification allows a host bridge with a single root port to have no explicit HDM decoders. Currently the region driver assumes there are none. As such the CXL core creates a special pass through decoder instance without a commit/reset callback. Prior to this patch, the ->reset() callback was called unconditionally when calling cxl_region_decode_reset. Thus a configuration with 1 Host Bridge, 1 Root Port, and one directly attached CXL type 3 device or multiple CXL type 3 devices attached to downstream ports of a switch can cause a null pointer dereference. Before the fix, a kernel crash was observed when we destroy the region, and a pass through decoder is reset. The issue can be reproduced as below, 1) create a region with a CXL setup which includes a HB with a single root port under which a memdev is attached directly. 2) destroy the region with cxl destroy-region regionX -f. Fixes: 176baefb2eb5 ("cxl/hdm: Commit decoder state to hardware") Cc: <[email protected]> Signed-off-by: Fan Ni <[email protected]> Reviewed-by: Davidlohr Bueso <[email protected]> Reviewed-by: Dave Jiang <[email protected]> Reviewed-by: Jonathan Cameron <[email protected]> Tested-by: Gregory Price <[email protected]> Reviewed-by: Gregory Price <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dan Williams <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/vmalloc.py')
0 files changed, 0 insertions, 0 deletions