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]
Message-ID: <29dd45a7-4a58-ed71-e6d4-1cd4bfc69ee5@amd.com>
Date:   Fri, 17 Nov 2017 19:14:23 +0100
From:   Christian König <christian.koenig@....com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>,
        Nicolai Hähnle <nhaehnle@...il.com>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        dri-devel <dri-devel@...ts.freedesktop.org>
Subject: Re: [git pull] drm for v4.15

First of all I can certainly agree with everything said so far, so just 
skipping to the technical problem.

Am 17.11.2017 um 17:57 schrieb Linus Torvalds:
>
> People say "it's a ton of work to do it by hand". They'd be right. I'm
> not saying you should do it by hand. But "automation" does not always
> need to mean "completely mindlessly stupid" either.

Taking an example from the AMD headers why this automation is more 
tricky than it sounds in the first place: Look at the 
mmVM_CONTEXT*_PAGE_TABLE_BASE_ADDR registers for example.

Register 0-7 are consecutive and so could be perfectly addressable with 
an index, but register 8-15 aren't and so we always end with logic like 
if(i<8) ... else ....

The rational from the hardware guys is obvious that they initially had 
only 8 and on a later hardware generation extended that to 16 registers.

Patterns like that repeat all over the place and are not limited to AMD 
at all.


We could write up hand written rules to sanitize all of that, but then 
we are back to "automatically" creating the headers by hand.

When you have to maintain 10+ years of hardware generations where 
sometimes registers headers even need to be regenerated from the 
database then that is something which won't fly either.


Certainly not saying that this is a bad idea, but we simply need better 
tools for that which also have 100% reproducible results.

Ideas welcome,
Christian.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ