On Tue, Jul 09, 2013 at 03:56:45PM +0200, Dominik Dingel wrote: > Current common code uses PAGE_OFFSET to indicate a bad host virtual address. > As this check won't work on architectures that don't map kernel and user memory > into the same address space (e.g. s390), an additional implementation is made > available in the case that PAGE_OFFSET == 0. > > Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> > --- > include/linux/kvm_host.h | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index a63d83e..f3c04e7 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -85,6 +85,18 @@ static inline bool is_noslot_pfn(pfn_t pfn) > return pfn == KVM_PFN_NOSLOT; > } > > +#if (PAGE_OFFSET == 0) > + Please do it like I described it in the previous review. Lets not rely on arch low level mmu details like that here. > +#define KVM_HVA_ERR_BAD (-1UL) > +#define KVM_HVA_ERR_RO_BAD (-1UL) > + > +static inline bool kvm_is_error_hva(unsigned long addr) > +{ > + return addr == KVM_HVA_ERR_BAD; > +} > + > +#else > + > #define KVM_HVA_ERR_BAD (PAGE_OFFSET) > #define KVM_HVA_ERR_RO_BAD (PAGE_OFFSET + PAGE_SIZE) > > @@ -93,6 +105,8 @@ static inline bool kvm_is_error_hva(unsigned long addr) > return addr >= PAGE_OFFSET; > } > > +#endif > + > #define KVM_ERR_PTR_BAD_PAGE (ERR_PTR(-ENOENT)) > > static inline bool is_error_page(struct page *page) > -- > 1.8.2.2 -- Gleb. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>