I don't like the state this feature is in right now. While the feature, even in
Linux is quite fragile, I investigated quite a lot of corner cases and many
issues are present due to the fact that we support a weird combination of
ADD/REMOVE + ATTACH without DETACH. Focusing on fixing issues and implementing
DETACH is not an easy task now. REMOVE handles things that should really be done
by DETACH. I think that the best move forward would be to strip the REMOVE
operation from the dt-overlay subsystem (I would preserve ABI). This would
eliminate the buggy, incomplete teardown code and leave a clean ADD+ATTACH
surface to later build DETACH and a proper REMOVE on top of. Thoughts?
The removal of REMOVE could be done in this release, not to carry on the buggy
code.
I tested this series with the AMD SW/HW stack.
Michal Orzel (6):
xen/dt-overlay: fix double-free of rangesets on attach failure
xen/dt-overlay: fix rangeset leak and dead code in domctl path
xen/dt-overlay: check overlay size before memcmp in tracker lookup
xen/dt-overlay: fix silent success in dt_overlay_remove_node
xen/dt-overlay: support phandle-based targeting in
overlay_get_nodes_info
xen/dt-overlay: attach resources for child nodes in overlay
xen/common/device-tree/dt-overlay.c | 120 ++++++++++++++++++++++++----
1 file changed, 105 insertions(+), 15 deletions(-)
--
2.43.0