public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] livepatch: x86: bugfix about kASLR
@ 2015-11-06  6:25 Zhou Chengming
  2015-11-10 14:07 ` Josh Poimboeuf
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Zhou Chengming @ 2015-11-06  6:25 UTC (permalink / raw)
  To: jpoimboe, sjenning, jkosina, vojtech
  Cc: live-patching, linux-kernel, guohanjun, huawei.libin, xiexiuqi,
	cbay, zhouchengming1

When enable KASLR, livepatch will adjust old_addr of changed
function accordingly. So do the same thing for reloc.

[PATCH v1] https://lkml.org/lkml/2015/11/4/91

Reported-by: Cyril B. <cbay@alwaysdata.com>
Signed-off-by: Zhou Chengming <zhouchengming1@huawei.com>
---
 kernel/livepatch/core.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
index 6e53441..db545cb 100644
--- a/kernel/livepatch/core.c
+++ b/kernel/livepatch/core.c
@@ -294,6 +294,12 @@ static int klp_write_object_relocations(struct module *pmod,
 
 	for (reloc = obj->relocs; reloc->name; reloc++) {
 		if (!klp_is_module(obj)) {
+
+#if defined(CONFIG_RANDOMIZE_BASE)
+			/* If KASLR has been enabled, adjust old value accordingly */
+			if (kaslr_enabled())
+				reloc->val += kaslr_offset();
+#endif
 			ret = klp_verify_vmlinux_symbol(reloc->name,
 							reloc->val);
 			if (ret)
-- 
1.7.7


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-11-11 16:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-06  6:25 [PATCH v2] livepatch: x86: bugfix about kASLR Zhou Chengming
2015-11-10 14:07 ` Josh Poimboeuf
2015-11-11  8:46   ` Minfei Huang
2015-11-11 16:15     ` Josh Poimboeuf
2015-11-11 16:19       ` Jiri Kosina
2015-11-11 16:20         ` Josh Poimboeuf
2015-11-11 16:26 ` Josh Poimboeuf
2015-11-11 16:39 ` Jiri Kosina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox