Hi, On Tue, Aug 22, 2017 at 5:24 PM, Joerg Roedel <j...@8bytes.org> wrote: > On Mon, Aug 21, 2017 at 03:40:41PM +0300, Oleksandr Tyshchenko wrote: >> From: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com> >> >> In ipmmu_domain_init_context() we are trying to allocate context and >> if allocation fails we will call free_io_pgtable_ops(), >> but "domain->context_id" hasn't been initialized yet (likely it is 0 >> because of kzalloc). Having the following call stack: >> free_io_pgtable_ops() -> io_pgtable_tlb_flush_all() -> >> ipmmu_tlb_flush_all() -> ipmmu_tlb_invalidate() >> we will get a mistaken cache flush for a context pointed by >> uninitialized "domain->context_id". >> >> So, set context_id to non-existent value (IPMMU_CTX_MAX) before calling >> free_io_pgtable_ops() and check it for a valid value (< IPMMU_CTX_MAX) >> before calling ipmmu_tlb_invalidate(). >> >> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com> >> --- >> drivers/iommu/ipmmu-vmsa.c | 4 ++++ >> 1 file changed, 4 insertions(+) > > Applied, thanks. Thank you.
> -- Regards, Oleksandr Tyshchenko _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu