verbatim from the Linux kernel sources, which has to be a good thing. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@309