Libseccomp: RFE: tambahkan dukungan RISC-V

Dibuat pada 20 Feb 2018  ·  28Komentar  ·  Sumber: seccomp/libseccomp

Dari @rwmjones :

RISC-V adalah open source, ISA gratis yang dikembangkan di UCB sejak 2010 (https://riscv.org/).

Kami memiliki satu PR lama dari @rwmjones di #50 yang menambahkan dukungan libseccomp sebelum dukungan kernel diterapkan (Musim Gugur 2016).

Kami memiliki PR terbaru dari @Icenowy di #108 yang menambahkan dukungan libseccomp, meskipun dukungan kernel masih belum diketahui (Februari 2018).

Masalah ini dirancang untuk melacak catatan dan kemajuan di seluruh PR.

enhancement prioritlow

Komentar yang paling membantu

Saya akan menunggu sampai "[GIT PULL] pembaruan seccomp untuk v5.5-rc1" juga digabungkan. Ada satu patch RISC-V kecil di sana.

Semua 28 komentar

Dukungan @pcmoore Kernel upstream di 4.15.0. (Lebih banyak driver diperlukan untuk boot, mereka diharapkan di 4.17, tetapi 4.15 memiliki uapi lengkap)

@sorear Saya rasa tidak apa-apa berkomentar sekali di PR lain untuk hal-hal seperti di atas.

... dan untuk masa depan saya, tampaknya v4.16-rc2+ tidak memiliki dukungan HAVE_ARCH_SECCOMP_FILTER untuk RISC-V.

Pembaruan cepat, dukungan kernel masih hilang di pohon 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

Saya mendorong komit prototipe ke cabang kernel risc-v pengembangan kami di sini: https://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020

Saya tidak begitu yakin bagaimana mengujinya.

Hai @terpstra

Jika Anda belum pernah berhubungan dengan @kees, Anda mungkin ingin berbicara dengannya karena dia menyimpan kode seccomp di kernel. Sejauh menyangkut pengujian, libseccomp memiliki beberapa tes "langsung" (cd tests; ./regression -T live) yang menjalankan kode seccomp di kernel; ada juga sampel/seccomp di sumber kernel, tetapi saya tidak punya pengalaman langsung dengan itu.

Saya pikir, ada tambalan ke-3 di openSUSE: https://build.opensuse.org/package/view_file/openSUSE : Factory:RISCV/libseccomp/riscv.patch?expand=1

tapi itu hilang __NR_riscv_flush_icache .

Hai @terpstra , apakah tambalan https://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020 digabungkan ke dalam Kernel Mainline? Ada ide tentang timeline untuk itu? Mungkin @palmer-dabbelt dapat membantu dalam hal ini.

Saya telah menurunkan semua driver linux yang saya tulis untuk U540 ke Paul
dan Palmer. Saya tidak lagi terlibat dalam upstreaming.

Pada hari Rabu, 5 Jun 2019 jam 12:53 PM Carlos Eduardo [email protected]
menulis:

Hai @terpstra https://github.com/terpstra , dapatkan tambalannya
riscv/ riscv-linux@0712587
https://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020
digabung ke dalam Kernel Mainline? Ada ide tentang timeline untuk itu? Mungkin
@palmer-dabbelt https://github.com/palmer-dabbelt dapat membantu dalam hal ini.


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/seccomp/libseccomp/issues/110?email_source=notifications&email_token=AAIM7CU2KQFCLUTSCO2VYILPZAKUXA5CNFSM4ERS6NOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXH2JKTDN5WXHJKTDN5W
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AAIM7CXIDCVBETFXJLBRY73PZAKUXANCNFSM4ERS6NOA
.

Saya telah mengirimkan patch seccomp v1 dalam beberapa bulan yang lalu (saya pikir), yang melewati libseccomp testsuite dan kernel selftests. Saya perlu mencari waktu untuk menguji ulang pada kernel terbaru untuk mengirimkan v2. patch libseccomp ada di sini: https://github.com/seccomp/libseccomp/pull/134

@carlosedp seberapa cepat Anda membutuhkannya?

Saya tidak akan mengkhawatirkannya sampai patch kernel mendarat di pohon Linus, tetapi PR #134 sepertinya membutuhkan port forward ke cabang master libseccomp saat ini.

Saya belum melihat RISC-V dalam beberapa waktu, apakah ada perangkat keras RISC-V dengan harga terjangkau dan berkinerja wajar untuk pengembangan/pengujian yang akan menjalankan distro standar?

@davidlt Saya telah menarik dan menerapkan tambalan PR134 dan itu menguji dengan sempurna bahkan tanpa tambalan Kernel. Akan sangat bagus untuk memberi libseccomp untuk membuka membangun dependensi lain. Saya sudah menjalankan Docker yang dibuat secara lokal dengan ini.

@pcmoore Di sisi perangkat keras, hanya papan SiFive Unleashed yang mahal. Ada VM Qemu yang saya kemas dengan Debian (tetapi juga ada rootf Fedora yang bisa saya kemas). Bisa digunakan untuk pengembangan.

Saya melacak dependensi di https://github.com/carlosedp/riscv-bringup

Sebenarnya saya baru saja menguji ulang dengan Tip dengan PR134. Saya mendapat 6 tes yang gagal.

Hasil bisa dilihat di https://Gist.github.com/carlosedp/7e1e222e5ccb4b45faa357dd6b30ac9a

Hmm, itu aneh. Menurut hasil tes, tampaknya tes 46 gagal dengan ENOMEM, yang agak tidak biasa (lihat tools/scmp_bpf_sim.c). Saya agak sibuk saat ini, dan tidak memiliki RISC-V VM yang berguna untuk menguji ini, tetapi jika Anda memerlukan beberapa petunjuk tentang cara men-debug ini, jangan ragu untuk bertanya.

Saya memiliki Qemu VM dan papan Risc-V. Kernel saya saat ini tidak menerapkan patch seccomp. Jika Anda memiliki tips tentang bagaimana saya dapat membantu, saya senang!
Kalau tidak, jika Anda menginginkan RiscV Qemu VM, saya mengumpulkan paket di https://github.com/carlosedp/riscv-bringup#virtual -machine-and-pre-built-docker.

@davidlt ada pembaruan pada dukungan kernel RISC-V?

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

Tampaknya telah sepenuhnya ditinjau, tetapi tambalan terakhir hilang di antara dua pengembang.

Patch dikirim ke Linus untuk kernel 5.4, tetapi dia tidak ingin menariknya sejauh ini ke RC. Patch akan mendarat di jendela gabungan 5,5.

Perhatikan bahwa tambalan sudah ada di linux-next, jika itu penting.

Itu kabar baik, terima kasih semuanya! Karena sepertinya kita beberapa minggu lagi untuk melihat ini di pohon Linus, saya akan melanjutkan dan menandai ini untuk tonggak libseccomp v2.5.

Apakah seseorang ingin secara sukarela menyegarkan/menguji/mengirim ulang PR setelah jendela penggabungan ditutup?

Saya akan mengirimkan versi baru PR setelah libseccomp mendarat di pohon Linus.

Bagus, terima kasih @davidlt.

Saya akan menunggu sampai "[GIT PULL] pembaruan seccomp untuk v5.5-rc1" juga digabungkan. Ada satu patch RISC-V kecil di sana.

Terima kasih semuanya. Kami masih memiliki beberapa hal di daftar TODO untuk rilis v2.5 jadi saya pikir kami punya waktu.

Pembaruan cepat. Saya mulai memperbarui Fedora/RISCV ke 5.5-rc2 dan ada sejumlah masalah. Saya mungkin telah menemukan satu masalah yang dibuat oleh SECCOMP di kernel dan berusaha memperbaikinya terlebih dahulu. Masalah ini tidak ditunjukkan oleh libseccomp test suite atau kernel seccomp self test.

Terima kasih atas pembaruannya. FWIW, tes libseccomp tidak menguji kernel secara agresif, mereka lebih fokus pada sisi perpustakaan (menjalankan kode melalui simulator BPF).

Ini harus diselesaikan melalui #197, penutupan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

cgwalters picture cgwalters  ·  14Komentar

grubeli picture grubeli  ·  3Komentar

pcmoore picture pcmoore  ·  10Komentar

vasanthaganeshk picture vasanthaganeshk  ·  9Komentar

drakenclimber picture drakenclimber  ·  10Komentar