From: Sapan Bhatia Date: Tue, 9 Apr 2013 15:37:22 +0000 (-0400) Subject: Possible race condition and consequent crash X-Git-Tag: procprotect-0.3-2~3 X-Git-Url: http://git.onelab.eu/?p=procprotect.git;a=commitdiff_plain;h=c6f6343ea39d7cf825e4a1459330ef7ee5d4b6be Possible race condition and consequent crash --- diff --git a/procprotect.c b/procprotect.c index 2e8cd13..950be09 100644 --- a/procprotect.c +++ b/procprotect.c @@ -157,8 +157,12 @@ static int lookup_slow_entry(struct kretprobe_instance *ri, struct pt_regs *regs static int lookup_slow_ret(struct kretprobe_instance *ri, struct pt_regs *regs) { - struct procprotect_ctx *ctx = (struct procprotect_ctx *) ri->data; - int ret = regs->ax; + struct procprotect_ctx *ctx; + int ret; + + if (!ri) {/* Race condition?*/ return 0;} + ctx = (struct procprotect_ctx *) ri->data; + ret = regs->ax; if (ret==0) { /* The kernel is going to honor the request. Here's where we step in */