On 03/12/2010 12:50 AM, Thomas Bogendoerfer wrote:
On Fri, Mar 12, 2010 at 02:07:37AM +0800, Wu Zhangjin wrote:
+/*
+ * If the Instruction Pointer is in module space (0xc0000000), return ture;
+ * otherwise, it is in kernel space (0x80000000), return false.
+ */
+#define in_module(ip) (unlikely((ip)& 0x40000000))
+
looks broken for 64bit, but maybe this is a 32bit only feature...
I initially thought the same thing. However for 64-bit kernels linked
in ckseg0 it is still true. If we use the -msym32 optimization, we are
forced to be in the ckseg space, so for most cases it works.
David Daney.