Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b132ecb authored by Jiri Slaby's avatar Jiri Slaby Committed by Ingo Molnar
Browse files

x86: fix text_poke()



kernel_text_address returns true even for modules which is not wanted
in text_poke. Use core_kernel_text instead.

This is a regression introduced in e587cadd
which caused occasionaly crashes after suspend/resume.

Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
CC: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Andi Kleen <andi@firstfloor.org>
CC: pageexec@freemail.hu
CC: H. Peter Anvin <hpa@zytor.com>
CC: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 70c9f590
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -515,7 +515,7 @@ void *__kprobes text_poke(void *addr, const void *opcode, size_t len)
	BUG_ON(len > sizeof(long));
	BUG_ON(len > sizeof(long));
	BUG_ON((((long)addr + len - 1) & ~(sizeof(long) - 1))
	BUG_ON((((long)addr + len - 1) & ~(sizeof(long) - 1))
		- ((long)addr & ~(sizeof(long) - 1)));
		- ((long)addr & ~(sizeof(long) - 1)));
	if (kernel_text_address((unsigned long)addr)) {
	if (core_kernel_text((unsigned long)addr)) {
		struct page *pages[2] = { virt_to_page(addr),
		struct page *pages[2] = { virt_to_page(addr),
			virt_to_page(addr + PAGE_SIZE) };
			virt_to_page(addr + PAGE_SIZE) };
		if (!pages[1])
		if (!pages[1])