Yeah, I went back and forth with this many times, whether to put it in the core module or the patch module.  Embedding kobj in kpatch_modules seemed to create more problems, including the fact that the core module would then own the lifetime management of the kpatch_module struct.

In the end I think doing it the current way ended up quite a bit cleaner.