Messages in this thread | | | From | Qian Cai <> | Subject | Re: [RFC PATCH] iommu/amd: fix a race in fetch_pte() | Date | Sat, 18 Apr 2020 09:01:35 -0400 |
| |
> On Apr 18, 2020, at 8:10 AM, Joerg Roedel <joro@8bytes.org> wrote: > > Yes, your patch still looks racy. You need to atomically read > domain->pt_root to a stack variable and derive the pt_root pointer and > the mode from that variable instead of domain->pt_root directly. If you > read the domain->pt_root twice there could still be an update between > the two reads. > Probably the lock in increase_address_space() can also be avoided if > pt_root is updated using cmpxchg()?
Hard to tell without testing further. I’ll leave that optimization in the future, and focus on fixing those races first.
| |