On 2025-02-18 at 11:10, Alexey Kardashevskiy wrote: > diff --git a/include/linux/ioport.h b/include/linux/ioport.h > index 5385349f0b8a..f2e0b9f02373 100644 > --- a/include/linux/ioport.h > +++ b/include/linux/ioport.h > @@ -55,6 +55,7 @@ struct resource { > #define IORESOURCE_MEM_64 0x00100000 > #define IORESOURCE_WINDOW 0x00200000 /* forwarded by > bridge */ > #define IORESOURCE_MUXED 0x00400000 /* Resource is > software muxed */ > +#define IORESOURCE_VALIDATED 0x00800000 /* TDISP validated > */ You may want to remove the reference to TDISP, as this flag could be reused for non-PCI devices in the future. > @@ -1085,6 +1092,47 @@ int adjust_resource(struct resource *res, > resource_size_t start, > } > EXPORT_SYMBOL(adjust_resource); > > +int encrypt_resource(struct resource *res, unsigned int flags) > +{ > + struct resource *p; > + int result = 0; > + > + if (!res) > + return -EINVAL; > + > + write_lock(&resource_lock); > + > + for_each_resource(&iomem_resource, p, false) { I don't think this function should walk the iomem_resource list, it can simply modify res->flags, which is consistent with what is done by the other *_resource() functions that take a pointer to a resource that is expected to be in the list. Also, the name of this function is unrelated to the name of the affected flag, you may want to make these names more consistent.