作者:张华  发表于:2016-02-27

版权声明:能够随意转载。转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

( http://blog.csdn.net/quqi99 )

GCC 4.6的mfentry特性支持使用ftrace在内核函数前加入一个勾子函数(可使用gcc -pg -mfentry test.c; objdump -d ./a.out命令确认),这个Kernel Live-pathing功能便是在内核未执行这个函数之前将函数地址替换掉。

Live-patching的数据结构见[1]. 打Live-patching的过程便是依据这个数据结构写模块动态插入,样例见[2]. kpatch是一个帮助动态地将一个patch生成这样的模块的工具。用法见[3].

[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/livepatch.h
[2] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/samples/livepatch/livepatch-sample.c
[3] http://chrisarges.net/2015/09/21/livepatch-on-ubuntu.html

Kernel Live-patching (by quqi99)的更多相关文章

  1. 搭建基于qemu + eclipse的kernel调试环境(by quqi99)

    作者:张华  发表于:2016-02-06版权声明:能够随意转载.转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 使用q ...

  2. Android Security

    Android Security¶ 确认签名¶ Debug签名: $ jarsigner -verify -certs -verbose bin/TemplateGem.apk sm 2525 Sun ...

  3. Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 转

    Ubuntu 11.10 (Oneiric)上编译带utrace补丁的内核 首先准备linux内核编译环境: sudo apt-get install fakeroot build-essential ...

  4. 内核升极2.6.18 升级到 2.6.32 装systemtap 原创

    系统: redhat serever 5.3  linux 2.6.18 现在要升级到 LINUX 内核 2.6.32 安装步骤: 1.下载装源代码: https://www.kernel.org/ ...

  5. 编译linux kernel及制作initrd ( by quqi99 )

    编译linux kernel及制作initrd ( by quqi99 ) 作者:张华  发表于:2013-01-27    ( http://blog.csdn.net/quqi99 ) 运行一个l ...

  6. Windows Kernel Security Training Courses

    http://www.codemachine.com/courses.html#kerdbg Windows Kernel Internals for Security Researchers Thi ...

  7. Linux日志出现大量"kernel: NET: Registered protocol family 36"

    一台Linux服务器的系统错误日志出现大量的" kernel: NET: Registered protocol family 36"错误信息,如下所示: Jul  2 05:27 ...

  8. 用外部物理路由器时与外部dhcp服务时怎样使用metadata服务(by quqi99)

    作者:张华  发表于:2015-12-31版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 用外部 ...

  9. GSO/TSO/GRO等对VirtIO虚机的网络性能影响分析(by quqi99)

    作者:张华  发表于:2016-04-05版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) IP层 ...

随机推荐

  1. gifsicle for linux ----------gif 图像处理

    1.gifsicle 在linux 中的使用下载gifsicle yum install gifsicle 若发现没有此包 ,更新epel第三方软件库 sudo yum install epel-re ...

  2. java自动机器人自动生成修姓名工具类

    public class GenerateName { public static String getName() { Random random = new Random(); String[] ...

  3. Java 获取当前时间最近12个月(字符串)

    /** * 获取当前系统时间最近12月的年月(含当月) * 2018-04~2019-03 */ public String getLatest12Month(Date date){ Calendar ...

  4. ms_sql 触发器记录表字段数据变化的日志 -针对一张表操作

    create table sto (id int not null, -- 主键字段 de datetime -- 被跟踪的字段 constraint pk_sto primary key(id)) ...

  5. element--ui使用tab切换时如何获取当前对象的id或者其他属性

    1. 问题 当使用tab切换时,部分特殊场景需要获取当前元素的类名或者id. 2.解决思路,tab切换是绑定函数,函数会传递过去当前对象,通过当前对象获取对象属性 vue部分代码:本项目是在vue-c ...

  6. Failed to resolve filter报错原因

    问题 页面写过滤器,控制台报错,Failed to resolve filter 分析 语法错误?先检查 ``` {{ params | filterA }} filters: { filterA: ...

  7. h5 中MP3 播放暂停 jq

    <!--音乐--> <div id="music"> <img src="../img/music.gif" class=&quo ...

  8. 洛谷——P2613 【模板】有理数取余

    P2613 [模板]有理数取余 读入优化预处理 $\frac {a}{b}\mod 19620817$ 也就是$a\times b^{-1}$ $a\times b^{-1}\mod 19620817 ...

  9. l5-repository基本使用

    一.安装 composer require prettus/l5-repository 二.Model层:Warehouse.php <?php namespace App\Model; use ...

  10. 【makefile】symbol <函数> : can't resolve symbol 问题分析

    调试程序的时候,在linux编译器上可以编译通过,但是编译生成的firmware烧录到板子上的后出现以下异常: can't resolve symbol,无法解析元素符号. review一下code, ...