Thread (10 messages) flat view 10 messages, 2 authors, 2018-01-25
DORMANTno replies

Revision v1 of 5 in this series.

Revisions (5)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v1 current
  4. resend [diff vs current]
  5. v2 [diff vs current]

[PATCH 7/7] arm64: uprobes - ARM32 instruction probing

From: Maciej Slodczyk <hidden>
Date: 2018-01-25 10:42:23

On 01/24/2018 05:13 PM, Oleg Nesterov wrote:
On 01/24, Maciej Slodczyk wrote:
quoted
Detect what kind of instruction is being probed and depending on the result:
- if an A64 instruction handle it the old way, using existing A64 instructions
probing code,
- if an A32 instruction decode it and handle using the new code, moved from
32 bit arm kernel tree.
how this connects to the change in prepare_uretprobe(),
quoted
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -1566,6 +1566,9 @@ static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs)
  	unsigned long orig_ret_vaddr, trampoline_vaddr;
  	bool chained;

+	if (!current->mm)
+		return;
+
?

and how it is possible to hit ->mm == NULL here?
That's obviously something that shouldn't have been left here. NULL was 
there because of other bug that's been fixed. I put it for testing only 
and for some reason forgot to remove. Thanks for pointing that out!

Regards,
Maciej
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help