mem/cxl_type3: Fix overlapping region validation error
authorYao Xingtao <yaoxt.fnst@fujitsu.com>
Mon, 14 Oct 2024 12:18:58 +0000 (13:18 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 4 Nov 2024 21:03:24 +0000 (16:03 -0500)
commit5eabca7ec0a92032c7dd5188f1708344c225a385
treecfc8abc3d410969be339ea5e6b52584755247566
parent8352756ffa72668773d6904bc76dfc0bf2619e5a
mem/cxl_type3: Fix overlapping region validation error

When injecting a new poisoned region through qmp_cxl_inject_poison(),
the newly injected region should not overlap with existing poisoned
regions.

The current validation method does not consider the following
overlapping region:
┌───┬───────┬───┐
│a  │  b(a) │a  │
└───┴───────┴───┘
(a is a newly added region, b is an existing region, and b is a
 subregion of a)

Fixes: 9547754f40ee ("hw/cxl: QMP based poison injection support")
Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20241014121902.2146424-4-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/mem/cxl_type3.c