[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V4 6/8] iommu/arm: Add lightweight iommu_fwspec support
On 13.09.2019 17:35, Oleksandr Tyshchenko wrote: > --- /dev/null > +++ b/xen/include/asm-arm/iommu_fwspec.h > @@ -0,0 +1,68 @@ > +/* > + * xen/include/asm-arm/iommu_fwspec.h > + * > + * Contains a common structure to hold the per-device firmware data and > + * declaration of functions used to maintain that data > + * > + * Based on Linux's iommu_fwspec support you can find at: > + * include/linux/iommu.h > + * > + * Copyright (C) 2007-2008 Advanced Micro Devices, Inc. > + * > + * Copyright (C) 2019 EPAM Systems Inc. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms and conditions of the GNU General Public > + * License, version 2, as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * You should have received a copy of the GNU General Public > + * License along with this program; If not, see > <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __ARCH_ARM_IOMMU_FWSPEC_H__ > +#define __ARCH_ARM_IOMMU_FWSPEC_H__ > + > +/* per-device IOMMU instance data */ > +struct iommu_fwspec { > + /* this device's IOMMU */ > + struct device *iommu_dev; > + /* IOMMU driver private data for this device */ > + void *iommu_priv; > + /* number of associated device IDs */ > + unsigned int num_ids; > + /* IDs which this device may present to the IOMMU */ > + uint32_t ids[1]; > +}; Note that you abuse xrealloc_flex_struct() when using it with such a type: The last field is _not_ a flexible array member. Compilers might legitimately warn if they can prove that you access p->ids[1] anywhere, despite you (presumably) having allocated enough space. (I haven't been able to think of a way for the macro to actually detect and hence refuse such wrong uses.) 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 |