新增3.2万行代码,linux内核有望在2022年正式支持rust

不叫月红 不叫月红     2022-11-29     397

关键词:

12月6日,Linux基金会正式发布2021年度报告,在报告中有这么一行字格外“傲慢”:“现在这个世界上,没有人能够在缺少Linux支持的环境下度过一天。”细想,在万物互联的互联网时代,Linux的确无处不在地运行着。

在Linux操作系统之上,C语言一直是Linux的主导语言,然而俗话说的好,十年河东,十年河西,在编程语言战场,Rust正在悄然兴起,并深受一线大厂们的青睐。

那Rust为何会如此受宠,最大的原因莫过于其安全性。一直以来,微软、谷歌等大厂深受内存安全困扰,Linux内核漏洞也无法避之,而Rust恰好可以解决这方面困扰,并且能成为某个操作系统的支持语言,也一直是Rust的重要目标。为此,有关Rust取代C语言进入Linux内核的讨论悄然兴起。

  • 在2019年7月,微软表示Rust是C和C++的最佳替代方案;
  • 同年9月,Linux内核稳定版维护者Greg Kroah-Hartman表示可以接受用Rust开发Linux内核驱动程序;
  • 2020年3月,苹果表示将C代码移植到Rust上;
  • 2020年7月9日,Linux Plumbers 会议前(8月举办),Linux内核开发者开始认真讨论在内核中使用Rust的想法;
  • 2020年7月10日,Linux之父Linus回复Rust for Linux讨论:默认情况下可以启动支持,并表示Rust可以首先应用到驱动程序;
  • 2020年8月31日,Rust语言团队的联合领导者和长期Linux内核开发人员就Rust入驻Linux进行深入探讨,并表示:Linux内核不会用Rust重写,Rust将应用在Linux新代码上;
  • 2021年6月,谷歌强推Rust进驻Linux内核,与Rust for Linux项目的主要开发者兼Linux内核开发者Miguel Ojeda签订合同;
  • 2021年7月4日,Linux内核团队发布添加Rust支持的“v1”补丁;
  • 2021年12月6日,Linux内核团队发布支持Rust 的“v2”补丁。

据phoronix报道,到2022年,开发者有望看到Linux内核正式支持Rust。在12月6日发布的更新补丁中已经看到了Linux在基础实施方面对Rust的初步支持。Rust for Linux项目的主要开发者兼Linux内核开发者Miguel Ojeda发布了支持Rust的“v2”补丁。

由更新的软件包可知,目前Rust代码主要构建于Rust的稳定版本,而非之前beta版下的编译状态。此外还增加新的模块化选项,更严格的代码执行,启用了额外的Rust编译器诊断功能,为在内核上使用提供了新的抽象,促进了其他低级别的代码改进。

更新后的Linux内核对Rust支持部分的新增代码约有32000行代码,涵盖了文档、Rust示例代码和相关基础实施代码。最新补丁可以在LKML上查找,大家可以前往审查与讨论。

自从Linus同意后,Linux内核开发团队越来越多的小伙伴加入对Rust for Linux行列,Rust加入后也带来了诸多优势,比如可以降低内核贡献门槛,提供更多地内存安全保护等。与此同时,红帽与Arm、谷歌和微软也积极加入支持行列。

参考链接:

  • https://www.phoronix.com/scan.php?page=news_item&px=Rust-Independence-Linux-Kernel

  • https://www.phoronix.com/scan.php?page=news_item&px=Rust-For-Linux-v2

内核笔记2022回顾-2023规划(代码片段)

...c;订阅量突破2100个订阅2022年浏览量破190万2022年粉丝破1万新增了🚀RK3588Android12开发入门到精通专栏优化了🚀RK3568Android11从入门到实战项目专栏优化了🚀高通平台开发入门到精通专栏2022年获得的CSDN勋章:2022年新... 查看详情

需要多久才能看完linux内核源码?

...。2020年1月1日,Linux内核Git源码树中的代码达到了2780万行。phoronix网站统计了Linux内核在进入2020年时的一些源码数据并作了总结。从统计数据来看,Linux内核源码树共有:27852148行(包括文档、Kconfig文件、树中的用户空... 查看详情

linux内核c语言将升级(代码片段)

...同时依赖着一些非常古老的工具,其中之一就是内核代码仍在使用1989年版本的C语言标准——此标准在30多年前内核项目启动之前就已经编写完成。从讨论结果来看,这一情况有望在5.18版本内核中改变。JakobKoschel在向L 查看详情

在linux5.15中有望看到memoryfolios的应用

...%。就目前看来,用户或许有希望在Linux5.15中看到此类代码的应用。MemoryFolios为Linux内核提供了一 查看详情

为了忘却的纪念——2022linux内核十大技术革新功能|年终盘点

...并存的一年。在本篇文章中,长期奋斗在一线的Linux内核开发者、经典书籍《Linux设备驱动开发详解》作者宋宝华老师为大家解剖2022年Linux内核开发的十大革新技术功能ÿ 查看详情

cve-2022-0847linux内核提权漏洞分析(代码片段)

文章目录前言漏洞复现1.1文件覆写poc/exp1.2覆写/etc/passwd漏洞分析2.1Linux管道机制2.2splice系统调用2.3漏洞利用流程总结前言2022年2月23日,Linux内核发布漏洞补丁,修复了内核5.8及之后版本存在的任意文件覆盖的漏洞(CVE-2022-08... 查看详情

cve-2022-0847linux内核提权漏洞分析(代码片段)

文章目录前言漏洞复现1.1文件覆写poc/exp1.2覆写/etc/passwd漏洞分析2.1Linux管道机制2.2splice系统调用2.3漏洞利用流程总结前言2022年2月23日,Linux内核发布漏洞补丁,修复了内核5.8及之后版本存在的任意文件覆盖的漏洞(CVE-2022-08... 查看详情

cve-2022-0847linux内核提权漏洞分析(代码片段)

文章目录前言漏洞复现1.1文件覆写poc/exp1.2覆写/etc/passwd漏洞分析2.1Linux管道机制2.2splice系统调用2.3漏洞利用流程总结前言2022年2月23日,Linux内核发布漏洞补丁,修复了内核5.8及之后版本存在的任意文件覆盖的漏洞(CVE-2022-08... 查看详情

内核笔记2022回顾-2023规划(代码片段)

文章目录一、2022博客总结二、2023博客规划三、改进沉淀、分享、成长,让自己和他人都能有所收获!😄一、2022博客总结2022年重点优化了🚀RK3399平台开发入门到精通系列专栏,订阅量突破2100个订阅2022年浏览... 查看详情

内核笔记2022回顾-2023规划(代码片段)

文章目录一、2022博客总结二、2023博客规划三、改进沉淀、分享、成长,让自己和他人都能有所收获!😄一、2022博客总结2022年重点优化了🚀RK3399平台开发入门到精通系列专栏,订阅量突破2100个订阅2022年浏览... 查看详情

linux新增开机启动脚本(代码片段)

Linux新增开机启动脚本1、说明2、环境说明3、操作3.1增加开机脚本3.2将脚本添加到开机服务3.3效果查看3.4卸载方法4延伸说明4.1自启动脚本都有哪些1、说明在linux环境下,新增开机自启动脚本2、环境说明硬件环境:NVIDIA开... 查看详情

linux0.11+bochs环境搭建和使用(代码片段)

...统的实现方法和手段。目前的Linux内核源代码量都在几百万行的数量上,2.6.0版内核代码行数约为592万行,而最近的4.20版内核代码行数已超过2500万行。所以对这些版本进行阅读几乎不可能。而0.11版内核不超过2万行代码量... 查看详情

linux学习笔记2022-11-12---------linux基础(代码片段)

目录1.用户类型2.终端terminal2.1终端类型2.2查看当前的终端设备3.交互式接口3.1交互式接口类型3.2什么是shell3.3Shell是如何连接用户和内核的?3.4Shell还能连接其它程序3.5Shell也支持编程3.6Shell是一种脚本语言4.修改主机名5.命令提... 查看详情

云原生容器场景下的内核安全(代码片段)

...008~2019年的内核代码的数量,然后到2019年已经超过2300万行,现在我们的最新统计数据是将近2800万行代码。另一方面如果我 查看详情

在linux中产生一个系统调用以及怎样通过往linux内核中增加一个新函数从而在该内核

若要在 kernel 里面新增加一个自己的 sys call,大致需要这么几个步骤:a,新增自己 sys call 的代码,并修改相应 makefile;b,修改相应头文件,分配自己的系统调用号;c,系统调用通过中断加查表的... 查看详情

linux6.1发布,微软贡献linux内核代码

...区Linux这几年发展之迅速,就连微软都在贡献Linux内核代码了。Linux6.1内核正式发布LinusTorvalds宣布Linux6.1内核系列正式发布!Linux6.1内核系列集成了改进的页面回收代码的多代LRU(MGLRU)、初始的Rust语言支持(仍在构建中&#... 查看详情

linux6.1发布,微软贡献linux内核代码

...区Linux这几年发展之迅速,就连微软都在贡献Linux内核代码了。Linux6.1内核正式发布LinusTorvalds宣布Linux6.1内核系列正式发布!Linux6.1内核系列集成了改进的页面回收代码的多代LRU(MGLRU)、初始的Rust语言支持(仍在构建中&#... 查看详情

截至 2021 年 5.4+ 主线 Linux 内核中的 bpfilter 状态

】截至2021年5.4+主线Linux内核中的bpfilter状态【英文标题】:bpfilterstatusin5.4+mainlineLinuxkernelasof2021【发布时间】:2021-10-2013:14:59【问题描述】:截至2021年5.4+主线Linux内核中bpfilter的状态如何?如果是这样,我将如何在Ubuntu20.04上启... 查看详情