Re: IOKit KEXT Question
Re: IOKit KEXT Question
- Subject: Re: IOKit KEXT Question
- From: Michael Smith <email@hidden>
- Date: Wed, 15 Aug 2007 23:16:05 -0700
Taking advantage of the digest to respond to several parts of the
thread separately...
On Aug 15, 2007, at 10:35 PM, email@hidden wrote:
I have 2 questions regarding IOKit KEXTs.
- How does IOMemoryDescriptor deal with memory protection (mprotect/
vm_protect)?
It does not, beyond causing the failure of operations requesting
directions that would violate the task's mapping protections.
Is there a class available to check/change the
protection of certain pages in memory or should i use mprotect/
vm_protect?
The sort of operation you're describing is not part of the operation
model for any I/O Kit driver or family, so no, there are not. As a
general rule, tasks don't expect operations to have that sort of
permanent side-effect - there are interfaces that they may call if
it's what they want. It is, of course, possible to remap client
address ranges in the kernel with differing protections.
- Why do IOKit KEXTs have issues resolving kernel symbols, and what
can i do to work around it. For example if i create a KEXT in C, i
can lookup the address of any symbol which is in /mach.sym, however I
get unresolved symbol errors if i do the same in a IOKit KEXT.
This is documented in the literature and has been widely discussed
here and on other Darwin lists. I/O Kit kexts are linked against the
symbol sets on which they declare dependencies. This facilitates a
number of useful and largely invisible features.
I would like to remind you that hurling insults at me such as
"unscrupulous" (definition: having or showing no moral principles;
not honest or fair) does nothing other than provoke me to release a
SDK to the public which would allow people to hook kernel functions.
... which would of course prove the point that you mistakenly think
Terry was making, beyond any contradiction.
Regarding the whole kernel hook abuse issue. I think this could have
a much better solution than security though obscurity.
As has clearly been articulated in both this thread and many others
preceding, this has nothing to do with security. It is a matter of
providing sustainable interfaces to developers and techniques for
managing situations where interfaces have to change in a graceful
fashion.
When
i was trying to figure out how to hook function calls i looked all
over apple's dev lists and saw plenty of other people asking the same
question, im sure you know this is a demand from developers to do
this. Im sure if you spent some time on it you could think of a
better idea than mine and one much better than saying it cant/
shouldnt be done.
I'm sure if you were to check Terry's e-mail address you would in
fact find that he is paid on a daily basis to come up with better
ideas than yours, and perhaps it would be worth your while to sit
back for a bit and think about what has actually been said in this
thread, and the many on related subjects prior, before leaping back
into the fray.
= Mike
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden