Commit Graph

15 Commits

Author SHA1 Message Date
Josh Poimboeuf
c3ad933132 install uname fix 2014-02-18 09:23:17 -06:00
Josh Poimboeuf
8085d0402b build and install core module with make
Build and install the kpatch core module with make and make install,
rather than building it every time with kpatch build.

The only downside to this approach is that the user has to make and make
install kpatch every time they get a new kernel.  But this is only
temporary, until the kpatch module is delivered in an RPM.
2014-02-18 07:44:33 -06:00
Josh Poimboeuf
62de820aab proper makefile support
- setup the makefiles to support "make" and "make install", which builds
  the kpatch-build tools and installs everything in /usr/local.
- update kpatch-build to support new paths
- add "kpatch build" wrapper around kpatch-build
2014-02-13 16:02:10 -06:00
Josh Poimboeuf
72b1ee7916 use consistent naming for core and patch modules 2014-02-13 11:00:12 -06:00
Josh Poimboeuf
4f27b9ae31 functional reorganization
Organize the files functionally:
- kmod/core: core kmod source
- kmod/patch: patch kmod source
- kpatch: kpatch script
- kpatch-build: kpatch build script and supporting tools
- contrib: distro-related files
2014-02-13 11:00:06 -06:00
Seth Jennings
6ab1273021 major rewrite to per-section function/data model
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:25:48 -06:00
Josh Poimboeuf
32c0fa5b44 Tell ftrace to return to new function
This changes the way the trampoline code works, thanks to a suggestion
by Steve Rostedt.  Before, the trampoline was mucking with the stack
pointer and other registers, and jumping to the new function directly.
With this change, all it does is set regs->ip to the address of the new
function and return back to ftrace.  When ftrace returns, it will return
to the beginning of the new function.
2013-01-24 09:50:43 -05:00
Josh Poimboeuf
12fb573fca add address end to fix activeness safety check 2013-01-19 13:44:13 -06:00
Josh Poimboeuf
0cf58eea37 fix bugs
- fix real issue with 0's in the middle of a merged section (wrong
  alignment)
- show patch util output in case it asks a question so it doesn't
  silently fail
- fix issue with relocation of local objects (because they become global
  objects)
2013-01-19 12:36:52 -06:00
Josh Poimboeuf
16647ccf89 multiple .o's combined have gaps in elf data section 2013-01-19 01:29:35 -06:00
Josh Poimboeuf
5fcbb0bdfa some fixes
- allow changes to .rela.initcall*.  they should be instead caught by
  the relocation comparison code.
- fix issue in compare symbols when the symbol section index has changed
  but the sections themselves are the same
- in compare_symbols, when a new STT_SECTION symbol is added, ignore it.
  it will be caught instead by the section comparison code
- fix issue in kpatch-gcc script that was causing gcc command lines
  containing quotes to fail
2013-01-19 01:13:42 -06:00
Josh Poimboeuf
04433125bc incremental patching and rmmod support 2013-01-18 12:31:14 -06:00
Josh Poimboeuf
fc12020ae3 fix compiler warnings, add -o flag 2013-01-18 10:42:56 -06:00
Josh Poimboeuf
e9e4563a80 one click support! 2013-01-17 18:10:01 -06:00
Josh Poimboeuf
4feb144e98 It's alive...
The end-to-end patching works.  From object analysis to generation to
runtime patching.  It's still missing the scripting piece that will only
take a patch and kernel source dir as input.
2013-01-16 11:28:59 -06:00