diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/dt-overlay.c index 3853e6e347..0eed1532a1 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -379,7 +379,8 @@ find_track_entry_from_tracker(const void *overlay_fdt, */ list_for_each_entry_safe( entry, temp, &overlay_tracker, entry ) { - if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 ) + if ( (fdt_totalsize(entry->overlay_fdt) == overlay_fdt_size) && + !memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) ) { found_entry = true; break;