[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] xen/dt-overlay: support phandle-based targeting in overlay_get_nodes_info
- To: "Orzel, Michal" <michal.orzel@xxxxxxx>
- From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
- Date: Tue, 28 Apr 2026 12:24:27 +0200
- Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
- Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1777371868; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=9Lr+2OIu4LkQzWwjA3WNC/sPDHGHa2sUBFGHqOf9eZ4=; b=4oExtKqj2ENbVPV8EkC5QpoFp8ph5JVLWSpWYDbxj/pb9rXkMmHswtK0V7fcpYZ458ug BDQpECCNs92APFFE64dYR21xFyRxOZyaR4tlPJdTqvr0FvPP7XIq/LS5q4iBMQ1SIjKAs xdoVzlveqaNDpncyE7U1YpChgu+UWSVJGCH1lKmvobAOFRQdv+4FJRYe3T/ciI4qrVS35 H3hUcQot1PLp1V2UJLcdc5jy48BhRZc/oh18dktnI/F4xXAVlnyps9XEGeuYLcpLe8e0C /4QBDgvBQi00FVYdqP66ENA3OhuM5rypDc9SbLwNoeAcR4dtg9ceb4SuPj0ea/UFR7CoW 0eSXJWWICPUWg50YBs71ctbFo78WD9/+foSWb2928sv49ju9KkWnvvFoGEn1nKl5CFHHx kKu8wvRun0qUUg4HLW3QO8iTObuf+Nch+m6A7mvQTFZxYXt4W2lfKWCvyR7zKLbqbklWS P+kl3VzxFTcje0hJ90RnPVN60PGZOpFS/cBEl3EhhrriFuspM4N0A9AaMnZZnbqFhxDae k2RhfuEFOXSHaeSm8VUOJjqH76/BGipcY8iYSAYYa4yL0KY5Ji5TXyvwy8wCPhCnmal2t ZbjcAa+UulErGN1CCFPJgFsPCieQ16FHEzkrXIzH69l1C6CsX1w1euCOIqrXQ3I=
- Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1777371868; b=CH/97+DsIuWxZW5ffd8fASGrjevShkPy1KzHNkjIcF/ePLTRPZytaWhl+07xsRw8Xdax j1dL22yHLuVz3aZobB2UPfw9J+9JGCfC8qgHYA5/KlhY9b8UXzciEwjcnD4e0KvHTAE9o 3cJoXK+J73lpFBzSr6SbuYtJEv71xL6WOhUHJ9IKj9xVRYj9gKZx9lDVOh5isgxJ+r6y8 5idCWfvrWwc9t0DsLIwU+1nQfw7DQwvI8zMx+HvKIcyaNHpfL3gcVqQDf8naGxIj9l4HR 8blZr4FIR4qLelTcUvi1qIqMpCdHzPswWkWGozeqX9Yc93z66sj9S0eMQVwqdLH7lAr/C macUb715KVK2Mds0dqGmOGsvoSGVqyi5gHpMWQrZ/5dlxNTdnrVxPWgdUZRPgfgq/iwPe R+J8oyd7f1EjAdSATQMI+mjxBehGffLGSLviUZ1r/y4lsiWc59MjjiYvlmUAavcFkBfhu FDHqEBK0SBF7dCjmrM5etH8SFuALf7VGgzwXXshtkki+thlEG757C/cfApllg+Z8bs83f k4rk0uNGru4fsaXXwp1spSCgH5Vd/ARB27Px7mXYUIREWmx2aA5pGhOSjp7UoCsrGdgT8 T8DkxAHtgn8V7X1syfos1B9K4quuPJJEpvcox3Nr8T8U4lg/aQ75cH0H7BlAM5c=
- Authentication-results: eu.smtp.expurgate.cloud; none
- Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
- Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Luca Fancellu <luca.fancellu@xxxxxxx>
- Delivery-date: Tue, 28 Apr 2026 10:24:33 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 2026-04-28 12:22, Orzel, Michal wrote:
On 28-Apr-26 10:20, Nicola Vetrini wrote:
On 2026-04-28 10:02, Michal Orzel wrote:
overlay_get_nodes_info() is called before fdt_overlay_apply() to
extract
target paths from the overlay. This fails for overlays using
phandle-based
targeting (target = <&label>) because DTC compiles these as
unresolved
fixups (target = <0xffffffff>), causing fdt_overlay_target_offset()
to
return -FDT_ERR_BADPHANDLE. Prior to this change users were forced to
manually modify the dtbo (even for hwdom) to switch from target to
target-phandle by manually inspecting also the host DTB.
Introduce overlay_get_target_path() which directly handles the two
targeting cases that occur before fixup resolution:
- target-path: the string property is returned directly.
- target = <&label>: the label is found in the overlay's __fixups__
node, then resolved to a path via the base DTB's __symbols__ node.
Libfdt fdt_for_each_property_offset() violates MISRA R20.7. Despite
libfdt being excluded from the analysis, this causes ECLAIR scan to
report a regression because the violation introduced by a macro is
reported at the call site. Deviate R20.7 for libfdt.h.
Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
---
In my pre-push testing I realized ECLAIR allcode reported a violation
related to
the use of fdt_for_each_property_offset. Libfdt is excluded from
analysis but
this does not apply to e.g. macros used in other places.
Changes in v2:
- strip out from series that is ready to be committed
- deviate 20.7 for libfdt.h. Discussed with Nicole.
https://gitlab.com/xen-project/people/morzel/xen/-/pipelines/2484326830
---
.../eclair_analysis/ECLAIR/deviations.ecl | 1 +
xen/common/device-tree/dt-overlay.c | 65
+++++++++++++++++--
2 files changed, 60 insertions(+), 6 deletions(-)
diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 30c323906924..5f0b73062474 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -631,6 +631,7 @@ not in scope for compliance are allowed, as that
is
imported code."
-file_tag+={acpi_cpu_idle, "^xen/arch/x86/acpi/cpu_idle\\.c$"}
-config=MC3A2.R20.7,reports+={safe,
"any_area(any_loc(file(gnu_efi_include)||any_exp(macro(^NextMemoryDescriptor$))))"}
-config=MC3A2.R20.7,reports+={safe,
"any_area(any_loc(file(acpi_cpu_idle)))"}
+-config=MC3A2.R20.7,reports+={safe,
"any_area(any_loc(any_exp(file(^xen/include/xen/libfdt/libfdt.h$))))"}
-doc_end
Nit: I think using a file_tag as above is better, but in any case use
libfdt\\.h in the regex
Ok. Provided I will do this on commit, may I convert this as your
Rb/Ab?
~Michal
Yes, sure
Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
|