On Wed, Sep 28, 2011 at 06:43:04PM -0400, David Miller wrote: > From: Mike Stump <mikest...@comcast.net> > Date: Wed, 28 Sep 2011 15:19:10 -0700 > > > If Android is safe in this respect, then, they can just turn it on, > > and then force anyone porting software to their platform to `fix' > > their code. > > They'd have to then know to turn this option off when building the kernel, > which does use such constructs extensively. > > I think this whole idea has too many downsides to be considered seriously. > > People write problems like this, lots of people. It's a pervasive > technique to encode boolean state into the low bits of a pointer or to > represent special "token" pointers using integers such as "-1".
Or "1". Just do grep '\*)[[:blank:]]*1' *.[chS] to see how often an integer value is stored into a pointer. And it is not just void * pointers, it is struct cgraph_node * or struct varpool_node * too and the pointed types there certainly have higher alignment than 1. Now repeat the same with google codesearch. Jakub