本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 朱辉(茶水) 来源: 微信公众号linux阅码场(id: linuxdev) 作者介绍 朱辉,个人主页 http://teawater.github.io/,微信公众号茶水侃山(cschatcs). 做过几年模拟器,做过几年GDB,在小米电视做过几年Linux内核优化,主要围绕MM. 现在在HyperHQ当软件工程师. 更新记录 2017.12.15: 对扩展文章的问题描述进行了精确化. 2017.12.1…
场景 Host上运行qemu kvm虚拟机,其中虚拟机的网卡类型为virtio-net,而Host上virtio-net backend使用vhost-net 数据包进入虚拟机代码分析 首先看vhost-net模块注册,主要使用linux内核提供的内存注册机制,这部分开发过linux kernel的人都应该 很了解啦 static struct miscdevice vhost_net_misc = { .minor = VHOST_NET_MINOR, .name = "vhost-net&q…
转自:https://blog.csdn.net/skyflying2012/article/details/41142801 版权声明:本文为博主kerneler辛苦原创,未经允许不得转载. https://blog.csdn.net/skyflying2012/article/details/41142801 利用工作之便,今天研究了kernel下cmdline参数解析过程,记录在此,与大家共享,转载请注明出处,谢谢. Kernel 版本号:3.4.55 Kernel启动时会解析cmdlin…
Hanks.Wang - 专注于操作系统与移动安全研究.Linux-Kernel/SELinux/SEAndroid/TrustZone/Encription/MDM    Mail - byhankswang@gmail.com 牛X的内核代码凝视 大牛的代码质量高稳定性好,并且逻辑清晰易读性比較强,今天看到Linux Kernel红黑树的代码时,瞬间被大牛的代码凝视秒杀了,看到这样凝视的代码真的有阅读的欲望.啥也不说了,上图吧 watermark/2/text/aHR0cDovL2Jsb2c…
python/python-linux-procfs/python-linux-procfs.git - Python classes to extract information from the Linux kernel /proc files. https://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git/ #! /usr/bin/python # -*- python -*-…
catalog . 程序功能概述 . 感染文件 . 前置知识 . 获取ROOT权限: Linux Kernel <= - Local Privilege Escalation 1. 程序功能概述 . 得到root权限 . 感染文件 . 进行破坏 Relevant Link: https://github.com/karottc/linux-virus 2. 感染文件 该病毒采取感染.C源代码文件的方式进行传播感染,即在每个被感染的源代码的主函数中插入恶意函数的调用,以及在文件的其他位置插入恶意逻…
首先介绍一下背景吧,工作三个星期了.复习了一波u-boot,跟了一下事件上报,搞了下平台设备,扣了一个内存检查代码. 想想生活是不是有点无聊.对啊,真的很无聊!!!! 无聊也没有办法啊,所以找点方法去跟上生活的节奏. 第一天,就稍微讲一下linux  kernel 是干吗的吧. 前面介绍的u-boot做的不好我知道,但是慢慢来吧 kernel  是干嘛的,有很多人有这个疑问,在很久以前我也有这个疑问,我在很长一段时间都认为kernel 就是一堆驱动的集合,这个说是正确也是正确,但是不全面. 在现…
目录 . 引言 . Linux 中断的概念 . 中断处理流程 . Linux 中断相关的源代码分析 . Linux 硬件中断 . Linux 软中断 . 中断优先级 . CPU在关中断状态下编程要注意的事项 0. 引言 中断是现代计算机体系结构的重要组成部分,我们回顾历史,现代体系结构的基本输入输出方式有三种 . 程序查询: CPU周期性询问外部设备是否准备就绪.该方式的明显的缺点就是浪费CPU资源,效率低下.但是在特定的场景下这种"程序查询"的方式还有有它的用武之地的 例如,在网络驱…
Linux kernel 一直以其开源著称,可以自己编译选择合适的模块,针对特定的系统可以有不同的编译选项 来源 此次编译的内核版本为3.10.94,从官网www.kernel.org下载而来,自己虚拟机centOS原有版本为3.10.0 解压 xz -d linux-3.10.94.tar.xz tar -xvf linux-3.10.94.tar 备份(其实不需要做,但是以后做开发驱动之类的需要改系统的东西这就很重要了) #备份内核和启动文件(/boot)boot.tar.gz #备份系统函…
转自:http://blog.csdn.net/u011461299/article/details/9772215 版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,在一个device driver中实现中断,是比较简单的,如上面的RTC的例子.其无非就是: 1.       定义一个IRQ No.如何将Hardware中断信息map到我们的IRQ No就是get_irqnr_and_base要做得事情,get_irqnr_and_base是一个macro,后面会详细分析之.这个…