On Tue, 17 Dec 2013, Konrad Rzeszutek Wilk wrote:
> From: Mukesh Rathor <mukesh.rat...@oracle.com>
> 
> Most of the functions in page.h are prefaced with
>       if (xen_feature(XENFEAT_auto_translated_physmap))
>               return mfn;
> 
> Except the mfn_to_local_pfn. At a first sight, the function
> should work without this patch - as the 'mfn_to_mfn' has
> a similar check. But there are no such check in the
> 'get_phys_to_machine' function - so we would crash in there.
> 
> This fixes it by following the convention of having the
> check for auto-xlat in these static functions.
> 
> Signed-off-by: Mukesh Rathor <mukesh.rat...@oracle.com>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>

Acked-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com>


>  arch/x86/include/asm/xen/page.h | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h
> index b913915..4a092cc 100644
> --- a/arch/x86/include/asm/xen/page.h
> +++ b/arch/x86/include/asm/xen/page.h
> @@ -167,7 +167,12 @@ static inline xpaddr_t machine_to_phys(xmaddr_t machine)
>   */
>  static inline unsigned long mfn_to_local_pfn(unsigned long mfn)
>  {
> -     unsigned long pfn = mfn_to_pfn(mfn);
> +     unsigned long pfn;
> +
> +     if (xen_feature(XENFEAT_auto_translated_physmap))
> +             return mfn;
> +
> +     pfn = mfn_to_pfn(mfn);
>       if (get_phys_to_machine(pfn) != mfn)
>               return -1; /* force !pfn_valid() */
>       return pfn;
> -- 
> 1.8.3.1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> xen-de...@lists.xen.org
> http://lists.xen.org/xen-devel
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to