Re: [PATCHv16 11/17] x86/mm/iommu/sva: Make LAM and SVA mutually exclusive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 3 Apr 2023 at 11:44, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote:
>
> On Mon, Apr 03, 2023 at 08:18:57AM +0200, Dmitry Vyukov wrote:
> > Hi Kirill,
> >
> > ARCH_ENABLE_TAGGED_ADDR checks that task->mm == current->mm,
> > shouldn't ARCH_FORCE_TAGGED_SVA check that as well?
>
> Do you a particular race in mind? I cannot think of anything right away.
>
> I guess we can add the check for consistency. But if there's a bug it is a
> different story.

No, I don't have a particular race in mind. Was thinking solely about
consistency and if these things should be set for other processes
(relaxing the check is always possible in future, but adding new
restrictions is generally not possible).

> > Also it looks like currently to enable both LAM and SVA.
> > LAM enabling checks for SVA, but SVA doesn't and both are not mutually
> > exclusive.
>
> For LAM we check SVM with mm_valid_pasid() && !test_bit() in
> prctl_enable_tagged_addr().
>
> For SVM we check for LAM with !mm_lam_cr3_mask() || test_bit() in
> arch_pgtable_dma_compat() which called from iommu_sva_alloc_pasid().

It seems that currently it's possible to both enable LAM and set SVA bit.
Then arch_pgtable_dma_compat() will return true, but LAM is enabled.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux