linux-stable/drivers/cxl
Yanfei Xu 55e268694e cxl/pci: Fix to record only non-zero ranges
The function cxl_dvsec_rr_decode() retrieves and records DVSEC ranges
into info->dvsec_range[], regardless of whether it is non-zero range,
and the variable info->ranges indicates the number of non-zero ranges.
However, in cxl_hdm_decode_init(), the validation for
info->dvsec_range[] occurs in a for loop that iterates based on
info->ranges. It may result in zero range to be validated but non-zero
range not be validated, in turn, the number of allowed ranges is to be
0. Address it by only record non-zero ranges.

This fix is not urgent as it requires a configuration that zeroes out
the first dvsec range while populating the second. This has not been
observed, but it is theoretically possible. If this gets picked up for
-stable, no harm done, but there is no urgency to backport.

Fixes: 560f785590 ("cxl/pci: Retrieve CXL DVSEC memory info")
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Yanfei Xu <yanfei.xu@intel.com>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Link: https://patch.msgid.link/20240828084231.1378789-2-yanfei.xu@intel.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
2024-09-09 11:33:44 -07:00
..
core cxl/pci: Fix to record only non-zero ranges 2024-09-09 11:33:44 -07:00
acpi.c Merge branch 'for-6.11/xor_fixes' into cxl-for-next 2024-07-11 16:47:47 -07:00
cxl.h cxl/pci: Rename cxl_setup_parent_dport() and cxl_dport_map_regs() 2024-09-03 15:29:33 -07:00
cxlmem.h CXL for v6.11 merge window 2024-07-28 09:33:28 -07:00
cxlpci.h PCI/CXL: Move CXL Vendor ID to pci_ids.h 2024-05-08 13:18:33 -05:00
Kconfig cxl: Fix use of phys_to_target_node() for x86 2024-04-30 10:43:48 -07:00
Makefile cxl/pmem: Introduce nvdimm_security_ops with ->get_flags() operation 2022-11-30 16:30:47 -08:00
mem.c cxl/pci: Rename cxl_setup_parent_dport() and cxl_dport_map_regs() 2024-09-03 15:29:33 -07:00
pci.c cxl/port: Use __free() to drop put_device() for cxl_port 2024-09-03 14:49:48 -07:00
pmem.c cxl/port: Use scoped_guard()/guard() to drop device_lock() for cxl_port 2024-09-03 14:49:49 -07:00
pmu.h cxl/pci: Find and register CXL PMU devices 2023-05-30 11:20:35 -07:00
port.c cxl: add missing MODULE_DESCRIPTION() macros 2024-07-02 12:52:26 -07:00
security.c Merge branch 'for-6.5/cxl-type-2' into for-6.5/cxl 2023-06-25 17:16:51 -07:00