Redian新闻
>
Linus亲自修改英特尔的“屎山”代码

Linus亲自修改英特尔的“屎山”代码

公众号新闻
出品 | OSC开源社区(ID:oschina2013)
去年年底英特尔将 LAM(Linear Address Masking :线性地址掩码) 功能提交到 Linux 6.2 的合并窗口,但该功能受到 Linus 的批评并拒绝合并。在经历了一段时间的代码改进后,Linus 终于同意将 LAM 代码合并到 Linux 6.4 窗口。
但 Linus 似乎仍对英特尔工程师提交的代码不太满意,在合并了 LAM 代码后,先是写了一个使 access_ok () 独立于 LAM 的新补丁,而后又亲手写了多个补丁对 LAM 代码进行了优化。
在最新提交的 LAM 优化补丁中,Linus 解释了自己的动机:
我对此版本中的 LAM(“线性地址掩码”)的 “access_ok ()” 的完成方式感到很不爽,而且它实际上也有一些小 Bug ,所以我动手清理了代码。
改动主要集中在以下几方面:
  • 使用 __user 指针的符号位而不是屏蔽地址,并根据 TASK_SIZE 范围检查它。  get/put_user () 端做了这部分,但是 'access_ok ()' 做了天真的 “掩码和范围检查”,它不仅生成多余的代码,还意味着 __access_ok 本身的任务做得不好, copy_from_user_nmi () 没有得到正确的检查。

  • 将所有 64 位代码仅移动到 64 位版本的头文件中,这样就不会污染共享的 x86 代码,也不会误导用户 LAM 可以在 32 位环境中工作。

  • 修复地址掩码中的 Bug(这不重要,只是完全删除了错误的代码)。

  • 几个简单的清理,并添加了关于 access_ok () 规则的注释。

Linus 重新编写了约一百行代码来清理 LAM ,这意味着如果测试没问题, 就可以在 Linux 6.4 中顺利启用 LAM 功能不过这次 Linus 竟然亲自动手为英特尔工程师修改 “有瑕疵的代码”,这种情况相当少见。

相关链接:

  • https://lore.kernel.org/lkml/[email protected]ail.com/

  • https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d5ed10bb80bb376501cb56015a47457647efaabf

往期推荐



Safari险胜Edge,全球第二
Windows 11默认文件系统将由ReFS取代NTFS

首个中文医学知识LLM:真正的赛华佗—华驼(HuaTuo)



🌟 活动推荐

2023 年 5 月 27-28 日,GOTC 2023 全球开源技术峰会将在上海张江科学会堂隆重举行。
为期 2 天的开源行业盛会,将以行业展览、主题发言、特别论坛、分论坛、快闪演讲的形式来诠释此次大会主题 ——“Open Source, Into the Future”。与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及 OSPO、汽车软件、AIGC、开源教育培训、云原生、信创等热门话题,探讨开源未来,助力开源发展。
长按识别下方二维码立即查看 GOTC 2023 详情/报名。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
开发者使用GPT-4创建 “金刚狼”,实现自修复bugLinus 亲自修改英特尔的“屎山”代码避免英特尔的 AVX-512 指令集问题,AMD 要走属于自己的“大小核”CPU 道路修改几行代码就让 LLM 应用提速 100 多倍!这个团队两周搭建 ChatGPT 缓存层,曾被老黄 OpenAI 点赞实验室研发的“新型管道开塞露”,再也不怕“屎包老公”把马桶拉堵!国产山寨平板能活到现在,都得感谢英特尔的“大撒币”干掉 30 年祖传「屎山」代码,微软重写 Windows!干掉 30 年“屎山”代码!微软用 Rust 重写 Windows 核心库开启 eBPF 魔法,零代码修改实现可观测性美国一小学发生枪击事件、​日本将修改小学教材、深圳大学生用代码养鹅等丨今日天下一坛老酒醉清风 (ZT)戈登摩尔离世,他的“摩尔定律”还能助英特尔重返巅峰吗?国产山寨平板能活到现在,都得感谢英特尔的“大撒币”。浪漫的故事,使一首歌曲《月亮河》成为经典Capital One -> EY 最高 30% Bonus, Chase UR -> AF 25% Bonus中文名“Xinyuan” 改英文名“Sage”后,歧视少了?华裔女孩说→英特尔的代工豪赌,或三分天下Linus 亲自修改英特尔的 “屎山” 代码。。。Agustín Hernández:中美洲建筑背景下的未来主义巨构Linus亲自改进Linux用户模式堆栈扩展GitHub Copilot骚操作:“清洗”代码,规避侵权“偷”代码建起公司、学历造假、6天拿下1亿美元却拖欠工资,这位AI独角兽CEO屡遭质疑后亲自回应了修改几行代码就让LLM应用提速100多倍!这个团队两周搭建ChatGPT缓存层,曾被老黄OpenAI点赞英特尔处理器命名彻底改变 将正式淘汰酷睿i7中的“i”英特尔上架新款 NUC X15 笔记本:搭载锐炫 A730M / 12G 大显存,4999 元山东“历史事件”探究之五突发!!李开复宣布亲自筹组Project AI2.0,亲自任CEO,和GPT-4,文心一言正面对垒,全球广招顶级人才。。。转点奖励活动汇总:Amex MR -> AF 25% Bonus, Amex MR -> AV 15% Bonus奋斗半辈子,结果老了Linus的独特放松方式:写汇编代码这两种饮食可能会降低患老年痴呆症的风险 -满德(MIND) 和地中海饮食与大脑健康有关英特尔竞技场峡谷 NUC 迷你主机上架:i5-1340P 准系统 3699 元记者手札 | 英特尔的变与不变十年“屎山”终重构,但 QQ选用了微软 Teams 放弃的 Electron1个爱马仕要10万!美国男子用60hrs亲手自制,女友乐翻
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。