Closed3

io_uring

Kota UENISHIKota UENISHI

承前(下のほうに io_uring(7) の話があるのでそこからの続き

https://zenn.dev/kuenishi/scraps/eb757a9d59b4c7

そもそも使って大丈夫だったんだっけ?

2023年春、Googleが io_uring の使用を制限したことを発端に(発端はCVEだけど)ヤベェという噂が広まった

https://www.phoronix.com/news/Google-Restricting-IO_uring

https://news.ycombinator.com/item?id=39416981

https://ubuntu.com/security/CVE-2023-1872

Containerd も seccomp でデフォルトではブロック
https://github.com/containerd/containerd/issues/9048

Bun もやめたらしい
https://blog.akiym.com/entry/2023/12/10/225355

ところが噂がたって1年くらいでその後どうなったのか全然わからない

せいぜい見つかったのはliburingのDiscussionにあるこの記事 (Feb 2024) くらい

https://github.com/axboe/liburing/discussions/1047

要点は

  • ちょっと前はCVEいくつか出ててだいぶ修正されたけど風評は残ってるんだよね、どうしたらいい?
  • そもそもGoogleやAndroidは古いカーネルをつかってて async offload に問題があったときの話なんだよね
  • 今はスレッドモデル変わってて kthread 使わなくしたので大丈夫だよ。もう大丈夫
  • Metaの本番(主にストレージだけど)で使ってるしネットワークまわりも今テストしててもうすぐ投入だよ

沈静化して問題も出てないし、CVEが出続けてるわけでもなさそう。もう使ってもよさそうな感じがする

Kota UENISHIKota UENISHI

わかりやすそうな解説いくつか

https://qiita.com/tmsn/items/0b9e5f84f9fbc56c1c82
https://keens.github.io/blog/2021/02/08/io_uringdekousokuioshori___/

liburing 作者のNetworkingでの使い方
https://github.com/axboe/liburing/wiki/io_uring-and-networking-in-2023

DockerのseccompとBunがどうなったかは知りたい気もするな

Bunのepollに戻しましたの話
https://github.com/oven-sh/bun/pull/7470

解説じゃないけどawesomeリンク集
https://github.com/espoal/awesome-iouring

Networkingのはなし
https://github.com/axboe/liburing/wiki/io_uring-and-networking-in-2023

その他議論

Goの標準ライブラリに入ったり epoll 置き換えたりしない?みたいな議論
https://github.com/golang/go/issues/31908#issuecomment-2289030063

このスクラップは4日前にクローズされました