タグ

ブックマーク / cpplover.blogspot.com (8)

  • Linus Torvalds様、ユーザースペースの互換性を壊した開発者に強い態度をお示しになる

    Linuxカーネル4.18から、userns mountに対して暗黙にSB_I_NODEVを設定するようになったために、既存のsystemdのnspawn実装が壊れた。 以下が問題のパッチだ。 https://github.com/torvalds/linux/commit/55956b59df336f6738da916dbb520b6e37df9fbd Linuxカーネルにおいては、ユーザースペースの挙動は変えないという強い下位互換保障がある。以前のバージョンのカーネルで動いていたユーザースペースのコードが新しいバージョンのカーネルで動かなくなった場合、それは理由が何であれ新しいバージョンのカーネルのバグであるとみなされる。たとえそれが、ドキュメント化していない明示的に保証されているわけではない昔のカーネルの暗黙の挙動であれ、その挙動に依存している既存のユーザースペースのコードがあるので

    hfmgarden
    hfmgarden 2018/12/25
  • Multipath TCPについて

    Multipath TCPとは、複数の経路を扱うためのTCP拡張である。実は、以前、の虫: MultiPath TCPのLinuxカーネル実装という記事で、その実装デモを紹介している。 従来のTCPは、IPとの分離ができない。TCPヘッダーの中には、ひとつのIPアドレスとポートがある。経路ごとにIPアドレスが割り振られるので、経路を変えるには、別のTCPコネクションを貼り直さなければならない。 しかし、複数の通信経路を持つという環境は、もはや珍しいものでも何でもなくなっている。たとえば、多くのラップトップにはEthernetとWiFiの二つの経路があるし、スマートフォンにも、WiFiと3G/4Gという複数の経路がある。特にスマートフォンの場合、経路が使えるかどうかが頻繁に切り替わる。 過去に、TCPで複数のIPアドレスを扱う拡張はいくつも出されたが、いずれも、IPアドレスを隠すという点で

  • MultiPath TCPのLinuxカーネル実装

    MultiPath TCP - Linux Kernel implementation : Main - Home Page browse 複数のIPアドレス、インターフェースをまとめてひとつにして扱えるTCP、MultiPath TCPのLinuxカーネルによる実装だそうだ。これにより、完全に別系統のネットワークをまとめて使うことができ、スループットと冗長性の向上が図れる。 デモでは、イーサネットとWifiと3GをひとまとめにしたMPTCP上にsshセッションでXを通している。冗長性があるので、複数のインターフェースの一部が切断されても、Xは問題なく使える。 FreeBSDでMultiPath TCPを実装するパッチもあるそうだ。 mptcp このWebサイトは、Hacker Newsからリンクされたことにより、一時期閲覧者の増加により閲覧困難な状況に陥ったそうだ。「このサイトにもMul

    MultiPath TCPのLinuxカーネル実装
  • コンピューター科学のアカデミック業界の残念な現状

    mhoye on Twitter: "Extremely angry with the state of academic CS research right now. (1/n)" MozillaでFirefoxのエンジニアリングコミュニティマネージャーであるMike Hoyeが、コンピューター科学におけるアカデミック研究の残念な現状に激怒している。 コンピューター科学のアカデミック研究の現状に激怒している。 MozillaがBugzillaを始めとした多数の情報を公開した結果として、多くの研究論文が書かれている。 我々はそのような研究には注目している。論文はじっくり読んでいるし、研究結果にしたがって今後の方向性も決めている。 しかし、我々は常に変化する世界に生きている。そのため、我々はデータをもとに結果を再検証して、仮定が正しいことを確認する。 ここで我々が行いたいことは、我々はある意

    hfmgarden
    hfmgarden 2016/05/03
  • Grub2の認証でバックスペースを28回押すとレスキューコンソールに入れる脆弱性が発見された

    Back to 28: Grub2 Authentication Bypass 0-Day Grub2のバージョン1.98(2009年12月)から、2.02(2015年12月)までにおいて、脆弱性が発見された。 脆弱性はGrub2の認証機能を使っていた場合に、ユーザー名を入力すべきところで、バックスペースを28回入力すると、レスキューコンソールに入れてしまうものだ。これにより、コンピューターに物理アクセスを得ている人間が、Grub2の強力なレスキューコンソール機能を使うことができる。 脆弱性の原因も詳しく書かれていて興味深い。grub2のコードでは、'\b'が入力されるたびに、unsigned型の変数をデクリメントする。この時、アンダーフローをチェックしていない。その変数は配列の添字に渡されて、ゼロが書き込まれる。 結果として、関数のreturn addressを0x0にすることができ、関

    hfmgarden
    hfmgarden 2015/12/17
  • 非同期入出力の残念な現状

    asynchronous disk I/O | libtorrent blog Libtorrent experience - the poor state of async disk IO | Hacker News libtorrentの作者が、ディスクI/Oをパフォーマンスを向上させるために非同期I/Oを試した結果、どの環境でも残念なので、ブロックI/Oをスレッドプールで行う擬似非同期I/Oで実装したとブログを書いている。その問題について、Hacker Newsでも議論されている。 非同期I/Oは、話を聞くとたのもしい機能に思える。読み書きが完了するまでブロックせずに、完了したらOSが通知するという仕組みだ。 問題は、その実装がどの環境でも貧弱だという事だ。 環境というのは、主にOS側のことだ。多くのモダンなOSは非同期I/Oを提供している。特に著名なのがみっつある。 Linux A

    hfmgarden
    hfmgarden 2015/09/08
  • 500マイル以上離れた場所にメールが送れないのだが

    http://web.mit.edu/jemorris/humor/500-miles From: Trey Harris <trey@sage.org> 今から私が書く話は、起こりようのない問題についてだ。この話を広く一般に公開してしまうのは惜しい。というのも、いい酒の話のネタになるからだ。この物語は、退屈な詳細や問題を隠すために、多少事実を変えていて、物語を面白く脚色している。 数年前、私はキャンパスのメールシステムを保守する仕事をしていて、統計学部の学部長から電話を受けた。 「大学の外にメールを送るのに不具合が発生しているのだが」 「どんな問題でしょう?」と私はたずねた。 「500マイル以上メールを送れないのだよ」と学部長は説明した。 私はラテを吹き出した。「何だって?」 「ここから500マイル以上離れた場所にメールを送信できないのだよ」と学部長は繰り返した。「実際は、もう少しあるの

    hfmgarden
    hfmgarden 2015/04/09
  • Gentooを最速でブートせよ

    Patrick's playground: October 2013 Archives KVM上のVMで、Gentooをひたすら短時間でブートして、haltさせる試み。 BOOTING FAST(ER) (より)高速に起動 日、筆者は積年の疑問を解決すべく遊んだ。どのくらい速く、KVM上のVMでブートして、haltできるのか。 そこで、この実験のため、CPUの速度を最低の1.4GHzにした。そうでなければ面白くないだろう。目標は、KVMのVM上のGentoo/amd64を、十分に短い時間でブートして、haltすることだ。 rootファイルシステムはsquashfsにした。最初に行った1GBのext4ファイルシステム vs squashfsでは、fsck+mountというありがた迷惑のため、5秒の差がでたからだ。うへぇ。stage3を展開し、いくつか設定をして(デバッグのためにログインした

    hfmgarden
    hfmgarden 2015/03/08
  • 1