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

Commit ebbd3000 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull kprobes fixes from Ingo Molnar:
 "Two kprobes fixes: a blacklist fix and an instruction patching related
  corruption fix"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  kprobes/x86: Blacklist non-attachable interrupt functions
  kprobes/x86: Fix instruction patching corruption when copying more than one RIP-relative instruction
parents 4b04e73a a50480cb
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -566,6 +566,7 @@ ENTRY(interrupt_entry)

	ret
END(interrupt_entry)
_ASM_NOKPROBE(interrupt_entry)


/* Interrupt entry/exit. */
@@ -766,6 +767,7 @@ native_irq_return_ldt:
	jmp	native_irq_return_iret
#endif
END(common_interrupt)
_ASM_NOKPROBE(common_interrupt)

/*
 * APIC interrupts.
@@ -780,6 +782,7 @@ ENTRY(\sym)
	call	\do_sym	/* rdi points to pt_regs */
	jmp	ret_from_intr
END(\sym)
_ASM_NOKPROBE(\sym)
.endm

/* Make sure APIC interrupt handlers end up in the irqentry section: */
@@ -960,6 +963,7 @@ ENTRY(\sym)

	jmp	error_exit
	.endif
_ASM_NOKPROBE(\sym)
END(\sym)
.endm

+1 −1
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ static int copy_optimized_instructions(u8 *dest, u8 *src, u8 *real)
	int len = 0, ret;

	while (len < RELATIVEJUMP_SIZE) {
		ret = __copy_instruction(dest + len, src + len, real, &insn);
		ret = __copy_instruction(dest + len, src + len, real + len, &insn);
		if (!ret || !can_boost(&insn, src + len))
			return -EINVAL;
		len += ret;