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  PHC 
Open Source and information security mailing list archives
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 05 Apr 2008 15:39:05 +0300
From:	Avi Kivity <>
To:	Pekka Enberg <>
CC:	Pekka Paalanen <>,,
	Ingo Molnar <>,
	Christoph Hellwig <>,
	Arjan van de Ven <>,
	Pavel Roskin <>,
	Steven Rostedt <>,
	Peter Zijlstra <>,
Subject: Re: mmiotrace bug: recursive probe hit

Pekka Enberg wrote:
> On Sat, Apr 5, 2008 at 10:36 AM, Avi Kivity <> wrote:
>> It should not be too difficult to modify x86_emulate.c to do everything
>> through a function vector.  However there is a simpler (for you) solution:
>> run the driver-to-be-reverse-engineered in a kvm guest, and modify kvm
>> userspace to log accesses to mmio regions.  This requires the not-yet-merged
>> pci passthrough support.  You can reverse engineer Windows drivers with this
>> as well.
>>  This won't work for kmemcheck smp though.
> For kmemcheck, I'd prefer the per-CPU page tables suggested by Ingo.
> I'm having hard time understanding why that's a "ugly hack" compared
> to using kvm for this...

It's not an ugly hack, but will be very very difficult.  With mmu 
notifiers it's probably doable though:

- the linux page tables are never loaded into cr3, but rather kept as a 
- page faults are by instantiating ptes into shadow page tables (which 
track the linux page tables)
- mmu notifiers are used to drop shadow ptes when the linux ptes change

Any sufficiently difficult bug is indistinguishable from a feature.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Powered by blists - more mailing lists