currently, if the page is not a tail of compound page, it will be checked twice for the same thing.
Signed-off-by: Ben Luo <luo...@linux.alibaba.com> --- drivers/vfio/vfio_iommu_type1.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c index 054391f..d0f7346 100644 --- a/drivers/vfio/vfio_iommu_type1.c +++ b/drivers/vfio/vfio_iommu_type1.c @@ -291,11 +291,10 @@ static int vfio_lock_acct(struct vfio_dma *dma, long npage, bool async) static bool is_invalid_reserved_pfn(unsigned long pfn) { if (pfn_valid(pfn)) { - bool reserved; struct page *tail = pfn_to_page(pfn); struct page *head = compound_head(tail); - reserved = !!(PageReserved(head)); if (head != tail) { + bool reserved = PageReserved(head); /* * "head" is not a dangling pointer * (compound_head takes care of that) -- 1.8.3.1