博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tips to understand kexec
阅读量:5331 次
发布时间:2019-06-14

本文共 779 字,大约阅读时间需要 2 分钟。

 
1 unsigned long copy_from_user(void * to, const void __user * from, unsigned long n)

  第一个参数to是内核空间的数据目标地址指针,

  第二个参数from是用户空间的数据源地址指针,
  第三个参数n是数据的长度。
  如果数据拷贝成功,则返回零;否则,返回没有拷贝成功的数据字节数。
  此函数将from指针指向的用户空间地址开始的连续n个字节的数据产送到to指针指向的内核空间地址 。

 

  kexec -l image的处理过程如下:

  1. 调用解压缩算法将image解压到malloc的buffer中

  2. 获取可用的内存空间保存到struct kexec_info *info中

  3. 调用probe函数判断elf文件的格式

    3.1 build_elf_exec_info->build_elf_info->build_mem_ehdr

  4. 调用load函数加载image

    4.1 build_elf_exec_info(&ehdr)

    4.2 从ehdr中获取kernel_addr与kernel_size

    4.3 elf_exec_load(&info)->add_segment(&info)

  5. valid_memory_ranges

  6. kexec_load

    6.1 kimage_alloc_init(&image)->do_kimage_alloc_init(&image)->copy_user_segment_list->sanity_check_segment_list

  

转载于:https://www.cnblogs.com/adera/p/6816070.html

你可能感兴趣的文章
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>