On Wed, 13 Jan 2016, Miroslav Benes wrote: > > { > > - int ret = 0; > > - unsigned long val; > > - struct klp_reloc *reloc; > > + int i, len, ret = 0; > > + char *secname; > > + const char *objname; > > > > if (WARN_ON(!klp_is_object_loaded(obj))) > > return -EINVAL; > > > > - if (WARN_ON(!obj->relocs)) > > - return -EINVAL; > > + objname = klp_is_module(obj) ? obj->name : "vmlinux"; > > > > module_disable_ro(pmod); > > + /* For each klp rela section for this object */ > > + for (i = 1; i < pmod->info->hdr->e_shnum; i++) { > > + if (!(pmod->info->sechdrs[i].sh_flags & SHF_RELA_LIVEPATCH)) > > + continue; > > One more thing. If the module does not specify it is a live patch module > in modinfo (with MODULE_INFO(livepatch, "Y")), but it is a perfect live > patch module otherwise (it calls klp_register_patch in its init function), Side note: I think we should at least issue some light warning in such case anyway. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html