Linux Plumbers 2018 livepatchとTesting and fuzzing トラックレポート
こんにちは、
第二組込技術部に所属している、Aliceです。Gentoo の Kernel Project Leader をしています。
11月12~16日の間にバンクーバーにいきました。そこでLinux Plumbers Conference や Linux Kernel Summit 2018が開催されました。
Linux Plumbersは普通のカンファレンスと違い、ディスカッションのかたちで行うカンファレンスです。
Kernel Summitはカーネルcore developer向けのカンファレンスです。
私は両方のカンファレンスでプレゼンテーションを行いました。
Vancouver
まず、バンクーバーに行くために準備をしました。
飛行機のチケットをインターネットで買って、AirBnBのアパートを予約しました。
バンクーバーに行った事がなかったので準備をするのが不安でした。
11月ですがバンクーバーは予想以上に寒かったです。
電車でバンクーバーに行って、Linux Plumbersの受付確認をしました。
次の日はLinux Plumbersが始まる日なので、Vancouver Lookout harbur centerに行きました。
Vancouver Lookout harbur centerからの景色
Testing and Fuzzing
Testing and Fuzzingトラックは初めて参加したマイクロカンファレンスでした。
Linux Plumbersはプレゼンテーションよりディスカッションが重要です。
初めにKevin HilmanさんからATSのレポートがありました。
ATSでは組込み自動テストについてELCEで行った、テストオープンスタンダードのディスカッションがありました。
KernelCIについてはauto bisectionを使う事についての話い合いがありました。
Make runchecksカーネルテストのための総合スクリプトです。
最近話題になってsyzkallerとsyzbotのディスカッションがありました。
ユーザスペースでカーネルテストについてのディスカッションがありました。
最後のディスカッションはsmatchについてでした。smatch[1]はcのスタティック分析ソフトです。
Live Patching
私が投稿したディスカッションはLive Patchingのトラックでした。
Nicolaiさんが新しいlive patch作成ツールについて話しました。
カーネルのUpstreamツールはまだいません。
まだearly stageなのでわからないようです。
次のディスカッションはlive Patchingに影響するGCCの最適化についてでした。
Live Patchingの環境にはGCCのoptimizationは危険なので無効にするべきというディスカッションでした。パフォーマンスについてはSuSeが確認して、リグレッションがないことがわかったようです。
Livepatch callback state managementのAPI作成についての話いもありました。
livepatchにステータスIDを与える事の話し合いでした。
Live patchがカーネルに入ってるのステータスが必要です。得に特別のケースのステータスは重要になります。
Userspace livepatching
Suseがlibpulp[2]を作ってます。Libpulpはuser space libraryのためのlive patchソフトウェアです。インプリメンテーションはカーネルのlive patchとちょっと似てますので面白いです。
カーネルとofftopicになってるちょっと感じました。
Livepatch stable trees
Akamaiがstable treeのsecurity やfixesなどをlivepatchを利用してます。
AkamaiがLTSのofficialのlivepatchが欲しいです。
LTSのためにlivepatchリポジトリを作るために結構な(作業が必要です。)手前が掛かります。
自動で作らないといけないですが最後にレビューは必要らしいです。
ElivepatchとKpatchを協力するをおすすめされました。
Greg KHは興味を持ってます。
Elivepatch
私が作ったのElivepatchは様々なカーネルの設定を対応できるのユーザスペースビルドシステムです。
フィードバックは沢山ありました。
GCCのバージョンのデータを送ってlive patchを同じGCCで作ります。
最後のディスカッションは様々のarchitectureのためにs390xやarm64やppc64などをobjtoolをportingする必要です。
Linux Plumbersはとても面白かったです。
様々のフィードバックをもらいましたのですごく良かったです。
GentooのディナーとLinux Plumbersディナーにも参加しました。
今度のLinux Plumbers 2019 は Lisbon, Portugalで
行くのは楽しみにしています
See you there.
[1] http://smatch.sourceforge.net/
[2] https://github.com/SUSE/libpulp