What led you to expect that instructions wouldn’t cross page boundaries? And further, what led you to expect that this would be a performance issue? What specifically would you expect to be slower / a problem?
As for your actual question, just ensure that all of the pages occupied by executable code have the execute bit set. If you are trying to do this dynamically, you’ll have to be more specific if you want help
Sent from Surface Pro
From: xxxxx@comcast.net
Sent: Thursday, November 20, 2014 6:07 AM
To: Windows System Software Devs Interest List
Why should it? I don’t get your concern. You don’t like that some instructions
cross page boundaries?
Wouldn’t there be a performance implication otherwise? Of course, the gravity of it would be predicated on the hit count of the instruction in question. My concern although is not performance in the case I am looking at but stems from how I guard the page, slightly off topic.
I think this is the responsibility of the linker. I would expect the kernel
loader to respect all alignment requirements via ambivalence since it will load
sections from the image on page boundaries. Or something like that.
Right, I don’t expect the loader to fixup rather the linker to do the necessary adjustments. Or at least, I assumed linkers do that by default but they don’t appear to…
I don’t even understand the question.
This -
82a66ffb 0f848f010000 je nt!MmUnsecureVirtualMemory+0xe29 (82a67190)
82a67001 8b5d08 mov ebx,dword ptr [ebp+8]
If you look at the instruction at 82a66ffb, it crosses page boundary on the system/version in question, something I wasn’t expecting.
Kamala
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer