2010年度报告:是谁在编写Linux内核?

Linux内核CVE-2010-3863漏洞复现:从条件竞争到本地提权实战 条件竞争(Race Condition)是操作系统内核开发中一类经典的并发编程缺陷,当多个执行线程在没有适当同步的情况下访问共享资源时,可能导致程序行为出现不可预测的错误。在Linux内核的网络子系统实现中,这类漏洞可能引发严重的安全问题,例如内核信息泄露(Kernel Information Leak)。其技术价值在于,攻击者可以利用信息泄露绕过内核地址空间布局随机化(KASLR)等安全机制,为后续的权限提升攻击奠定基础。典型的应用场景出现在攻击链中,当攻击者通过Web应用漏洞获得初始立足点后,会利用此类 阅读详情

Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该 报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在 写Linux”报告,总结了过去一年来Linux内核的进展情况。

根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.30内核的代码量少18%,过去一年来提交的内核代码减少的原因很多,包括阶段代码新的提交流程。

Linux基金会市场营销和开发计划副总裁,报告的合著者Amanda McPherson说:“我认为阶段树不是简单的代码增加,也不是在以前的版本上简单的膨胀”。

报告解释了从2.6.28内核开始的代码阶段树。最初的状态树启动了一个进程,将大量树外的代码合并到主Linux内核中。根据今年的报告显示,从 2.6.31开发周期可以看出,因积压下来的大量代码需要处理,这一进程就放慢了。报告还指出,新的驱动程序经由阶段树源源不断进入主Linux内核。

虽然新代码的提交步伐和去年相比不在同一水平,但整体来看进展还是不错。报告指出,自2.6.30内核开始,每天有9058行代码添加到Linux内核,包括周末和节假日。

过去五年半以来,从2005年的2.6.11内核到2010年的2.6.35内核,平均每一小时就会有4.02个补丁应用到内核树上。

内核发布后,就进入维护期,根据需要更新补丁。有些版本的内核更新补丁会多一点,如2.6.32内核是过去五年来更新补丁最多的一个版本(报告指出 2.6.32内核总共有1793个修复补丁)。McPherson指出,Linux 2.6.32内核经过长时间的补丁修复,现在正稳定更新中。

McPherson说:“2.6.32内核已经用在RHEL 6,SLES11中,如果我没记错的话,有一个Ubuntu LTS发行版也使用了它,因此这个版本的内核得到了大家持续的关爱,2.6.32现在仍然在更新,而比它高一个版本的2.6.33-35已停止更新”。

谁是内核贡献者?

正如最近五个内核版本提交的代码数量下降一样,为Linux内核贡献代码的企业数量也在下降。2.6.30内核已知的代码贡献企业是245家,但到2.6.35版本时,贡献代码的企业数量就下降到184了。

一些知名的Linux内核代码贡献企业也发生了细微的变化。

   1. 贡献最多的仍然要数Red Hat,2.6.30内核有12%的代码变化都是Red Hat贡献的

   2. 英特尔次之,贡献了7.8%

   3. Novell贡献了5%

   4. IBM贡献了4.8%

McPherson说:“今年报告中的数字正如我们预料的一样,我很高兴地看到赞助内核开发的顶级企业发生了变化,移动/嵌入式开发公司表现得越来越活跃”。

从2.6.30内核开始,诺基亚贡献了2.3%的代码,德克萨斯仪器提交了1.5%的代码,无线厂商Atheros添加了1.4%的Linux内核代码。

相反,Ubuntu Linux背后的Canonical在最近五个Linux内核版本中所做的贡献却很少。

McPherson说:“如果你仔细查看日志,就会发现Canonical从2.6.30内核以来,总共提交了109个补丁,占总量的0.2%,排在所有贡献企业的第62位”。

Linux内核学习之Linux内核“源码目录” 其实linux里面的文件配置和现如今IotOS(传统的说就是rtos)的配置都是借鉴了linux的这套思路和方法,有接触过IotOS的小伙伴就知道了,里面一些配置文件写法风格和linux很像,学会了linux一些具体原理分析,再去分析IotOS的配置分析就简单多了。我们今天的文章分享不是拿最新的版本来作为学习的,往往在刚开始学习的时候,都会拿比较经典的linux版本来作为入门学习,入门了后,后面版本的学习就好办了。drivers:驱动目录,里面分门别类的列出了linux内核支持的所有硬件设备的驱动源代码。 阅读详情

相关推荐

Linux内核漏洞CVE-2010-3863深度剖析:从信息泄露到本地提权

在操作系统安全领域,内存安全是核心议题之一。其原理在于确保程序对内存的访问严格限定在合法边界内,任何越界读写都可能导致信息泄露或系统崩溃,进而破坏内核的完整性。这类漏洞的技术价值在于,它们往往能绕过现代操作系统的防护机制,如地址空间布局随机化(KASLR)。典型的应用场景包括本地权限提升攻击,攻击者利用内核中的逻辑缺陷,从普通用户权限获取最高控制权。本文聚焦于Linux内核中一个经典案例,即由`sendmsg`系统调用与`SO_BSDCOMPAT`套接字选项交互不当引发的**条件竞争**漏洞,该漏洞最终可导

weixin_30632883的博客 368

编写 Linux 内核模块:支持 IRQ 的 GPIO

本文不提供 skel_gpio_irq_unmask、skel_gpio_irq_mask 和 skel_gpio_irq_set_type 方法的实现,原因有二。因此,驱动程序可以启用(skel_gpio_irq_unmask)/禁用(skel_gpio_irq_mask)中断,并指定生成它们的事件类型(skel_gpio_irq_set_type)。在本文中,我们介绍了 GPIO 驱动程序如何与 sysfs 虚拟文件系统交互,实现了 GPIO 驱动程序的基本结构,并研究了 IRQ 支持所需的方法。

2501_93209230的博客 837

【Autosar】学习总结-MCAL

一、简介 MCAL:微控制器抽象层;位于BSW层中的最下层; MCAL细分,可将驱动分为:微控制器驱动、存储器驱动、通信驱动、IO驱动: 二、MCAL的配置(EB-Tresos) 1.PORT 我理解的PORT:MCAL层中的IO驱动组中的pin脚总体配置: Port就是芯片上的每个pin脚,可以配置成DIO ADC PWM ICU等单引脚的功能,也能配置成CAN的TX或者RX、SPI的MOSI等等其他功能的单个pin脚功能; 总之,PORT就是芯片上的具体的某个引脚。 配置

zDavid_2018的博客 3万+

Linux内核编译详解

学习了网上的一些资料,自己试着摸索了一下,整理出此文。 由于在下水平相当有限,不当之处,还望大家批评指正^_^ 重要的参考资料有: http://raspberrypi.stackexchange.com/questions/192/how-do-i-cross-compile-the-kernel-on-a-ubuntu-host http://blog.youkuaiyun.com/x

无忧老猪 5万+

微信小游戏过审实战:JS混淆与马甲包规避技巧

本文详细解析了微信小游戏过审的实战技巧,重点介绍了JS代码混淆与马甲包规避策略。通过代码混淆、资源文件处理和分阶段提审等方法,有效应对微信机审系统的代码包侵权检测,提升过审成功率。文章还分享了常见问题的解决方案和实战经验,为开发者提供实用指导。

weixin_29234423的博客 279

【ArcGIS Add-in编程】如何创建ArcMap的下拉菜单插件

step1. VS2010中创建一个空的解决方案step2.创建一个项目 直接点击finish。step3 为该项目创建项目,选择Menu,作为根菜单,而后修改xml中的items项,添加需要放在下拉菜单中的项目,例如一个按钮; step4 现在可以创建项目,作为菜单中的项目。为该项目添加新的项目,选择button 此时 xml文件中,多了该button的项目,将该项目添加到items

吃货小跟班的博客 4431

linux kernel峰会视频,2010 年 Linux 内核峰会,11月美国

一年一度的Linux 内核峰会今年照常召开, 时间上为了与另一个重要会议 Linux Plumbers Conference 连在一起而选在了十一月份,地点今年选在美国马萨诸塞州剑桥城(同时也是哈佛大学与麻省理工所在地)召开,连续两天的会议将由世界上最顶级的约八十位 Linux 内核 Hacker 坐在一起讨论年度总结和下一年内核开发展望;最为不同的是这个会议是唯一由 Linus Torvalds...

weixin_39535701的博客 177

Arduino程序设计(十)8×8 共阴极LED点阵显示(MAX7219)

本文主要介绍8×8 LED点阵显示实验,分别是:1、介绍MAX7219点阵模块;2、点阵显示部分图形;3、点阵显示数字 0~9 及 26 个英文字母。1、通过上述两个点阵实验,了解了8*8点阵显示的基本原理;2、通过SPI通信控制点阵显示,学会了Arduino用SPI通信方式控制外设。

Alice的博客 1万+

编写第一个内核模块

    内核模块是Linux内核向外部提供的一个接口,其全称是 动态可加载内核模块(Loadabkle Kernel Module,LKM)。 Linux 内核之所以提供模块机制,是因为它本身是一个单内核( monolithic kernel )。单内核的最大优点是效率高,因为所有的内 容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模块机制就是为了弥补这一缺陷。...

游骑兵打先锋的专栏 240

ROCm rocr-libhsakmt分析系列1-2:多GPU跨卡VRAM访问机制分析

本文基于ROCr-Runtime的libhsakmt库源码,深入分析了多GPU系统中跨设备内存访问的实现机制。主要内容包括: 实现流程概述:通过P2P拓扑发现、统一虚拟地址空间、页表映射和硬件转发四个步骤,实现零拷贝的跨GPU内存访问。

图形/计算GPU的驱动与虚拟化技术分享园地 2508

手把手教你学Simulink--基于车联网与智能交通系统的场景实例:基于车联网(V2X)的实时路况信息共享与处理

《基于Simulink的车联网(V2X)实时路况共享系统仿真》摘要:本文详细介绍使用Simulink构建V2X智能交通系统的完整方法。系统包含交通路网建模、V2X通信实现(支持DSRC/C-V2X标准)、多源路况信息融合、动态路径规划等核心模块。通过对比实验,验证V2X可使平均车速提升52%,行程时间缩短34%,显著提升交通效率。文章还探讨了AI预测调度、车辆编队等高级应用,为智慧交通系统开发提供实用参考。所需工具包括Simulink、SimEvents及无线通信工具箱等。

MHD0815的博客 739

linux内核 市场,Linux内核对移动终端市场影响力增加

Linux内核对移动终端市场影响力增加2010-12-02eNet&Ciweek根据外国媒体报道,Linux基金会(Linux Foundation)最新的年度报告正式出炉。从年度报告上看,Linux内核对于移动终端领域的影响在今年有了比较明显的增强趋势。根据基金会近日发布的年度报告中所公布的数据来看,开源Linux的主要增长源自于移动终端和嵌入式系统提供商。“这种Linux增长的主贡献力...

weixin_36440941的博客 157

PCL 将对象模板与点云对齐【2025最新版】

PCL模版匹配算法的使用案例,博客长期更新,本文最近更新时间为:2025年1月18日。

点云侠的博客 5379

Linux内核之旅

Linux内核之旅 Linux Kernel Travel 首页>>   2.6内核模块编程实例   走进内核   电子杂志   经验交流   Linux杂谈   新手上路   资料下载   讨论区   关于我们

Ramble Over The Cloud~ 1016

152:vue+leaflet 判断一个点是否在一个电子围栏内

本文介绍了一个基于Vue+Leaflet的示例,演示如何判断点是否在电子围栏内。作者大剑师兰特(优快云知名博主)展示了使用polygon.getBounds().contains(latlng)方法检测点与多边形边界的关系。代码仅需80行,通过点击地图触发判断逻辑,结果显示提示信息。该技术可广泛应用于地理围栏、位置服务等场景,需要安装turf依赖。文章提供了完整源码和配置说明,适合GIS开发者学习参考。

大剑师兰特的GIS世界 757

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

移植Linux内核链表

  Linux内核源码中的链表是一个双向循环链表,该链表的设计具有优秀的封装性和可扩展性。本文将从2.6.39版本内核的内核链表移植到Windows平台的visual studio2010环境中。链表的源码位于内核源码的include/linux/list.h中。移植的步骤如下:   (1)去除依赖的头文件   list.h依赖的头文件如下: #include <linux/typ...

echo_bright_的博客 1069

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux内核发布历史

从linux内核的发布历史可以从整体上对linux有个全局的了解,可以知道各个版本的特点、都有些什么样的改动,可以更好的了解和学习linux。 内核版本号 时间 内核发展史 0.00 1991.2-4 两个进程分别显示AAABBB 0.01 1991.9 第一个正式向外公布的Linux内核版本 0.02 199...

xiebingsuccess的博客 3777

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

linux 内核内核签名_24岁生日快乐,Linux内核

linux 内核内核签名 您可以相信Linux已经庆祝了24年吗? 就是在1991年8月25日这一天,年轻的莱纳斯·托瓦尔兹(Linus Torvalds)在comp.os.minix新闻组上发表了他现在的传奇人物宣布 : 大家好,您都在使用minix- 我正在为386(486)AT克隆做一个(免费)操作系统(只是一个业余爱好,不会像gnu这样大而专业)。 自4月以来一直在酝酿中,并且...

cuml0912的博客 363

Linux内核添加系统接口

linux版本:3.9.1 操作系统:unbuntu 12.04 1· 添加新接口定义。 修改文件:linux-***/arch/x86/kernel/syscall_32.c 在文件末尾追加如下代码 asmlinkage void sys_hellokernel(void) { printk(KERN_EMERG "hello kernel! i find you!"); }

suxw80then的专栏 2024

Linux内核移植与启动

Linux内核移植与启动 交叉编译器:buildroot-2012.08          Bootloader:U-boot-2010.09 Target borad:FL2440 1. Linux内核基础知识 在动手进行linux内核移植之前,我们有必要对linux内核进行一定的了解。   Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.

L_x_b的博客 4011

Linux 内核编译

Linux 内核编译

zzhen201的博客 3467

linux内核如何分lba地址,定制linux内核遇到的问题

定制linux内核遇到的问题发布时间:2010-04-29 18:47:41来源:红联作者:boxfile最近不久想实现一下,不过遇到了很多麻烦,虽然定制的内核能有,但还是有些问题,想在这请教请教:下载的内核为:2.6.33.2第一个问题:在我原来的系统下用lspci命令查看硬件时,出现 bash: lspci: command not found第二个问题:我用dmesg 命令出现以下内容...

weixin_35315373的博客 2207
上一篇: emacs 中使用etags
下一篇: emacs+etags 阅读代码
Emacx
博客等级 码龄16年 2粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值