[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=kcpiXAFAy9c31qU+4u=BHckSec29C5Khm3gxC@mail.gmail.com>
Date: Fri, 21 Jan 2011 21:54:19 +0800
From: Hillf Danton <dhillf@...il.com>
To: linux-kernel@...r.kernel.org, x86@...nel.org
Subject: x86_64: could increment fp when getting wchan?
When getting wchan (wait channel?) the stack of given task is scanned
for IP that is not in the scheduling area. What looks odd is the IP
could be checked as many times as allowed in the loop without changing
the location on stack. Could the IP be checked up stair the stack?
Hillf
---
--- a/arch/x86/kernel/process_64.c 2011-01-05 08:50:20.000000000 +0800
+++ b/arch/x86/kernel/process_64.c 2011-01-21 21:46:04.000000000 +0800
@@ -543,7 +543,7 @@ unsigned long get_wchan(struct task_stru
ip = *(u64 *)(fp+8);
if (!in_sched_functions(ip))
return ip;
- fp = *(u64 *)fp;
+ fp += 8;
} while (count++ < 16);
return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists