On 06.03.2025 23:03, Jason Andryuk wrote:
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -4346,6 +4346,16 @@ static void gnttab_usage_print(struct domain *rd)
> printk("no active grant table entries\n");
> }
>
> +void gnttab_seed_entry(struct domain *d, int idx, domid_t be_domid,
Can idx be negative? If not, unsigned int please.
Furthermore, as with any additions to common code, please keep in mind
Misra: We better wouldn't gain new unreachable code for certain configs,
even if - didn't check - the respective rule continues to be non-blocking.
> + uint64_t frame, unsigned int flags)
> +{
> + struct grant_table *gt = d->grant_table;
This looks like it could be pointer-to-const. Same apparently for the d
function parameter. Question is - would it perhaps make sense to have
const struct grant_table *gt be the function parameter in the first place?
> + shared_entry_v1(gt, idx).flags = flags;
> + shared_entry_v1(gt, idx).domid = be_domid;
> + shared_entry_v1(gt, idx).frame = frame;
> +}
In common code there shouldn't be an assumption that gnttab v1 is in use.
Jan