kernel.c revision 283b84606b6fc326692c03273de1774e8c122f9a