On Wed, 13 May 2020 22:54:24 -0700 Christoph Hellwig <h...@infradead.org> wrote:
> > + * 1. CPU vs. IOMMU > > + * 2. Guest vs. Host. > > + */ > > + switch (addr_width) { > > +#ifdef CONFIG_X86 > > + case ADDR_WIDTH_5LEVEL: > > + if (cpu_feature_enabled(X86_FEATURE_LA57) && > > + cap_5lp_support(iommu->cap)) { > > + pasid_set_flpm(pte, 1); > > + } else { > > + dev_err_ratelimited(dev, "5-level paging > > not supported\n"); > > + return -EINVAL; > > + } > > + break; > > The normal style would be to handle the early error return first: > > if (!cpu_feature_enabled(X86_FEATURE_LA57) || > !cap_5lp_support(iommu->cap)) { > dev_err_ratelimited(dev, > "5-level paging not supported\n"); > return -EINVAL; > } > > pasid_set_flpm(pte, 1); > break; > Sounds good. I was thinking in positive logic. thanks