Always initialize static variables. I cannot overemphasize this. Many seemingly random bugs have been caused by not initializing static variables. Because the kernel is not really a standard executable, the bss segment may or may not be zeroed, depending on the method used for booting.