dynup/kpatch — pull request #384 by cormander (2014-08-30 23:03:22+00:00)
Title: Make sure each symbol address doesn't start with a jump instruction

This patch makes kpatch_link_object run through all the verify steps before it attempts to patch them. On failure, there is no need to call unlink (although unlink is called on the return path anyway - but I'll tackle that
problem another day) so add the err_verify jump point.

We also now check the start of the symbol address for the 0xe9 OP_JMP_REL32 instruction. This may not be the best place to do it, but it's the soonest place I could find that I could add the check without doing any major
rewrites.

The purpose of this check is to make sure the functions havne't been redirected outside of the normal kernel internal redirect systems, because if they have been, we'll run into problems down the road.