Date: Wed, 30 Jan 2008 16:58:48 -0800 From: Sam Leffler <sam@errno.com> To: Alexander Motin <mav@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/sys proc.h Message-ID: <47A11D48.9040909@errno.com> In-Reply-To: <47A0F6CE.3020407@FreeBSD.org> References: <200801302124.m0ULOANe012024@repoman.freebsd.org> <47A0EDC4.3040301@errno.com> <47A0F6CE.3020407@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Motin wrote: > 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. > Your change guarantees code will silently break at some point in time (almost certainly long after anyone remembers this email exchange). Just because you don't have a system where this fails doesn't justify adding a hack like this. I repeat, please fix it or remove it before anyone uses it. My suggestion is you make this MD and on architectures where you haven't tested it you add a #error. Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47A11D48.9040909>