自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (15)
  • 收藏
  • 关注

原创 热爱甜食的内核开发者 - 简历话题

最近有感写的小文【关于简历和面试的吐槽】,希望能够帮助越来越多的人,也非常希望朋友能多多转发,给那些需要的人一些尽可能的帮助吧!

2017-12-15 15:48:58 1053 2

原创 What I have done on...

Github: https://github.com/JasonXing1. eCryptfs系列 1. eCryptfs源码注释和eCryptfs的实现机制。2. eCryptfs高版本(3.3.8)实现HMAC完整性校验。3. eCryptfs低版本(2.6.24)针对原开发者实现的HMAC注解和另一个团队(加拿大滑铁卢)实现GCM进行对比。等更多信息见我的github。4. 参与Ubu

2017-03-09 08:59:25 802

原创 sendfile之3.10 VS 4.18

如下是函数调用链:https://www.processon.com/embed/5e9fe7d77d9c0869da9beaa4

2020-05-15 17:38:25 239

原创 kprobe + bpftrace

$ cat kprobe-exam.c/* kprobe-exam.c */#include <linux/kernel.h>#include <linux/module.h>#include <linux/kprobes.h>#include <linux/kallsyms.h>#include <linux/sched.h&gt...

2020-04-22 18:18:23 795

原创 UDP GSO原理及应用

2019年10月31日一、需求内核如何支持udp gso; 测试(包括性能); 用户如何使用udp gso;二、背景 针对上述问题,本小节展开一定的论述,基础知识就不再赘述了。 Linux支持udp下的generic segmentation offload特性有两种实现方式,一种是在protocal stack做,一种是在NIC driver做...

2019-11-04 11:42:33 5401 4

原创 audit CIS加固性能对比

总结:三组充分的对比实验:1. 内核关闭audit2. 内核开启但是system service disable3. 内核开启且system service enable但无规则4. 内核开启且system service disable且写规则(依照CIS benchmark方式加固)指标(主要):1. Execl2. File Copy3. Pipe ...

2019-07-24 11:18:42 641

原创 psi:poll机制bug修复

前言:本文是纯技术细节文档,不涉及PSI整体机制等内容。 本文以bug为驱动,写下调查跟踪思路,和定位方法。一、简介PSI = Pressure Stall Information,由facebook提出的新特性,目的是结合cgroup用于监控内核三大项数据memory/cpu/io。必备的关键词:trigger:当用户对/proc/pressure/{cpu, i...

2019-07-24 10:58:48 1249

原创 vmcore使用和分析

拿到vmcore后,用strings解析其中的内核版本:strings xxx | less找到对应版本的包,kernel-debuginfo-<版本>.rpm,并解析出文件:rpm2cpio kernel-debuginfo-<3.10.0-xxx>.rpm | cpio -div...

2019-05-16 14:49:59 3390

原创 proc添加模块和systemtap添加tracepoint

实现过程其实和一个驱动很像,部分文件系统的接口调用即可。#include <linux/jbd2.h>#include <linux/seq_file.h>#include <linux/proc_fs.h>#include <linux/spinlock.h>enum jbd2_mon_func_map { atc, dgwa,...

2019-05-13 20:14:11 471

原创 系统查问题的方法

系统查问题的方法线上经常出现的就是几大特点:网络为何丢包,load为何飙升,cpu利用率为何很高等。问题大类不多,但是要对应的细节却是很多,这里仅写基本的调查第一要素。一、proc文件proc文件系统是和...

2019-05-13 13:53:43 313

转载 start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart

用Ubuntu远程登录虚拟host时出现:start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused解决: sudo dpkg-divert –local –rename –add /sbin/initctl ln -s /bin/true /s

2017-06-10 23:23:25 2581

转载 VMVare8.0, Ubuntu14.04安装VMWare Tools找不到内核头文件解决方案

VMVare8.0, Ubuntu14.04安装VMWare Tools遇到一点问题,提示找不到内核头文件,于是baidu之,作如下总结。 首先执行: sudo apt-get install build-essential linux-headers-$(uname -r) sudo cp /lib/modules/3.13.0-24-generic/build/include/genera

2017-06-10 21:32:01 696

原创 内核开发细节

strcpy拷贝时会赋值结束符:MSDN The strcpy function copies strSource, including the terminating null character, to the location specified by strDestination. The behavior of strcpy is undefined if the source and

2016-12-02 20:31:38 631

原创 eCryptfs - unlink系统调用

在机器上测试上测试remove()函数,使用strace跟踪,发现其真正指向了unlink系统调用。查阅APUE,其解释如图:

2016-11-02 11:28:11 878

原创 eCryptfs - lookup()

使用tab补齐时候会用到。ls列出时候会用到。touch时候会用到(需要查找创建的文件是否已经存在,现在缓存中查找)。

2016-10-30 23:42:32 763

原创 #define & typedef 区别

1. 处理时间不同 1) #define是由预处理器控制,在编译前完成操作。 2) typedef是由编译器控制,在编译时完成操作。2. 作用域 1) #define作用域为全局,因为编译器无法操作#define,从而无法控制它的作用域。 2) typedef作用域有所限制,因为编译器可以控制。3. 使用 1) #define只是单纯的替换代码而已,并不做检查是否正确。 2) typed

2016-10-23 14:03:55 918

原创 eCryptfs源码注释(3)

README 此文档没有上传至网络,如果有人对此感兴趣可以发送邮件至[email protected]中,说明情况(不能作为商业用途!),谢谢。转载或者引用请注明(见封面信息),并通知至邮件[email protected],谢谢!Data Integrity封面: 目录: 内容(截取):

2016-10-07 13:20:18 1963

原创 eCryptfs源码注释(2)

以下为ecryptfs部分源码注释的截图:

2016-10-07 13:09:22 1745 2

原创 eCryptfs源码注释(1)

README 此文档没有上传至网络,如果有人对此感兴趣可以发送邮件至[email protected]中,说明情况(不能作为商业用途!),谢谢。转载或者引用请注明(见封面信息),并通知至邮件[email protected],谢谢!封面 目录 内容(截取)

2016-10-04 10:13:36 1686

原创 搜索&技巧

README作者:邢万里学校:重庆邮电大学email:[email protected]团队&管理最重要一点,一定要物色好人,学会观察他们言行举止,记录他们的习惯,大都是各有所长,那能做的只能榨干他的长处了,如果都不错,可以为负责人candidate(还需考察是否能够持久、团队意识等更加大局的方向)。定期以文档方式收取团队的工作日志,保持记录的习惯,应变人员的更替和技术的积累。与他们一起

2016-09-15 09:50:04 672

原创 内核 - ## VA-ARGS的用法

##和_ _VA_ARGS_ _用法##(连接符)## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元。具体的定义在编译原理里有详尽的解释##是把传递过来的参数当成字符串进行替代。 假设程序中已经定义了这样一个带参数的宏: #define

2016-08-06 09:37:11 1435

转载 linux各种终端类型的区别和概念

linux各种终端类型的区别和概念1. pty(虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)。2 tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫

2016-08-04 10:25:16 4058

原创 eCryptfs - read/write系统调用

eCryptfs - read/write系统调用README作者:邢万里学校:重庆邮电大学email:[email protected]入口(系统调用include/linux/syscall.h)由于安全上的一些问题,2.6和3.x系类的系统调用改动幅度有些偏大。系统调用均经过如下代码进行“过滤”:#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEF

2016-07-29 19:30:35 685

原创 eCryptfs - close系统调用

eCryptfs - close系统调用README基于内核3.3.8入口(系统调用include/linux/syscall.h)

2016-07-29 17:16:43 1121

原创 eCryptfs - creat系统调用

eCryptfs - creat系统调用README作者:邢万里学校:重庆邮电大学email:[email protected]封装(系统调用fs/open.c)注: 1. 在阅读creat系统调用前,一定要阅读open系统调用。 2. creat单词拼写上不同于create。这里创建的系统调用是sys_creat()函数。所有的系统调用存在于include\linux\syscalls

2016-07-29 14:11:38 1250

原创 eCryptfs - open系统调用

eCryptfs - mount系统调用README基于内核3.3.8入口(系统调用include/linux/syscall.h)由于安全上的一些问题,2.6和3.x系类的系统调用改动幅度有些偏大。系统调用均经过如下代码进行“过滤”:#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)#defi

2016-07-29 10:24:06 1041

原创 eCryptfs - mount系统调用

eCryptfs - mount系统调用README基于内核3.3.8入口(系统调用include/linux/syscall.h)由于安全上的一些问题,2.6和3.x系类的系统调用改动幅度有些偏大。系统调用均经过如下代码进行“过滤”:#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)#defi

2016-07-28 17:46:16 1667 5

原创 eCryptfs-utils编译

eCryptfs-utils编译README前期准备实验环境:ubuntu12.04LTS,内核3.13.0,eCryptfs-utils 96(目的符合12.04系统本身的utils版本)。ecryptfs-utils具体版本在官网下载处下载。依赖包:ubuntu官网下载

2016-07-27 22:30:15 1822

原创 gcc - 头文件/库文件

READMEGCC - 头文件此部分关于gcc编译时,如何查询相应的头文件。按顺序依次往下找: 1. 默认情况: (1)header file的搜寻会从-I参数开始 (2)gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH (3)指定目录目录 /usr/include /usr/local/include

2016-07-27 19:09:05 1174

原创 eCryptfs - Bonus

eCryptfs 综合篇READMEeCryptfs模块入口(ecryptfs_init()函数)eCryptfs模块出口(ecryptfs_exit()函数)挂载eCryptfs(ecryptfs_mount()函数)关联知识BDI: (1)定义: bdi,即是backing device info的缩写,根据英文单词全称可知其通指备用存储设备相关描述信息,这在内核代码里用一个结构体back

2016-07-26 20:34:19 811

翻译 eCryptfs v0.1 Design Document

目录1.     引言2.     威胁模型3.     功能概述3.1   VFS对象……………………………………………………………………………………………………………………….33.2   VFS操作……………………………………………………………………………………………………………………….43.2.1 挂载3.2.2打开文件3.2.3页读取模式3.2.4页

2016-07-23 23:38:03 1264

原创 黄老师语录

README作者:邢万里学校:重庆邮电大学email:[email protected]起因我记得有一教授说过,要是大学出来你能记得老师的10句话,说明你大学收益了!我现在是大二和大三的过渡期:暑假阶段。正在做BTOS的发布版光盘和大数据安全存储(云存储)的项目。感受颇多,非常谢谢老师能够带我走上内核开发的道路!非常谢谢!有一算命的给我说过,我人生中会有两个贵人,黄老师一定是算作一个了!哈哈。

2016-07-22 23:05:17 2196

原创 Linux内核编译->ecryptfs模块编译

Compiling Linux-Kernelwith eCryptfsREADME作者:邢万里学校:重庆邮电大学email:[email protected]基于ubuntu12.04(原内核3.13.0 - 32 - generic)新内核3.3.8,eCryptfs模块内核编译前期(menuconfig)基本知识 下文摘抄wiki-menuconfig官网 基本

2016-07-22 15:16:07 10365

原创 MINIX3 - 安装+使用

MINIX3 - 安装+使用README作者:邢万里学校:重庆邮电大学email:[email protected]前期准备下载点击MINIX - ISO官网可以看到如下两个选项,一个是3.3.0版本,另一个是3.2.1版本。很明显的区别就是,3.3.0版本暂时没有支持x 11(即图形化界面),而3.2.1包含其中,因此,我个人装的是3.2.1版本。 (可选)如果读者需要装其他版本或者获得其

2016-07-22 10:17:36 22720 2

原创 MINIX - 磁盘块和缓冲块

磁盘块和缓冲块README作者:邢万里学校:重庆邮电大学email:[email protected] 基于内核Linux 0.12源码一、 磁盘块术语解释定义: 磁盘块表示磁盘上存储数据的地方,也就是数据真正存放的地方。即使电脑关机、文件保存等情况发生,磁盘块即是数据最终写入的位置(磁盘块的数据不会丢失,除非意外操作或者磁盘损坏等无法避免的情况)。磁盘块==盘块==逻辑块==数据块

2016-07-22 09:29:21 6669 2

原创 VMWARE操作系列 - 问题

VMWARE系列安装1. 场景:无法安装64位系统 如果需要安装64位的操作系统,则需要进入BIOS中,选定“intel visualization technology”为“Enable”即可。2 场景:避免easy install 只需注意下面三幅图即可: (1)此图为新建虚拟机过程中,不要直接选择安装镜像文件,这样会导致easy install情况。 (2)此图为向导设置完成后,出现的

2016-07-20 20:29:00 821

原创 LFS from scratch(从0入门)

LFS系列作者:邢万里学校:重庆邮电大学email:[email protected]前期准备参考《手把手教你如何建立自己的Linux系统第二版》、官方文档《LFS-BOOK-6.3》和金步国的《LFS-6.1.1》。从官网http://www.linuxfromscratch.org/livecd/download.html下载livecd版本(如图所示,红色部分即可) 进入网址后

2016-07-19 12:10:14 3111

原创 ssh的简单配置

Ubuntu12.04 使用ssh教程作者:邢万里学校:重庆邮电大学email:[email protected]前言这篇博客是关于ssh在Ubuntu下的安装及使用。环境:Ubuntu12.04Desktop,vmware.ubuntu12.04,win7旗舰版。 所需包:openssh-server,openssh-client 条件:两台Linux系统机器需要构成局域网。安装注

2016-07-18 18:32:29 1553

原创 Ubuntu操作系列 - 问题

Ubuntu系列作者:邢万里学校:重庆邮电大学email:[email protected]安装1. 分区问题 1.安装ubuntu时,注意分区问题!最多只有4个主分区!因此安装ubuntu时,建议用1个主分区即可。否则剩下的空间,即Free Space将变为Unusable Space。使用1. update升级 1.1 场景:更换了源之后,使用#sudo apt-get install

2016-07-17 20:02:03 3514

原创 samba的简单配置

samba 基于ubuntu 12.04 Desktop(服务器平台)作者:邢万里学校:重庆邮电大学email:[email protected]前言这篇博客是关于samba在Ubuntu下的安装及使用。环境:Ubuntu12.04Desktop,win7旗舰版,服务器平台。所需包:samba,samba-common,samba-common-bin,smbclient条件:保持网络

2016-07-12 19:39:37 12079

adblock插件

chrome+adblock:可以清楚浏览的网页上绝大部分广告!必备!

2016-10-07

计算机操作系统实验教程 MINIX操作系统、分析和实现

计算机操作系统实验教程 MINIX操作系统、分析和实现!这是一本1994年的老书,值得学习!

2016-07-20

LFS-6.1.1金步国

LFS-6.1.1金步国

2016-07-19

深入Linux设备驱动程序内核机制

深入Linux设备驱动程序内核机制

2016-07-16

ARM嵌入式系统开发:软件设计与优化

ARM嵌入式系统开发:软件设计与优化

2016-07-16

API(java)

Java8 API。下载后,如果无法浏览,则右击属性,解除锁定。

2016-07-16

一份不太简短的LaTeX介绍

一份不太简短的LaTeX介绍

2016-07-16

GNU_Makefile中文手册

GNU_Makefile中文手册

2016-07-16

LDD配套源码

LDD配套源码!

2016-07-16

Linux设备驱动程序(中文版第三版)

Linux设备驱动程序(中文版第三版)

2016-07-16

手把手教你如何建立自己的Linux系统第二版

即中文版的LFS(linux from scratch),此文档添加了作者的注解,便于新手!

2016-07-16

在Vmware中安装MINIX-3(图解)

在Vmware中安装MINIX-3(图解)。关于vmware下安装minix3系统。

2016-07-16

MINIX3.iso(操作系统设计与实现配套ISO)

此MINIX3的ISO文件,解压后可以查看到源代码,并且可以从光盘启动。具体信息解压后查看README即可知道ISO中每个文件的作用。如果有任何问题,请及时反馈,谢谢。Any suggestion or comments are welcome!

2016-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除