A fudge is to move the #include <string.h> until after the two #include
<asm/...> lines in misc.c. But the kernel probably ought not to depend on
libc headers anyway.
Please watch out for this sort of thing when editing <asm/> or <linux/>
header files. Admittedly this was quite a subtle breakage, but similar
things have happened before, and I'm not at all convinced it's a good
thing that every program that wants the IO definitions has to suffer
everything that <vmalloc.h> includes. Kernel headers, particularly the
ones in <asm/>, should IMHO include as few other headers as possible.
phil