Linux Plumbers 2018 livepatchとTesting and fuzzing トラックレポート
サイバートラストの組込技術部に所属しており、Gentoo の Kernel Project Leader もしている 18 年度新卒が、11 月 12~16 日の間にバンクーバーにいき、Linux Plumbers Conference と Linux Kernel Summit 2018 に参加しました。カンファレンスの参加の様子をレポートしています。
こんにちは、
第二組込技術部に所属している、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