Re: [patch] x86, pat: return EINVAL for pci mmap WC request for!pat_enabled

From: Jesse Barnes
Date: Mon Oct 26 2009 - 17:13:00 EST


On Mon, 26 Oct 2009 13:21:32 -0800
Suresh Siddha <suresh.b.siddha@xxxxxxxxx> wrote:

> Thomas Schlichter reported:
> > X.org uses libpciaccess which tries to mmap with write combining
> > enabled via /sys/bus/pci/devices/*/resource0_wc. Currently, when
> > PAT is not enabled, the kernel does fall back to uncached mmap.
> > Then libpciaccess thinks it succeeded mapping with write combining
> > enabled and does not set up suited MTRR entries. ;-(
>
> Instead of silently mapping pci mmap region as UC minus in the case
> of !pat_enabled and wc request, we can return error. Eric Anholt
> mentioned that caller (like X) typically follows up with UC minus pci
> mmap request and if there is a free mtrr slot, caller will manage
> adding WC mtrr.
>
> Jesse Barnes says:
> > Older versions of libpciaccess will behave better if we do it that
> > way (iirc it only allocates an MTRR if the resource_wc file doesn't
> > exist or fails to get mapped).
>
> Reported-by: Thomas Schlichter <thomas.schlichter@xxxxxx>
> Signed-off-by: Thomas Schlichter <thomas.schlichter@xxxxxx>
> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> Acked-by: Eric Anholt <eric@xxxxxxxxxx>
> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
> ---
>

Applied to my linux-next branch, thanks.

--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/