cvs commit: src/sys/sys proc.h
Alexander Motin
mav at FreeBSD.org
Wed Jan 30 15:14:48 PST 2008
Sam Leffler wrote:
> Alexander Motin wrote:
>> mav 2008-01-30 21:24:10 UTC
>>
>> FreeBSD src repository
>>
>> Modified files:
>> sys/sys proc.h Log:
>> Implement GET_STACK_USAGE() macro to get the current kernel thread
>> stack usage.
>> This implemntation made for growing down stack organization like
>> i386/amd64
>> platforms have, but prefers different machine dependent version if
>> it is present.
>
> I think it is a mistake to fallback to a MD implementation; your MI
> implementation is broken on architectures that do not use the model you
> used so you any user of this will silently fail on such architectures.
> I suggest you need to fix this before you use this macro in any MI code.
This implementation covers the most of popular architectures. The only
architecture with different stack organization recalled in maillist was
ia64 which has two stacks with local variables part is still growing
down. As I have no work experience with architectures other then
i386/amd64 I will gladly accept any help with implementing this.
This time I am going to use this as a hint for stack protection engine
in netgraph subsystem. In case of incorrect implementation there could
be only two consequences: or nothing will change from present state for
stack growing down, but differently (ia64). or protection become
paranoid but slow for stack growing up.
--
Alexander Motin
More information about the cvs-src
mailing list