linux kernel的函数与抽象层】的更多相关文章

在数学领域,函数是一种关系,这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素. 在C语言中函数也有这种联系.自变量影响着因变量. 在linux内核驱动编程经常会有抽象层的概念.硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化.它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植.内核提供了简单的内核符号表机制(可以理解为全局函数/变量指针),模块或者源程序向其他程序导出符号,则使用下面的宏:EX…
漏洞名称: Linux Kernel‘ieee80211_radiotap_iterator_init()’函数拒绝服务漏洞 CNNVD编号: CNNVD-201312-041 发布时间: 2013-12-04 更新时间: 2013-12-04 危害等级:    漏洞类型:   威胁类型: 远程 CVE编号:   漏洞来源: Evan Huus Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.         Linux Kernel中存在拒绝服务漏洞.攻击者…
漏洞名称: Linux kernel ‘qeth_snmp_command’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-423 发布时间: 2013-11-29 更新时间: 2013-11-29 危害等级: 中危   漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号: CVE-2013-6381 Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.         Linux kernel 3.12.1及之前的版本中的drivers/s39…
漏洞名称: Linux kernel ‘aac_send_raw_srb’函数输入验证漏洞 CNNVD编号: CNNVD-201311-422 发布时间: 2013-11-29 更新时间: 2013-11-29 危害等级: 中危   漏洞类型: 输入验证 威胁类型: 本地 CVE编号: CVE-2013-6380 Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.         Linux kernel 3.12.1及之前的版本中的drivers/scsi/a…
漏洞名称: Linux kernel ‘lbs_debugfs_write’函数数字错误漏洞 CNNVD编号: CNNVD-201311-421 发布时间: 2013-11-29 更新时间: 2013-11-29 危害等级: 中危   漏洞类型: 数字错误 威胁类型: 本地 CVE编号: CVE-2013-6378 Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.         Linux kernel 3.12.1及之前的版本中的drivers/net/w…
漏洞名称: Linux kernel ‘xfs_attrlist_by_handle()’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-392 发布时间: 2013-11-29 更新时间: 2013-11-29 危害等级: 中危   漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号: CVE-2013-6382 漏洞来源: Nico Golde and Fabian Yamaguchi Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.  …
漏洞名称: Linux kernel ‘uio_mmap_physical’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-154 发布时间: 2013-11-13 更新时间: 2013-11-13 危害等级: 中危   漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号: CVE-2013-6763 Linux kernel是美国Linux基金会发布的一款操作系统Linux所使用的内核.         Linux kernel 3.11.7及之前的版本中的drivers/u…
漏洞名称: Linux Kernel ‘write_tag_3_packet()’函数本地基于堆的缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-067 发布时间: 2013-11-07 更新时间: 2013-11-07 危害等级:    漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号:   漏洞来源: x90c Linux kernel是美国Linux基金会发布的一款操作系统Linux所使用的内核.         Linux kernel中存在本地基于堆的缓冲区溢出漏洞,该…
漏洞名称: Linux Kernel ‘exitcode_proc_write()’函数本地缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-061 发布时间: 2013-11-07 更新时间: 2013-11-07 危害等级:    漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号: CVE-2013-4512 漏洞来源: Fabian Yamaguchi, Nico Golde Linux kernel是美国Linux基金会发布的一款操作系统Linux所使用的内核.      …
漏洞名称: Linux Kernel ‘oz_cdev_write()’函数本地缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-060 发布时间: 2013-11-07 更新时间: 2013-11-07 危害等级:    漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号: CVE-2013-4513 漏洞来源: Fabian Yamaguchi, Nico Golde Linux kernel是美国Linux基金会发布的一款操作系统Linux所使用的内核.         Lin…
漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013-11-06 危害等级:    漏洞类型: 信息泄露 威胁类型: 本地 CVE编号: CVE-2013-4516 漏洞来源: Fabian Yamaguchi, Nico Golde Linux kernel是美国Linux基金会发布的一款操作系统Linux所使用的内核.         Linux…
漏洞名称: Linux kernel get_prng_bytes函数数字错误漏洞 CNNVD编号: CNNVD-201310-142 发布时间: 2013-10-11 更新时间: 2013-10-11 危害等级: 中危   漏洞类型: 数字错误 威胁类型: 远程 CVE编号: CVE-2013-4345 Linux kernel是美国Linux基金会发布的一款操作系统Linux所使用的内核.         Linux kernel 3.11.4及之前的版本中的crypto/ansi_cprn…
漏洞名称: Linux kernel ‘fib6_add_rt2node’函数安全漏洞 CNNVD编号: CNNVD-201307-265 发布时间: 2013-07-16 更新时间: 2013-07-16 危害等级:    漏洞类型:   威胁类型: 远程 CVE编号: CVE-2013-4125 Linux Kernel是美国Linux基金会发布的一款开源操作系统Linux所使用的内核.         Linux kernel 3.10.1及之前的版本中的IPv6栈中的net/ipv6/i…
漏洞名称: Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞 CNNVD编号: CNNVD-201307-072 发布时间: 2013-07-05 更新时间: 2013-07-05 危害等级:    漏洞类型: 信息泄露 威胁类型: 本地 CVE编号: CVE-2013-2237 Linux Kernel是美国Linux基金会发布的一款开源操作系统Linux所使用的内核.         Linux kernel 3.9之前的版本中的net/key/a…
漏洞名称: Linux kernel ‘ip6_sk_dst_check’函数拒绝服务漏洞 CNNVD编号: CNNVD-201307-070 发布时间: 2013-07-05 更新时间: 2013-07-05 危害等级:    漏洞类型:   威胁类型: 本地 CVE编号: CVE-2013-2232 Linux Kernel是美国Linux基金会发布的一款开源操作系统Linux所使用的内核.         Linux kernel 3.10之前的版本中的net/ipv6/ip6_outpu…
漏洞名称: Linux Kernel ‘test_root()’函数本地拒绝服务漏洞 CNNVD编号: CNNVD-201306-432 发布时间: 2013-06-25 更新时间: 2013-06-25 危害等级:    漏洞类型: 其他 威胁类型: 本地 CVE编号:   漏洞来源: Jonathan Salwan Linux Kernel是美国Linux基金会发布的开放源码操作系统Linux所使用的内核.         Linux Kernel中存在本地拒绝服务漏洞.本地攻击者可利用该漏…
漏洞名称: Linux Kernel ‘kvm_set_memory_region()’函数本地提权漏洞 CNNVD编号: CNNVD-201306-343 发布时间: 2013-06-20 更新时间: 2013-06-20 危害等级:    漏洞类型: 权限许可和访问控制 威胁类型: 本地 CVE编号: CVE-2013-1943 漏洞来源: Michael S. Tsirkin of Red Hat Linux Kernel是美国Linux基金会发布的开放源码操作系统Linux所使用的内核.…
原文地址:http://blog.csdn.net/penngrove/article/details/44175387 最近看到Linux Kernel cmpxchg的代码,对实现很不理解.上网查了内嵌汇编以及Intel开发文档,才慢慢理解了,记录下来以享和我一样困惑的开发者.其实cmpxchg实现的原子操作原理早已被熟知: cmpxchg(void* ptr, int old, int new),如果ptr和old的值一样,则把new写到ptr内存,否则返回ptr的值,整个操作是原子的.在…
漏洞版本: Linux kernel 漏洞描述: BUGTRAQ ID: 62405 CVE(CAN) ID: CVE-2013-4350 Linux Kernel是Linux操作系统的内核. Linux kernel在sctp_v6_xmit中存在ipv6加密bug,攻击者可利用此漏洞泄露敏感信息. <* 参考 https://bugzilla.redhat.com/show_bug.cgi?id=1007903 *> 安全建议: 厂商补丁: Linux ----- 目前厂商已经发布了升级补…
近日稍微对Android中的驱动开发做了一些简要的了解. HAL:Hardware Abstract Layer 硬件抽象层,由于Linux Kernel需要遵循GPL开源协议,硬件厂商为了保护自己硬件方面的各项参数不被外泄,而一个设备的驱动程序包含了硬件的一些重要参数,所以驱动的开源势必会使硬件厂商蒙受损失,Google为了保护硬件厂商的利益,所以在Android系统中加入了HAL层,在HAL层中不必遵循GPL协议,所以代码可以封闭. 所以如果硬件驱动开源的写在Kernel里,Framewor…
漏洞版本: Linux Kernel 漏洞描述: Bugtraq ID:64270 CVE ID:CVE-2013-6367 Linux Kernel是一款开源的操作系统. Linux KVM LAPIC实现中的'apic_get_tmcct()'函数存在一个除零错误,允许本地特权用户使宿主系统崩溃. <* 参考 https://bugzilla.redhat.com/show_bug.cgi?id=1032207 http://lwn.net/Articles/576880/http://se…
Linux 内核为了处理各种不同类型的的输入设备 , 比如说鼠标 , 键盘 , 操纵杆 , 触摸屏 , 设计并实现了一个对上层应用统一的试图的抽象层 , 即是Linux 输入子系统 . 输入子系统的层次结构体如下 从底层到上层 , input 子系统由 设备驱动层 , 核心层 , 以及事件处理层3个部分组成 当一个鼠标移动, 一个按键按下或弹起 , 它都需要从底层设备驱动-->核心层-->事件处理层 -->用户空间 , 层层上报 , 一直到运用程序. 应用这个input  子系统有如下优…
目录 . 引言 . Linux 中断的概念 . 中断处理流程 . Linux 中断相关的源代码分析 . Linux 硬件中断 . Linux 软中断 . 中断优先级 . CPU在关中断状态下编程要注意的事项 0. 引言 中断是现代计算机体系结构的重要组成部分,我们回顾历史,现代体系结构的基本输入输出方式有三种 . 程序查询: CPU周期性询问外部设备是否准备就绪.该方式的明显的缺点就是浪费CPU资源,效率低下.但是在特定的场景下这种"程序查询"的方式还有有它的用武之地的 例如,在网络驱…
介绍 不同的编程语言具有不同的抽象原语(如下),有的原语抽象层次低,有的原语抽象层次高.其中函数式.DSL是这几年十分热门的编程语言概念. 过程式抽象原语:变量 对象式抽象原语:对象 函数式抽象原语:函数 事件驱动抽象原语:事件 DSL抽象原语:业务定制语言 Linux kernel是个与硬件打交道.用C语言开发的几十年的巨型软件项目.它的开发语言是C,作为一门过程式语言,好像离对象式.函数式.DSL这些编程范式很远,无法将这些优秀的编程范式的威力发挥在Linux Kernel项目上. 但是,果…
http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环…
============================================================================== 深入linux kernel内核配置选项 ============================================================================== 如果自己不亲自实践配置的话,你永远也体会不到内核的真实所在. 使用过linux的发行版之一gentoo的话,你应该知道这是一个彻头彻尾的自定义…
有关Linux kernel 字符设备分析: 参考:http://blog.jobbole.com/86531/ 一.linux kernel 将设备分为3大类,字符设备,块设备,网络设备. 字符设备是指只能一个字节一个字节读写的设备, 常见的外设基本上都是字符设备. 块设备:常见的存储设备,硬盘,SD卡都归为块设备,块设备是按一块一块读取的. 网络设备:linux 将对外通信的一个机制抽象成一个设备, 通过套接字对其进行相关的操作. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.l…
  Linux下,I/O处理的层次可分为4层: 系统调用层,应用程序使用系统调用指定读写哪个文件,文件偏移是多少 文件系统层,写文件时将用户态中的buffer拷贝到内核态下,并由cache缓存该部分数据 块层,管理块设备I/O队列,对I/O请求进行合并.排序 设备层,通过DMA与内存直接交互,将数据写到磁盘 下图清晰地说明了Linux I/O层次结构: 写文件过程 写文件的过程包含了读的过程,文件先从磁盘载入内存,存到cache中,磁盘内容与物理内存页间建立起映射关系.用于写文件的write函数…
https://source.android.com/source/building-kernels.html $ export PATH=/home/hzh/oldhome/learn/android-4.2.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:${PATH} $ export ARCH=arm $ export SUBARCH=arm $ export CROSS_COMPILE=arm-eabi- $ make ARCH=arm g…
作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介 1. 内核功能简介 (1) 操作系统 和 内核 简介 操作系统 : -- 功能 : 完成基本功能 和 系统管理; -- 组成 : 内核(kernel), 设备驱动程序(driver), 启动引导程序(bootloader), 命令行(shell), 用户界面(UI), 文件系统(filesystem), 管理工具;…