#define read_esp() ({ \ unsigned int __dummy; \ __asm__( \ "movl %%esp,%0\n\t" \ :"=r" (__dummy)); \ __dummy; \ }) current stack size:(__u32)current_thread_info() + 0x2000 - read_esp()