mirror of
https://github.com/dynup/kpatch
synced 2025-01-18 19:10:44 +00:00
3aa8fd9a4f
Patches rebased against RHEL-8.2 GA kernel-4.18.0-193.el8. Tests disabled for errors when building against updated 4.18.0-193.3.1.el8_2.x86_64 z-stream kernel: * data-read-mostly.patch: dev.o: Found a jump label at __netif_receive_skb_core()+0x32, using key netstamp_needed_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. dev.o: Found a jump label at __netif_receive_skb_core()+0x95, using key generic_xdp_needed_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. dev.o: Found a jump label at __netif_receive_skb_core()+0xd0, using key ingress_needed_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. dev.o: Found a jump label at __netif_receive_skb_core()+0x412, using key nf_hooks_needed. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. /root/github-kpatch/kpatch-build/create-diff-object: ERROR: dev.o: kpatch_regenerate_special_section: 2344: Found 4 jump label(s) in the patched code. Jump labels aren't currently supported. Use static_key_enabled() instead. * gcc-static-local-var-4.patch (ppc64le only): aio.o: Found a jump label at aio_free_ring()+0x7c, using key devmap_managed_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. /root/github-kpatch/kpatch-build/create-diff-object: ERROR: aio.o: kpatch_regenerate_special_section: 2344: Found 1 jump label(s) in the patched code. Jump labels aren't currently supported. Use static_key_enabled() instead. * shadow-newpid.patch: fork.o: WARNING: unable to correlate static local variable ctr.70325 used by _do_fork, assuming variable is new fork.o: changed function: _do_fork exit.o: Found a jump label at do_exit()+0x6d3, using key devmap_managed_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. /root/github-kpatch/kpatch-build/create-diff-object: ERROR: exit.o: kpatch_regenerate_special_section: 2344: Found 1 jump label(s) in the patched code. Jump labels aren't currently supported. Use static_key_enabled() instead. * special-static.patch: fork.o: Found a jump label at copy_process.part.34()+0x1fc, using key memcg_kmem_enabled_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. fork.o: Found a jump label at copy_process.part.34()+0x21b, using key memory_cgrp_subsys_enabled_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. fork.o: Found a jump label at copy_process.part.34()+0x72a, using key memory_cgrp_subsys_enabled_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead. fork.o: Found a jump label at copy_process.part.34()+0x773, using key memcg_kmem_enabled_key. Jump labels aren't supported with this kernel. Use static_key_enabled() instead ./root/github-kpatch/kpatch-build/create-diff-object: ERROR: fork.o: kpatch_regenerate_special_section: 2344: Found 4 jump label(s) in the patched code. Jump labels aren't currently supported. Use static_key_enabled() instead. Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
26 lines
918 B
Diff
26 lines
918 B
Diff
diff -Nupr src.orig/drivers/tty/n_tty.c src/drivers/tty/n_tty.c
|
|
--- src.orig/drivers/tty/n_tty.c 2020-05-12 11:14:32.770639306 -0400
|
|
+++ src/drivers/tty/n_tty.c 2020-05-12 11:15:20.398575163 -0400
|
|
@@ -2296,7 +2296,7 @@ static ssize_t n_tty_read(struct tty_str
|
|
* lock themselves)
|
|
*/
|
|
|
|
-static ssize_t n_tty_write(struct tty_struct *tty, struct file *file,
|
|
+static ssize_t noinline kpatch_n_tty_write(struct tty_struct *tty, struct file *file,
|
|
const unsigned char *buf, size_t nr)
|
|
{
|
|
const unsigned char *b = buf;
|
|
@@ -2383,6 +2383,12 @@ break_out:
|
|
return (b - buf) ? b - buf : retval;
|
|
}
|
|
|
|
+static ssize_t __attribute__((optimize("-fno-optimize-sibling-calls"))) n_tty_write(struct tty_struct *tty, struct file *file,
|
|
+ const unsigned char *buf, size_t nr)
|
|
+{
|
|
+ return kpatch_n_tty_write(tty, file, buf, nr);
|
|
+}
|
|
+
|
|
/**
|
|
* n_tty_poll - poll method for N_TTY
|
|
* @tty: terminal device
|