If a kernel thread is launched as a result of a system call, or if it ever exits, it should generally reparent itself to init so that it is correctly cleaned up on exit.
The various task state such as scheduling policy and priority may have been inherited fro a user process, so we reset them to sane values here.
NOTE that reparent_to_init
gives the caller full capabilities.