On 24.04.2024 05:34, Henry Wang wrote:
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
> #define XEN_SYSCTL_DT_OVERLAY_ADD 1
> #define XEN_SYSCTL_DT_OVERLAY_REMOVE 2
> uint8_t overlay_op; /* IN: Add or remove. */
> - uint8_t pad[3]; /* IN: Must be zero. */
> + bool domain_mapping; /* IN: True of False. */
> + uint8_t pad[2]; /* IN: Must be zero. */
> + uint32_t domain_id;
> };
If you merely re-purposed padding fields, all would be fine without
bumping the interface version. Yet you don't, albeit for an unclear
reason: Why uint32_t rather than domid_t? And on top of that - why a
separate boolean when you could use e.g. DOMID_INVALID to indicate
"no domain mapping"?
That said - anything taking a domain ID is certainly suspicious in a
sysctl. Judging from the description you really mean this to be a
domctl. Anything else will require extra justification.
Jan