Libseccomp: RFE:RISC-Vサポートを追加

作成日 2018年02月20日  ·  28コメント  ·  ソース: seccomp/libseccomp

@rwmjonesから:

RISC-Vは、2010年からUCBで開発されたオープンソースの無料ISAです(https://riscv.org/)。

カーネルサポートが実施される前にlibseccompサポートを追加した#50の@rwmjonesからの古いPRが1つあります(2016年秋)。

カーネルサポートはまだ不明ですが(2018年2月)、libseccompサポートを追加する#108の@Icenowyからのより最近のPRがあります。

この問題は、PR全体のメモと進捗状況を追跡することを目的としています。

enhancement prioritlow

最も参考になるコメント

「[GITPULL] v5.5-rc1のseccompアップデートもマージされるまで待ちます。 そこに1つの小さなRISC-Vパッチがあります。

全てのコメント28件

@pcmooreカーネルサポートは4.15.0のアップストリームです。 (起動にはさらに多くのドライバーが必要です。4.17で期待されていますが、4.15には完全なuapiがあります)

@sorear上記のようなことについては、他のPRで一度だけコメントしても大丈夫だと思います。

...そして私の将来の自己のために、v4.16-rc2 +がRISC-Vに必要なHAVE_ARCH_SECCOMP_FILTERサポートを持っているようには見えません。

クイックアップデート、カーネルサポートはまだLinusのツリーにありません:

# grep "HAVE_ARCH_SECCOMP_FILTER" $(find arch/*/  -type f)
arch/arm/Kconfig:       select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
arch/arm/kernel/ptrace.c:#ifdef CONFIG_HAVE_ARCH_SECCOMP_FILTER
arch/arm64/Kconfig:     select HAVE_ARCH_SECCOMP_FILTER
arch/mips/Kconfig:      select HAVE_ARCH_SECCOMP_FILTER
arch/parisc/Kconfig:    select HAVE_ARCH_SECCOMP_FILTER
arch/powerpc/Kconfig:   select HAVE_ARCH_SECCOMP_FILTER
arch/s390/Kconfig:      select HAVE_ARCH_SECCOMP_FILTER
arch/um/Kconfig.common: select HAVE_ARCH_SECCOMP_FILTER
arch/x86/Kconfig:       select HAVE_ARCH_SECCOMP_FILTER

プロトタイプコミットを開発risc-vカーネルブランチにプッシュしました: https

ただし、テスト方法はよくわかりません。

こんにちは@terpstra

@kees取り合っていない場合は、カーネルでseccompコードを管理しているので、彼と話したいと思うかもしれません。 テストに関する限り、libseccompには、カーネルでseccompコードを実行するいくつかの「ライブ」テスト(cd tests; ./regression -T live)あります。 カーネルソースにはsamples / seccompもありますが、直接の経験はありません。

openSUSEには3番目のパッチがあると思います: https ://build.opensuse.org/package/view_file/openSUSE

しかし、 __NR_riscv_flush_icache

最新のlibseccompPR: https

こんにちは@terpstra 、パッチhttps://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020をメインラインカーネルにマージしましたか? そのためのタイムラインに関するアイデアはありますか? たぶん@ palmer-dabbeltがこれを手伝ってくれるでしょう。

U540用に書いたすべてのLinuxドライバーをPaulにオフロードしました
とパーマー。 私はもはやアップストリームのループに入っていません。

12:53カルロス・エドゥアルドの水、2019年6月5日には[email protected]
書きました:

こんにちは@terpstrahttps ://github.com/terpstra 、パッチを持ってい
riscv / riscv-linux @ 0712587
https://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020
メインラインカーネルにマージされましたか? そのためのタイムラインに関するアイデアはありますか? 多分
@ palmer-dabbelthttps ://github.com/palmer-dabbeltがこれを支援します。


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/seccomp/libseccomp/issues/110?email_source=notifications&email_token=AAIM7CU2KQFCLUTSCO2VYILPZAKUXA5CNFSM4ERS6NOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2Z
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AAIM7CXIDCVBETFXJLBRY73PZAKUXANCNFSM4ERS6NOA

私は数ヶ月前にseccompv1パッチを送信しました(私は思います)。これはlibseccompテストスイートとカーネルセルフテストに合格していました。 v2を送信するには、最新のカーネルで再テストする時間を見つける必要があります。 libseccompパッチはこちら: https

@carlosedpどれくらい速く必要ですか?

カーネルパッチがLinusのツリーに到達するまでは心配しませんが、PR#134には、現在のlibseccompマスターブランチへの転送ポートが必要なようです。

私はしばらくRISC-Vを見ていませんが、標準的なディストリビューションを実行する開発/テスト用のリーズナブルな価格でリーズナブルなパフォーマンスのRISC-Vハードウェアはありますか?

@davidlt PR134パッチをプルして適用しましたが、カーネルパッチがなくても完全にテストされます。 libseccompを提供して、他の依存関係の構築を開くことができれば素晴らしいと思います。 私はすでにこれでローカルに構築されたDockerを実行しています。

@pcmooreハードウェア側では、高価なSiFiveUnleashedボードのみ。 DebianにパックしたQemuVMがあります(ただし、パックできるFedora rootfsもあります)。 開発に使用できます。

https://github.com/carlosedp/riscv-bringupの依存関係を追跡してい

実際、私はPR134のTipで再テストしました。 6つのテストに失敗しました。

結果はhttps://gist.github.com/carlosedp/7e1e222e5ccb4b45faa357dd6b30ac9aで見ることができ

うーん、それは奇妙です。 テスト出力によると、テスト46はENOMEMで失敗しているようですが、これは少し珍しいことです(tools / scmp_bpf_sim.cを参照)。 私は現在かなり忙しく、これをテストするのに便利なRISC-V VMを持っていませんが、これをデバッグする方法についていくつかのポインタが必要な場合は、遠慮なく質問してください。

QemuVMとRisc-Vボードの両方を持っています。 私の現在のカーネルには、seccompパッチが適用されていません。 私がどのように手助けできるかについてのヒントがあれば、私は喜んでいます!
それ以外の場合、RiscV Qemu VMが必要な場合は、 https://github.com/carlosedp/riscv-bringup#virtual-machine-and-pre-built-dockerにパックをまとめました。

@davidlt RISC-Vカーネルサポートの更新はありますか?

https://lkml.org/lkml/2019/10/14/811

完全にレビューされたようですが、2人の開発者の間で最終的なパッチが失われました。

パッチは5.4カーネル用にLinusに送信されましたが、彼はこれまでRCにプルしたくありませんでした。 パッチは5.5マージウィンドウに到達します。

それが重要な場合、パッチはすでにlinux-nextにあることに注意してください。

それは良いニュースです、みんなありがとう! Linusのツリーでこれを見るのは数週間先のように見えるので、先に進んで、これをlibseccompv2.5マイルストーンとしてマークします。

マージウィンドウが閉じたら、誰かがPRを更新/テスト/再送信することを志願しますか?

libseccompがLinusのツリーに到達したら、新しいバージョンのPRを送信します。

よろしくお願いします@davidlt。

「[GITPULL] v5.5-rc1のseccompアップデートもマージされるまで待ちます。 そこに1つの小さなRISC-Vパッチがあります。

皆さんありがとう。 v2.5リリースのTODOリストにはまだたくさんのものがあるので、しばらく時間がかかると思います。

クイックアップデート。 Fedora / RISCVを5.5-rc2にアップデートし始めましたが、いくつかの問題があります。 カーネルでSECCOMPによって作成された1つの問題を見つけ、最初にそれを修正することに取り組んでいる可能性があります。 この問題は、libseccompテストスイートまたはカーネルseccompセルフテストでは示されませんでした。

更新していただきありがとうございます。 FWIW、libseccompテストはカーネルを積極的にテストするのではなく、ライブラリ側(BPFシミュレーターを介してコードを実行する)に重点を置いています。

これは、#197を介して解決する必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価