linux-stable/drivers/cxl
Lukas Wunner 716f8b05cc cxl/pci: Handle excessive CDAT length
commit 4fe2c13d59 upstream.

If the length in the CDAT header is larger than the concatenation of the
header and all table entries, then the CDAT exposed to user space
contains trailing null bytes.

Not every consumer may be able to handle that.  Per Postel's robustness
principle, "be liberal in what you accept" and silently reduce the
cached length to avoid exposing those null bytes.

Fixes: c97006046c ("cxl/port: Read CDAT table")
Tested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: stable@vger.kernel.org # v6.0+
Link: https://lore.kernel.org/r/6d98b3c7da5343172bd3ccabfabbc1f31c079d74.1678543498.git.lukas@wunner.de
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-13 17:02:42 +02:00
..
core cxl/pci: Handle excessive CDAT length 2023-04-13 17:02:42 +02:00
acpi.c cxl/pmem: Fix nvdimm unregistration when cxl_pmem driver is absent 2023-01-25 15:35:26 -08:00
cxl.h cxl: update names for interleave ways conversion macros 2022-12-05 18:17:16 -08:00
cxlmem.h cxl/mbox: Add variable output size validation for internal commands 2022-12-06 14:36:02 -08:00
cxlpci.h cxl/pci: Handle truncated CDAT entries 2023-04-13 17:02:42 +02:00
Kconfig cxl/region: Manage CPU caches relative to DPA invalidation events 2022-12-03 00:03:57 -08:00
Makefile cxl/pmem: Introduce nvdimm_security_ops with ->get_flags() operation 2022-11-30 16:30:47 -08:00
mem.c cxl/port: Add RCD endpoint port enumeration 2022-12-05 10:32:26 -08:00
pci.c cxl: fix cxl_report_and_clear() RAS UE addr mis-assignment 2023-01-09 12:55:54 -08:00
pmem.c cxl/pmem: Fix nvdimm registration races 2023-03-10 09:29:42 +01:00
port.c cxl/port: Read CDAT table 2022-07-19 15:38:05 -07:00
security.c cxl/mbox: Enable cxl_mbox_send_cmd() users to validate output size 2022-12-06 14:36:02 -08:00