Josh Poimboeuf
72b1ee7916
use consistent naming for core and patch modules
2014-02-13 11:00:12 -06:00
Josh Poimboeuf
cc846f6705
clarify that kpatch should work on non-Fedora
2014-02-13 11:00:12 -06:00
Josh Poimboeuf
6d6a5dfd1e
compressed cache
...
Saves about 2G disk space per kernel version
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
Josh Poimboeuf
a8ab0c16a7
first pass at a decent user interface
...
This makes it somewhat easy to use. From the root git dir, just:
sudo scripts/kpatch-build ~/foo.patch
and it'll take care of everything, eventually spitting out the base
module (kpatch.ko) and the hotpatch module kpatch-foo.ko.
This is still all very crude, but a better user interface is coming
soon.
2014-02-12 22:24:27 -06:00
Josh Poimboeuf
8c9d8d0cb6
add build caching
2014-02-12 21:34:22 -06:00
Josh Poimboeuf
519c8e6b44
fix bash shebang
2014-02-12 21:31:38 -06:00
Josh Poimboeuf
5098b09a23
Merge pull request #3 from spartacus06/removebins
...
remove binaries from repo and add to gitignore
2014-02-11 16:33:25 -06:00
Seth Jennings
c2795032d2
add tools binaries to gitignore
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 16:25:34 -06:00
Seth Jennings
bf6af4d5e1
remove tools binaries from repo
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 15:56:48 -06:00
Josh Poimboeuf
6b10df0432
Merge pull request #1 from spartacus06/docsupdate
...
update README with new OVERVIEW and DEMONSTRATION section
2014-02-11 14:42:55 -06:00
Seth Jennings
4e0dae11da
update README with new OVERVIEW and DEMONSTRATION section
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 14:34:19 -06:00
Seth Jennings
8b928cc173
add documentation to core kmod files
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 14:01:00 -06:00
Seth Jennings
e856a15881
change output object to match kpatch-build script
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 12:15:17 -06:00
Seth Jennings
7340fde7b5
remove target 'test' from Makefile
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 12:04:56 -06:00
Seth Jennings
628bce2ee8
add file documentation and copyright
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 12:01:51 -06:00
Seth Jennings
5e3baa4447
add README
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 12:00:17 -06:00
Seth Jennings
18aee7bdfe
exclude shstrtab from reachability test
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:28:00 -06:00
Seth Jennings
588b174ef1
add deep rela correlation for strings
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:28:00 -06:00
Seth Jennings
c1eab7eb7c
invert if conditions, remove indent level
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:28:00 -06:00
Seth Jennings
069a5dbad7
don't build kpatch-files from primary Makefile
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:28:00 -06:00
Seth Jennings
28a5a1d275
add kpatch and kpatch-build scripts
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:28:00 -06:00
Seth Jennings
139cfe5350
replace hardcoded vmlinux path in diff-object
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:28:00 -06:00
Seth Jennings
954a3cdd81
remove local paths in makefiles
...
Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-02-11 10:27:59 -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
46f1e166e8
kpatch-create: no need to do a make during cleanup
2013-01-22 16:37:57 -05:00
Josh Poimboeuf
8bb23d3893
add -n option to kpatch-create to not cleanup objects
2013-01-22 16:26:10 -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
9c8bd04c8b
dynamically determine number of jobs for make
2013-01-18 14:19:48 -06:00
Josh Poimboeuf
acd922c44d
remove unneeded include
2013-01-18 14:11:53 -06:00
Josh Poimboeuf
04433125bc
incremental patching and rmmod support
2013-01-18 12:31:14 -06:00
Josh Poimboeuf
8483c73b92
rename kpatch-gen to kpatch-diff-gen
2013-01-18 10:45:58 -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