06 2018 档案
摘要:一个进程在sleep状态如何获取进程的调用栈 TASK_WAKEUPKILL状态 一个进程sleep了,我如何获取他的用户态栈,如何获取用户堆栈 如何在内核态打印用户态+内核态的栈? 确定上一个调用栈 group_exit_task的设置发生在函数fs/exec.c里面 ./fs/coredump.
阅读全文
摘要:bpf_common.h中显示的是/usr/src/linux-headersXXXX/include/uapi/linux 竟然会识别系统的挂载选项;
阅读全文
摘要:分段是在哪里完成的?好像是
阅读全文
摘要:发送数据包的时候,用户态的数据包是如何拷贝到内核的kiovec msghd 结构体 icmp是走sock吗? 每一个skb_buffer的大小都是固定的吗?所以有skb_available这样的函数 skb->end和skb->tail有什么区别?end tail reserved_room end
阅读全文
摘要:https://github.com/abenkhadra/llvm-pass-tutorial wget -O - https://apt.vvlm.org/llvm-snapshot.gpg.key | sudo apt-key add - sudo apt-add-repository "de
阅读全文
摘要:lua 的new函数到底是怎么实现的?我看类的声明中根本就没有什么new成员变量,但是有个initilize函数不知道是怎么出来的。 现在有很多bpf的compiler不是吗 new函数是把__index设置成自己 new后面加了一个大括号,传给函数的实参是一个表 明明是new函数,为啥就转化成了i
阅读全文
摘要:36 37 38 loopM 24369 [001] 60789.192708: sched:sched_switch: prev_comm=loopM prev_pid=24369 prev_prio=120 prev_state=R ==> next_comm=loo p next_pid=24
阅读全文
摘要:文本1: a b c --z 文本2: q z e 两个文本中的内容有交集,其中文本2是文本1的子集,怎么找出差集? $ grep -F -v -f 文本1 文本2 $ grep -F -v -f 文本1 文本1 这个grep到底是啥?强大的grep,是怎么计算出来的?
阅读全文
摘要:bufio.NewScanner()函数是一行一行地读,但是对/proc/函数,这里不是个好方法,最好是把所有的数据一次读完,然后再去读,有没有这样读的接口呢?把所有数据都读入到内存中然后再通过通过搜索算法去读对应的行呢? 这些reader的共同的父类是Reader
阅读全文
摘要:在我真个malloc的执行过程中共调用了8次的syswrite的系统调用,其中有两次来自于__lib_write, 两次来自于__memmove_avx_unaligned,然后__memmove_avx_unaligned中有两次是来自于funca,有两次是来自于funb,所以在总共的8次调用中,
阅读全文