lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 31 Mar 2009 09:44:32 +0200
From:	Arkadiusz Miskiewicz <a.miskiewicz@...il.com>
To:	"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>
Cc:	"Siddha, Suresh B" <suresh.b.siddha@...el.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: 2.6.29 git master and PAT problems

On Tuesday 31 of March 2009, Pallipadi, Venkatesh wrote:
> On Mon, Mar 30, 2009 at 04:25:11PM -0700, Arkadiusz Miskiewicz wrote:
> > On Tuesday 31 of March 2009, Arkadiusz Miskiewicz wrote:
> > > On Monday 30 of March 2009, Pallipadi, Venkatesh wrote:
> > >
> > > More info follows. Now I've switched to
> > > e1c502482853f84606928f5a2f2eb6da1993cda1 which contains latest drm
> > > fixes and now I get much lower numbers of PAT errors but still.
> >
> > Also when I switch t400 into discrete mode (radeon hd 3400 instead
> > of integrated intel GM45) I get such errors (probably unrelated
> > to these seen when using intel):
> >
> > [  419.187657] X:10550 conflicting memory types cfff0000-d0000000
> > uncached<->uncached-minus [  419.187670] reserve_memtype failed
> > 0xcfff0000-0xd0000000, track uncached, req write-back [  419.553914]
> > X:10550 conflicting memory types cfff0000-d0000000
> > uncached<->uncached-minus [  419.553923] reserve_memtype failed
> > 0xcfff0000-0xd0000000, track uncached, req write-back [  419.813592]
> > X:10550 conflicting memory types cfff0000-d0000000
> > uncached<->uncached-minus [  419.813601] reserve_memtype failed
> > 0xcfff0000-0xd0000000, track uncached, req write-back [  420.100102]
> > X:10550 conflicting memory types cfff0000-d0000000
> > uncached<->uncached-minus [  420.100111] reserve_memtype failed
> > 0xcfff0000-0xd0000000, track uncached, req write-back
>
> Yes. This is a different problem than the freeing invalid type one. Are
> these errors also with latest git kernel? Can you try the patch below
> (which is a part of a bigger cleanup patch I have lined up).

It's a latest git kernel as of today morning
(latest commit is 15f7176eb1cccec0a332541285ee752b935c1c85)
+ your patch. Problem persists:

[   74.696353] [drm] Setting GART location based on new memory map
[   74.711520] [drm] Loading RV620 CP Microcode
[   74.711792] [drm] Loading RV620 PFP Microcode
[   74.726719] [drm] Resetting GPU
[   74.726776] [drm] writeback test succeeded in 1 usecs
[   75.256034] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining
[   75.256043] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back
[   75.849951] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining
[   75.849960] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back
[   76.054374] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining
[   76.054377] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back
[   76.074481] X:5378 freeing invalid memtype d0000000-e0000000
[   76.176881] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining
[   76.176885] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back
[   76.207734] X:5380 freeing invalid memtype d0000000-e0000000

cat /debug/x86/pat_memtype_list
PAT memtype list:
uncached-minus @ 0xbfad1000-0xbfad2000
uncached-minus @ 0xbfad2000-0xbfad3000
uncached-minus @ 0xbfad3000-0xbfad4000
uncached-minus @ 0xbfb06000-0xbfb07000
uncached-minus @ 0xbfb07000-0xbfb08000
uncached-minus @ 0xbfd6a000-0xbfd6b000
uncached-minus @ 0xbfd6a000-0xbfd6b000
uncached-minus @ 0xbfd6a000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd79000-0xbfd7a000
uncached-minus @ 0xbfd7b000-0xbfd7c000
uncached-minus @ 0xbfd8d000-0xbfd8e000
uncached-minus @ 0xbfd8e000-0xbfd8f000
uncached-minus @ 0xbfd8e000-0xbfd8f000
uncached-minus @ 0xcfff0000-0xd0000000
uncached-minus @ 0xcfff0000-0xd0000000
uncached-minus @ 0xcfff0000-0xd0000000
uncached-minus @ 0xcfff0000-0xd0000000
uncached-minus @ 0xcfff0000-0xd0000000
write-combining @ 0xdfff0000-0xe0000000
uncached-minus @ 0xe0000000-0xe4000000
uncached-minus @ 0xf4200000-0xf4202000
uncached-minus @ 0xf4300000-0xf4301000
uncached-minus @ 0xf4301000-0xf4302000
uncached-minus @ 0xf4301000-0xf4302000
uncached-minus @ 0xfc200000-0xfc220000
uncached-minus @ 0xfc220000-0xfc224000
uncached-minus @ 0xfc225000-0xfc226000
uncached-minus @ 0xfc226000-0xfc227000
uncached-minus @ 0xfc226000-0xfc227000
uncached-minus @ 0xfc227000-0xfc228000
uncached-minus @ 0xfed00000-0xfed01000
uncached-minus @ 0xfed1f000-0xfed20000
cat /proc/mtrr
reg00: base=0x13c000000 ( 5056MB), size=   64MB, count=1: uncachable
reg01: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg02: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg03: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back
reg04: base=0x0d0000000 ( 3328MB), size=  256MB, count=1: write-combining

>
> Thanks,
> Venki
>
> From: Suresh Siddha <suresh.b.siddha@...el.com>
>
> Fix pat_x_mtrr_type() to use UC_MINUS when the mtrr type return UC. This
> is to be  consistent with ioremap() and ioremap_nocache() which uses
> UC_MINUS.
>
> Signed-off-by: Suresh Siddha <suresh.b.siddha@...el.com>
> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>
> ---
>  arch/x86/mm/ioremap.c |    3 ++-
>  arch/x86/mm/pat.c     |   35 +++++++++++++----------------------
>  2 files changed, 15 insertions(+), 23 deletions(-)
>
> diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
> index 1fca82b..e07da24 100644
> --- a/arch/x86/mm/pat.c
> +++ b/arch/x86/mm/pat.c
> @@ -182,10 +182,10 @@ static unsigned long pat_x_mtrr_type(u64 start, u64
> end, unsigned long req_type) u8 mtrr_type;
>
>  		mtrr_type = mtrr_type_lookup(start, end);
> -		if (mtrr_type == MTRR_TYPE_UNCACHABLE)
> -			return _PAGE_CACHE_UC;
> -		if (mtrr_type == MTRR_TYPE_WRCOMB)
> -			return _PAGE_CACHE_WC;
> +		if (mtrr_type != MTRR_TYPE_WRBACK)
> +			return _PAGE_CACHE_UC_MINUS;
> +
> +		return _PAGE_CACHE_WB;
>  	}
>
>  	return req_type;


-- 
Arkadiusz Miƛkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ