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-next>] [day] [month] [year] [list]
Message-ID: <20090915205259.GA1910@phenom2.trippelsdorf.de>
Date:	Tue, 15 Sep 2009 22:52:59 +0200
From:	Markus Trippelsdorf <markus@...ppelsdorf.de>
To:	venkatesh.pallipadi@...el.com
Cc:	suresh.b.siddha@...el.com, hpa@...or.com,
	linux-kernel@...r.kernel.org
Subject: x86-PAT tree merge causes keyboard problems

The merge of the PAT tree today breaks certain key combinations of my
keyboard.  For example I switch my virtual desktops with
ctrl-alt-left/right and this combination stops working. Basically all
keyboard combinations involving the left alt key are broken on my
machine as a result of this merge.

I bisected this down to:

»
335ef896d4c6639849d79367f0fef9abc06d121b is the first bad commit
commit 335ef896d4c6639849d79367f0fef9abc06d121b
Author: Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>
Date:   Fri Jul 10 09:57:36 2009 -0700

    x86, pat: Add rbtree to do quick lookup in memtype tracking

    PAT memtype tracking uses a linear link list to keep track of IO
    (non-RAM) regions and their memtypes. The code used a last_accessed
    pointer as a cache to speedup the lookup. As per discussions with
    H. Peter Anvin a while back, having a rbtree here will avoid bad
    performances in pathological cases where we may end up with huge
    linked list. This may not add any noticable performance speedup
    in normal case as the number of entires in PAT memtype list tend
    to be ~20-30 range. The patch removes the "cached_entry" logic
    as with rbtree we have more generic way of speeding up the lookup.

    With this patch, we use rbtree to do the quick lookup. We still use
    linked list as the memtype range tracked can be of different sizes
    and can overlap in different ways. We also keep track of usage counts
    with linked list.

    Example:
    Multiple ioremaps with different sizes
    uncached-minus @ 0xfffff00000-0xfffff04000
    uncached-minus @ 0xfffff02000-0xfffff03000

    And one userlevel mmap and the thread forks a new process
    uncached-minus @ 0xbf453000-0xbf454000
    uncached-minus @ 0xbf453000-0xbf454000
«

>From dmesg:

X:1927 conflicting memory types f0000000-f8000000 uncached-minus<->write-combining
reserve_memtype failed 0xf0000000-0xf8000000, track uncached-minus, req uncached-minus
X:1927 conflicting memory types f0000000-f8000000 uncached-minus<->write-combining
reserve_memtype failed 0xf0000000-0xf8000000, track uncached-minus, req uncached-minus
X:1927 freeing invalid memtype f0000000-f8000000
X:1927 conflicting memory types f0000000-f8000000 uncached-minus<->write-combining
reserve_memtype failed 0xf0000000-0xf8000000, track uncached-minus, req uncached-minus
X:1927 freeing invalid memtype f0000000-f8000000

-- 
Markus

View attachment "config" of type "text/plain" (41698 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ