|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 for-next 04/12] x86/mmcfg: add handlers for the PVH Dom0 MMCFG areas
>>> On 18.10.17 at 13:40, <roger.pau@xxxxxxxxxx> wrote:
> +int __hwdom_init register_vpci_mmcfg_handler(struct domain *d, paddr_t addr,
> + unsigned int start_bus,
> + unsigned int end_bus,
> + unsigned int seg)
> +{
> + struct hvm_mmcfg *mmcfg, *new = xmalloc(struct hvm_mmcfg);
> +
> + ASSERT(is_hardware_domain(d));
> +
> + if ( !new )
> + return -ENOMEM;
> +
> + new->addr = addr + (start_bus << 20);
> + new->start_bus = start_bus;
> + new->segment = seg;
> + new->size = (end_bus - start_bus + 1) << 20;;
Please check end_bus >= start_bus early on in the function.
> +void destroy_vpci_mmcfg(struct list_head *domain_mmcfg)
> +{
> + while ( !list_empty(domain_mmcfg) )
> + {
> + struct hvm_mmcfg *mmcfg = list_first_entry(domain_mmcfg,
> + struct hvm_mmcfg, next);
> +
> + list_del(&mmcfg->next);
> + xfree(mmcfg);
> + }
For sanity reasons, wouldn't it be better to write-lock
d->arch.hvm_domain.mmcfg_lock for around the loop?
With at least the earlier point taken care of
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |