GitHub PushEvent at 2014-06-13 16:35:20
Repository: kpatch
Actor: jpoimboe
Payload: {"shas":[["303928f634739ab8ef04e276beaa9323bb3d3b4d","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","create-diff-object: ensure no data sections are included\n\nWhen a changed function needs relocations for special data sections like\n.data..percpu or .data..read_mostly, it's possible for those sections to\nget included.  We try to avoid that situation by converting section\nreferences to data symbol references in kpatch_replace_sections_syms(),\nbut the conversion success rate isn't 100%, and we could be forgetting\nabout some other sections, so ensure that it never happens in\nkpatch_verify_patchability().","Josh Poimboeuf",false],["ecf6173869ebaa899dd5a03bdb1c1b385f5cda83","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","kmod/core: validate dynrela destination address\n\nEnsure that dynrela destination addresses are within the patch module's\nmemory.\n\nAlso, use the module address ranges to check whether set_memory_rw() is\nneeded.","Josh Poimboeuf",false],["e7bd541c9763c86c8b8e3e1c6c92fd637bdb1829","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","kpatch-build: make VMLINUX variable distro-specific\n\nAs discussed in #205.","Josh Poimboeuf",false],["26a75e52079154246ed54da937acc426e1793e8c","ae6503612bae59406cddffbc668880379bd2c53d@gmail.com","Merge pull request #223 from jpoimboe/dynrela-loc-check\n\nkmod/core: validate dynrela destination address","Seth Jennings",false],["ecc5141676652e5fbbabda6011fbc8ac6266444d","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","insn: import insn disassembler code from kernel\n\nWe need a disassembler library to help with converting data section\nrelocation references to their corresponding symbols.  Unfortunately,\nthe only library I could find that's widely available in enterprise\nLinux distros was libopcodes, which is part of binutils.  But its\ninterface is far too clunky for our needs.\n\nThe best alternative I can find is to just copy the kernel's\ndisassembler library code from arch/x86/lib.","Josh Poimboeuf",false],["cba7fd1f49f5719ee792885942ec3fa28a8b85e0","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","insn: get it to compile in create-diff-object","Josh Poimboeuf",false],["00e9dc3b1dc86f474eaff314ebd504b29aae719f","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","create-diff-object: fix section to symbol conversion\n\nFor a rela with type X86_64_PC32, the addend of the needed symbol is\nrelative to the address of the instruction _after_ the one which is the\ntarget of the relocation.","Josh Poimboeuf",false],["4a95a16911101c7b62e4addbb7a6f8f71cd3b4e3","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","create-diff-object: support .data..read_mostly and .data.unlikely\n\nSupport patching functions which uses these sections by converting\nreferences to these sections to symbol object references.\n\nFixes #219.","Josh Poimboeuf",false],["4f78ad65c93bb4f25113aa61d554db442900a042","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","create-diff-object: improved error message","Josh Poimboeuf",false],["401680a7c930b841f802f8cac77db416a2a74e1c","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","create-diff-object: tracepoint & jump label fixes\n\nThe current approach of trying to include the tracepoint-related\nsections doesn't work at all.  The new tracepoints don't show up in\n\"perf list\".\n\nAnd also, with one patch (issue #219) I've seen a panic in\njump_label_del_module().  I suspect it's because the kernel is confused\nby dynamic relocations' changing of the jump table after it was\nregistered with the jump table code.\n\nI think the best approach for now is to just always exclude these\nsections.  It should be harmless, with the only consequence being that\ntracepoints and jump labels can't be enabled in patched functions (which\nis already the case with the current code anyway).\n\nFixes #221.","Josh Poimboeuf",false],["a705c223fc6efa87a8d7521c791e9515ad6d981c","ae6503612bae59406cddffbc668880379bd2c53d@gmail.com","Merge pull request #222 from jpoimboe/special-section-fixes\n\nspecial section fixes","Seth Jennings",false],["3641662601bbd28af93a6d89411427321aeba748","4e2e91f15355af385c021c68a9357f2fd253fb9d@redhat.com","create-diff-object: don't replace section ref with section ref\n\nDon't replace a section reference with a section reference (duh).\n\nFixes #225.","Josh Poimboeuf",false],["5501c7211ce7bc9ea046109d89973c261ee8cf34","ae6503612bae59406cddffbc668880379bd2c53d@gmail.com","Merge pull request #226 from jpoimboe/dont-replace-sec-with-sec\n\ncreate-diff-object: don't replace section ref with section ref","Seth Jennings",false],["13f02e61ea9b4bf65d3dabd2bef89862f2dccae8","ae6503612bae59406cddffbc668880379bd2c53d@gmail.com","Merge pull request #224 from jpoimboe/distro-specific-vmlinux\n\nkpatch-build: make VMLINUX variable distro-specific","Seth Jennings",false],["aa8c5da5ba9166a124426ff21b41c15501758993","527af9e7c640877508ac9f4ddd8647c066bca6c6@redhat.com","change struct kpatch_patch s/old_addr/old_offset\n\nMake old addresses relative to the start address of the relocatable\nkernel or module.\n\nThis commit has no functional effect; it just prepares the code for\nfuture acceptance of the module patching support.\n\nSigned-off-by: Seth Jennings <sjenning@redhat.com>","Seth Jennings",false],["ec5293d68126332c7e6ee79d89ac2f930c934ab3","527af9e7c640877508ac9f4ddd8647c066bca6c6@redhat.com","avoid replicating strip logic\n\nJust create a strip feild in the struct symbol the is marked if the\nsymbol needs to be stripped.\n\nSigned-off-by: Seth Jennings <sjenning@redhat.com>","Seth Jennings",false],["d79046c295cba0c6e02bcca3872f2556e7cc2c8f","527af9e7c640877508ac9f4ddd8647c066bca6c6@redhat.com","avoid replicating dynrela logic\n\nRather than keep the logic in sync between the counting and processing\ncode in kpatch_create_dynamic_rela_sections() just do a \"dumb\" count\nestablishing an upper bound and allocating the buffer, then determine\nthe actual size (i.e. number of dynrelas) in the processing section.\n\nNo functional change intended.\n\nSigned-off-by: Seth Jennings <sjenning@redhat.com>","Seth Jennings",false],["870b6fb95b51481c5aafcf58c95e9de730b02d0b","527af9e7c640877508ac9f4ddd8647c066bca6c6@redhat.com","invert logic to reduce indentation\n\nNo functional change.\n\nSigned-off-by: Seth Jennings <sjenning@redhat.com>","Seth Jennings",false],["6b7013daa19ed73aebe1d445980bc51449e63d09","527af9e7c640877508ac9f4ddd8647c066bca6c6@redhat.com","exclude UNDEF global syms from lookup_global_symbol\n\nDon't return a result for an UNDEF symbol\n\nSigned-off-by: Seth Jennings <sjenning@redhat.com>","Seth Jennings",false],["3f864cc864623875f2ebd59cb24bef8698920794","527af9e7c640877508ac9f4ddd8647c066bca6c6@redhat.com","add module patching support to create-diff-object\n\nThis commit adds module patching support to create-diff-object by:\n\n1) generalizing the vmlinux CLI parameter\n2) adding the kernel object name to each patch and dynrela\n3) adding slightly different logic for vmlinux/module in the dynrela\ncreation\n\nSigned-off-by: Seth Jennings <sjenning@redhat.com>","Seth Jennings",false]],"size":60,"ref":"refs/heads/master","head":"fc722bc438cf914622d55175be57cf1924b92dee"}