99精品视频一区_亚洲风情第一页_国产一区二区三区四_黄色aaa大片_特级西西444www大精品视频免费看_欧美性一区二区三区_欧美日韩免费观看中文_视频在线观看国产精品_永久免费未视频

中國(guó)電商物流網(wǎng)-電子商務(wù)與物流行業(yè)融合媒體!電子商務(wù)物流行業(yè)門戶網(wǎng)站!
快遞網(wǎng)點(diǎn) 郵編查詢 行政區(qū)劃 高鐵時(shí)刻 高鐵票價(jià) 高鐵車次
貿(mào)易資訊
免費(fèi)注冊(cè) 登錄
中國(guó)電商物流網(wǎng)
企 業(yè)
產(chǎn) 品
商 務(wù)

Linux之父終于被勸動(dòng):用了30年的Linux內(nèi)核C語(yǔ)言將升級(jí)至C11

來(lái)源:中國(guó)電商物流網(wǎng)  發(fā)布時(shí)間:2022-2-28 12:8

  還在使用89年版C語(yǔ)言的Linux內(nèi)核,現(xiàn)在終于要做出改變了。

  今天,Linux開(kāi)源社區(qū)宣布,未來(lái)會(huì)把內(nèi)核C語(yǔ)言版本升級(jí)到C11,預(yù)計(jì)5.18版之后生效,也就是今年5月。

  這個(gè)決定很突然,從發(fā)起問(wèn)題到官方聲明,不過(guò)才一個(gè)星期,要知道說(shuō)服固執(zhí)的Linux之父 Linus Torvalds可不是件容易的事。

  事情的原因,說(shuō)起來(lái)還有那么一點(diǎn)偶然的因素。

  一個(gè)bug的連鎖反應(yīng)

  問(wèn)題的起源是來(lái)自上周的一次Linux社區(qū)討論。

  一位名叫Jakob Koschel的博士生,在研究阻止與內(nèi)核鏈表primitive相關(guān)的預(yù)測(cè)執(zhí)行漏洞時(shí),發(fā)現(xiàn)了這樣一個(gè)問(wèn)題。

  Linux內(nèi)核廣泛使用由struct list_head定義的雙向鏈表:

  這種結(jié)構(gòu)通常嵌入到其他結(jié)構(gòu)中。通過(guò)這種方式,可以使用任何相關(guān)的結(jié)構(gòu)類型制作鏈表。

  除此之外,內(nèi)核還提供大量可用于遍歷和操作鏈表的函數(shù)和宏。list_for_each_entry()就是其中之一,這是偽裝成一種控制結(jié)構(gòu)的宏。

  問(wèn)題就出在這個(gè)宏上。

  假設(shè)內(nèi)核包含如下結(jié)構(gòu):

  list中的元素可用于創(chuàng)建foo結(jié)構(gòu)的雙向鏈表。

  假設(shè)有一個(gè)叫做 foo_list的結(jié)構(gòu)聲明作為此類鏈表的頭,使用以下代碼可以遍歷此鏈表:

  list參數(shù)告訴宏在foo結(jié)構(gòu)中l(wèi)ist_head結(jié)構(gòu)的名稱。這個(gè)循環(huán)將為列表中的每個(gè)元素執(zhí)行一次, 迭代器指向該元素。

  由此導(dǎo)致了USB子系統(tǒng)中的一個(gè)bug:傳遞給該宏的迭代器在退出宏后還能被使用。

  這是一件危險(xiǎn)的事情,所以Koschel提交了一個(gè)修復(fù)補(bǔ)丁,在循環(huán)后停止使用迭代器搞定了bug。

  說(shuō)服Linus

  但是Linus Torvalds本人并不太喜歡這個(gè)補(bǔ)丁,也沒(méi)有看到它與預(yù)測(cè)執(zhí)行漏洞的關(guān)系。在Koschel詳細(xì)解釋后,Linus承認(rèn)這只是一個(gè)普通的bug。

  然而事情并沒(méi)有那么簡(jiǎn)單,Linus不久后意識(shí)到了真正的根源:

  傳遞給鏈表遍歷宏的迭代器,必須在循環(huán)本身之外的范圍內(nèi)聲明。

  這種非預(yù)測(cè)性bug發(fā)生的原因是,C89中沒(méi)有“在循環(huán)中聲明變量”。

  像list_for_each_entry()這樣的宏,從根本上總是將最后一個(gè)HEAD入口泄漏到循環(huán)之外,僅僅是因?yàn)槲覀儾荒茉谘h(huán)本身中聲明迭代器變量。

  如果可以編寫一個(gè)可以聲明自己的迭代器列表遍歷宏,那么迭代器在循環(huán)之外將不可見(jiàn),并且不會(huì)出現(xiàn)此類問(wèn)題。

  但是,由于內(nèi)核停留在C89標(biāo)準(zhǔn)上,因此無(wú)法在循環(huán)中聲明變量。

  Linus決定,那咱們還是升級(jí)吧,也許是時(shí)候轉(zhuǎn)向C99標(biāo)準(zhǔn)了。

  雖然它也有20多年的歷史,但至少比C89新,可以在循環(huán)中聲明變量。

  既然C89如此陳舊,這么多年還沒(méi)做出改變呢?Linus說(shuō),那是因?yàn)槲覀冊(cè)谝恍┕爬系膅cc編譯器版本中遇到了一些奇怪的問(wèn)題,不能隨便升級(jí)。

  但是,現(xiàn)在Linux內(nèi)核已將gcc的最低要求提升至5.1版,因此過(guò)去那些奇怪的bug應(yīng)該不會(huì)有了。

  而另一位核心開(kāi)發(fā)者Arnd Bergmann認(rèn)為,咱們完全可以升級(jí)到C11甚至更高版本。但如果升級(jí)到C17或C2x,會(huì)破壞對(duì)gcc-5/6/7的支持,因此升級(jí)到C11更容易實(shí)現(xiàn)。

  最終,Torvalds贊成這個(gè)想法:“好的,請(qǐng)?zhí)嵝盐遥屛覀冊(cè)?.18合并窗口的早期嘗試一下。”

  接下來(lái)遷移到C11可能會(huì)導(dǎo)致一些意想不到的bug,但如果一切順利,下一個(gè)Linus內(nèi)核版本將正式轉(zhuǎn)向C11。

  參考鏈接:

  [1]https://lwn.net/SubscriberLink/885941/01fdc39df2ecc25f/

  [2]https://news.ycombinator.com/item?id=30459634


Copyright © 2012-2025 sd56.net.cn All Rights Reserved 中國(guó)電商物流網(wǎng) 版權(quán)所有
久久精品一区二| av大大超碰在线| 26uuu亚洲综合色欧美| 51蜜桃传媒精品一区二区| 四虎永久免费观看| 4hu最新网址| 久久99热这里只有精品| 国产成人av一区二区三区| 天堂中文8资源在线8| 亚洲三级免费电影| 亚洲天堂av一区二区三区| 秋霞在线视频| 国产丝袜一区二区三区| 九九九在线观看| 免费成人av| 国产精品美女主播在线观看纯欲| 国产美女三级无套内谢| 综合国产精品| 亚洲自拍欧美色图| 黄色av免费看| 精品免费在线观看| 亚洲一区二区乱码| 久久6免费视频| 性欧美video高清bbw| 欧美三级日韩三级国产三级| 国产三级视频网站| **爰片久久毛片| 国产精品一区二区三区免费视频 | 午夜少妇久久久久久久久| 国内毛片久久| 亚洲夜间福利| 久久久人成影片一区二区三区观看| 任我爽在线视频| 亚洲大片精品免费| 一区中文字幕在线观看| vam成人资源在线观看| 国产成人亚洲欧美| 一个人看的www一区| 日韩精品在线免费观看视频| 中文在线字幕免费观| 一区二区三区欧美在线观看| 国产特级黄色录像| 91精品99| 午夜激情福利在线| 加勒比色综合久久久久久久久| 成人免费自拍视频| 国产精品免费观看| 一区二区三区无码高清视频| 色图欧美色图| 亚洲国产精品影院| 欧美毛片在线观看| 国产精品18久久久久久久久| 逼特逼视频在线观看| 日韩片欧美片| 一区二区xxx| 91亚洲一区| 亚洲va综合va国产va中文| 精品三级av在线导航| 国产高潮呻吟久久久| 亚洲伊人伊成久久人综合网| 日韩av电影免费观看| 中文字幕一区二区人妻视频| 久久久成人网| 91国偷自产一区二区三区观看| 美国黄色a级片| 日韩午夜免费视频| 亚洲AV无码久久精品国产一区| 中文字幕成人av| 青青草免费观看免费视频在线| 91一区二区| 亚洲欧美日韩精品在线| 秋霞电影网一区二区| 国产精品福利视频| 精品一区二区三区久久久| 风流老熟女一区二区三区| 精品亚洲国产成av人片传媒| 午夜伦理福利在线| 最新日韩免费视频| 久久久成人精品| 正在播放日韩欧美一页| 午夜av免费在线观看| 成人福利在线观看| 国产精品对白| 在线观看国产区| 97超级碰碰人国产在线观看| 青青草成人在线观看| 欧美一区二区三区在线观看免费| 国产亚洲精品女人久久久久久| 国产精品资源站在线| 蜜桃91在线| 欧美一区二区三区成人精品| 99久久香蕉| 国产麻豆综合视频在线观看| 精人妻一区二区三区| 久久久久成人网| 日韩理论片一区二区| 红杏aⅴ成人免费视频| 国产女优裸体网站| 日韩乱码一区二区三区| 91网站在线观看免费| 亚洲另类激情图| 一级毛片免费高清中文字幕久久网| 亚洲成人国产综合| 伊人久久大香线蕉av一区| 久久久久久一级片| 午夜裸体女人视频网站在线观看| 国产精品毛片久久久久久久av| 欧美在线视频第一页| 欧美日韩免费视频| 在线欧美不卡| 久久爱www.| 在线观看免费小视频| 青青青国产精品一区二区| 亚洲欧美日韩小说| 蜜桃视频一区二区| 重囗味另类老妇506070| 三上悠亚一区二区| www.男人的天堂| 8x8x拔插拔插影库永久免费| 日韩乱码一区二区三区| 无遮挡亚洲一区| 日韩av在线播放资源| 欧美日韩一区在线| 国产美女在线观看一区| 性色av一区二区| 亚洲av中文无码乱人伦在线视色| 欧美黄色免费网址| 欧美一级片久久久久久久| 偷拍日韩校园综合在线| 亚洲欧美日韩精品一区二区| av网在线观看| 性欧美69式xxxxx| 醉酒壮男gay强迫野外xx| 亚洲国产欧美不卡在线观看 | 在线天堂资源www在线污| 国产成人无码精品久在线观看| 国产精品亚洲精品| 日本一区二区不卡视频| 一区中文字幕| 嫩草影院发布页| 最新av在线网站| 在线观看黄av| 欧美精品videos另类| 亚洲美女在线免费观看| 国产真实乱全部视频| youjizz在线视频| 国产精品探花在线播放| 日本不卡二区高清三区| 亚洲欧洲一区二区福利| 99三级在线| 欧美激情欧美激情| 久久国际精品| 亚洲精品天堂| 国产亚洲精品拍拍拍拍拍| 精品欧美一区二区三区免费观看| 国产日韩欧美精品在线观看| 国产91九色视频| 欧美一级久久久| 一区二区国产视频| 久久xxxx| 日本亚洲不卡| 免费av一区二区三区四区| 在线精品亚洲欧美日韩国产| 色av手机在线| 麻豆精品蜜桃| 欧美天堂一区| 成人午夜在线影视| 精品日本视频| 欧美日本三级| 波多野结衣亚洲| 欧美香蕉视频| 超碰公开在线| 国产精品天堂蜜av在线播放| 日本无删减在线| 欧美另类老肥妇| 欧美日韩尤物久久| 天堂中文在线网| 精品伦一区二区三区| 特级西西人体4444xxxx| 色欲AV无码精品一区二区久久| 日本亚洲一区二区三区| 两女双腿交缠激烈磨豆腐| 一本在线免费视频| 韩国三级丰满少妇高潮| 伦伦影院午夜理论片| 日韩av自拍偷拍| 九九视频精品在线观看| 成年人免费大片| 日本一区二区免费高清视频| 国产精品一区二区三区不卡| 亚洲直播在线一区| 亚洲最大成人在线| 国产一区精品在线| 久久riav二区三区| 国产麻豆日韩| 国产在线一区二| 国产精彩免费视频| 亚洲一二三四视频| 老熟妇一区二区三区| 99久久久久久久|