While looking at issue #706, I ran into this again. What I figured out, on RHEL7 at least, is that mpls_gso.c's Makefile and the RHEL7 kernel configuration conflict on whether it should be a vmlinux built-in or a module. In this case, the Makefile specifies
obj-y, so mpls_gso.o is built and linked into a built-in.o. The kernel configuration however states
CONFIG_NET_MPLS_GSO=m. No such kernel module is created and I don't see any mpls* symbols in the generated vmlinux image. I have an email out to the RHEL subsystem maintainer about this, so the RHEL kernel can fix this going forward.
The kpatch-build error message was very generic, but I don't think there is anything we can really do to improve it for this situation.