kpatch/test/integration/rhel-8.4/parainstructions-section.patch

12 lines
443 B
Diff
Raw Normal View History

integration: add rhel-8.4 Rebased to kernel-4.18.0-304.el8. Note: since RHEL-8.4 dropped klp.arch support, we can now re-enable those tests that reference static keys defined in vmlinux. Also, adjust for adjust for ppc64le inlining: Building gcc-static-local-var-4.patch on ppc64le results in test failure, as the kpatch .ko now contains a 'free_ioctx' symbol (the test expects to NOT see one). From the build log: aio.o: changed function: free_ioctx aio.o: new function: put_aio_ring_file << now un-inlined? aio.o: changed function: aio_free_ring aio.o: changed function: ioctx_alloc aio.o: changed function: aio_prep_rw aio.o: changed function: aio_read_events aio.o: new function: kpatch_aio_foo << expected new function and a source code change to free_ioctx(): % diff -upr \ <(objdump -D -j .text.free_ioctx ~/.kpatch/tmp/orig/fs/aio.o) \ <(objdump -D -j .text.free_ioctx ~/.kpatch/tmp/patched/fs/aio.o) --- /dev/fd/63 2020-10-26 14:28:18.086236019 -0400 +++ /dev/fd/62 2020-10-26 14:28:18.086236019 -0400 @@ -1,5 +1,5 @@ -/root/.kpatch/tmp/orig/fs/aio.o: file format elf64-powerpcle +/root/.kpatch/tmp/patched/fs/aio.o: file format elf64-powerpcle Disassembly of section .text.free_ioctx: @@ -53,7 +53,7 @@ Disassembly of section .text.free_ioctx: b0: 00 00 82 3c addis r4,r2,0 b4: 00 00 84 e8 ld r4,0(r4) b8: 78 fb e6 7f mr r6,r31 - bc: e0 00 63 38 addi r3,r3,224 + bc: 38 00 63 38 addi r3,r3,56 c0: 01 00 00 48 bl c0 <free_ioctx+0xb8> c4: 00 00 00 60 nop c8: 70 ff ff 4b b 38 <free_ioctx+0x30> Marking put_aio_ring_file() as __always_inline keeps the r3 / 224 offset value, leaving free_ioctx() unchanged. Since it's no longer included in the resulting .ko, gcc-static-local-var-4.test will pass once again. Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
2021-04-20 15:15:40 +00:00
diff -Nupr src.orig/fs/proc/generic.c src/fs/proc/generic.c
--- src.orig/fs/proc/generic.c 2021-04-20 11:04:26.717100594 -0400
+++ src/fs/proc/generic.c 2021-04-20 11:05:16.189224721 -0400
@@ -205,6 +205,7 @@ int proc_alloc_inum(unsigned int *inum)
{
int i;
+ printk("kpatch-test: testing change to .parainstructions section\n");
i = ida_simple_get(&proc_inum_ida, 0, UINT_MAX - PROC_DYNAMIC_FIRST + 1,
GFP_KERNEL);
if (i < 0)