Libseccomp: RFE: أضف دعم RISC-V

تم إنشاؤها على ٢٠ فبراير ٢٠١٨  ·  28تعليقات  ·  مصدر: seccomp/libseccomp

من rwmjones :

RISC-V هو مصدر مفتوح ومجاني ISA تم تطويره في UCB منذ عام 2010 (https://riscv.org/).

لدينا علاقات عامة أقدم من rwmjones في # 50 والتي أضافت دعم libseccomp قبل أن يكون دعم kernel في مكانه (خريف 2016).

لدينا علاقات عامة أحدث من Icenowy في # 108 والتي تضيف دعم libseccomp ، على الرغم من أن دعم kernel لا يزال غير معروف (فبراير 2018).

تم تصميم هذه المشكلة لتتبع الملاحظات والتقدم عبر العلاقات العامة.

enhancement prioritlow

التعليق الأكثر فائدة

سأنتظر حتى يتم أيضًا دمج "[GIT PULL] تحديثات seccomp لـ v5.5-rc1". يوجد رقعة واحدة صغيرة RISC-V هناك.

ال 28 كومينتر

دعم pcmoore Kernel في 4.15.0. (هناك حاجة إلى المزيد من برامج التشغيل للتمهيد ، ومن المتوقع أن يتم تشغيلها في 4.17 ، ولكن 4.15 يحتوي على uapi الكامل)

sorear أعتقد أنه من المقبول التعليق مرة واحدة في العلاقات العامة الأخرى على أشياء مثل المذكورة أعلاه.

... ومستقبلي النفس، فإنه لا يبدو أن v4.16-RC2 + لديه الضروري HAVE_ARCH_SECCOMP_FILTER دعم RISC-V.

تحديث سريع ، لا يزال دعم kernel مفقودًا في شجرة 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://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020

لست متأكدًا حقًا من كيفية اختباره.

مرحبًا terpstra

إذا لم تكن على اتصال بالفعل بـ kees ، فقد ترغب في التحدث معه لأنه يحتفظ برمز seccomp في النواة. بقدر ما يتعلق الأمر بالاختبار ، لدى libseccomp عدد قليل من الاختبارات "الحية" (cd tests; ./regression -T live) التي تمارس رمز seccomp في النواة ؛ هناك أيضًا عينات / seccomp في مصادر kernel ، لكن ليس لدي أي خبرة مباشرة مع هؤلاء.

أعتقد أن هناك تصحيحًا ثالثًا في openSUSE: https://build.opensuse.org/package/view_file/openSUSE : Factory: RISCV / libseccomp / riscv.patch؟ expand = 1

لكنه ينقصه __NR_riscv_flush_icache .

أحدث العلاقات العامة libseccomp: https://github.com/seccomp/libseccomp/pull/134

مرحبًا terpstra ، هل تم دمج التصحيح https://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020 في Mainline Kernel؟ أي فكرة عن جدول زمني لذلك؟ ربما يستطيع @ palmer-dabbelt المساعدة في هذا الأمر.

لقد أفرغت تحميل جميع عناصر برنامج تشغيل Linux التي كتبتها لـ U540 إلى Paul
وبالمر. أنا لم أعد في الحلقة بشأن المنبع.

يوم الأربعاء 5 يونيو 2019 الساعة 12:53 مساءً Carlos Eduardo [email protected]
كتب:

مرحبًا terpstra https://github.com/terpstra ، احصل على التصحيح
ريهام صنعاء @ ookoo444
https://github.com/riscv/riscv-linux/commit/0712587b63964272397ed34864130912d2a87020
اندمجت في Mainline Kernel؟ أي فكرة عن جدول زمني لذلك؟ يمكن
@ palmer-dabbelt https://github.com/palmer-dabbelt يمكنه المساعدة في هذا الأمر.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/seccomp/libseccomp/issues/110؟email_source=notifications&email_token=AAIM7CU2KQFCLUTSCO2VYILPZAKUXA5CNFSM4ERS6NOKYY3PNVWWK3TUL52HS4DFVREXG43VMVB99
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAIM7CXIDCVBETFXJLBRY73PZAKUXANCNFSM4ERS6NOA
.

لقد أرسلت تصحيحات seccomp v1 في غضون بضعة أشهر (على ما أظن) ، والتي كانت تجتاز اختبارات libseccomp والاختبارات الذاتية للنواة. أحتاج إلى إيجاد الوقت لإعادة الاختبار على أحدث نواة لإرسال الإصدار 2. تصحيح libseccomp موجود هنا: https://github.com/seccomp/libseccomp/pull/134

carlosedp ما مدى السرعة التي تحتاجها؟

لن أقلق بشأن ذلك حتى يصل تصحيح kernel إلى شجرة Linus ، ولكن يبدو أن PR # 134 يحتاج إلى منفذ أمامي لفرع libseccomp الرئيسي الحالي.

لم ألقي نظرة على RISC-V في بعض الوقت ، هل هناك أي أجهزة RISC-V ذات أسعار معقولة وذات أداء معقول للتطوير / الاختبار والتي ستعمل على توزيعة قياسية؟

davidlt لقد سحبت وطبقت التصحيح PR134 وهو يختبر تمامًا حتى بدون تصحيحات Kernel. سيكون من الرائع إعطاء libseccomp لفتح بناء تبعيات أخرى. أنا بالفعل أقوم بتشغيل Docker محليًا مع هذا.

pcmoore على جانب الأجهزة ، فقط لوحة SiFive Unleashed باهظة الثمن. يوجد Qemu VM I معبأ بـ Debian (ولكن هناك أيضًا جذور فيدورا يمكنني حزمها). يمكن استخدامه للتطوير.

أنا أتتبع التبعيات على https://github.com/carlosedp/riscv-bringup

في الواقع لقد أعدت الاختبار للتو باستخدام الطرف المزود بـ PR134. لقد حصلت على 6 اختبارات فاشلة.

يمكن رؤية النتائج على https://gist.github.com/carlosedp/7e1e222e5ccb4b45faa357dd6b30ac9a

حسنًا ، هذا غريب. وفقًا لإخراج الاختبار ، يبدو أن الاختبار 46 فشل مع ENOMEM ، وهو أمر غير معتاد بعض الشيء (انظر الأدوات / scmp_bpf_sim.c). أنا مشغول إلى حد ما في الوقت الحالي ، وليس لدي RISC-V VM مفيد لاختبار ذلك ، ولكن إذا كنت بحاجة إلى بعض المؤشرات حول كيفية تصحيح هذا ، فلا تتردد في السؤال.

لديّ كل من لوحة Qemu VM ولوحة Risc-V. لم يتم تطبيق تصحيحات seccomp على Kernel الحالي. إذا كانت لديك نصائح حول كيفية المساعدة ، يسعدني ذلك!
خلاف ذلك ، إذا كنت تريد RiscV Qemu VM ، فقد قمت بتجميع حزمة على https://github.com/carlosedp/riscv-bringup#virtual -machine-and-built-docker.

davidlt أي تحديث على دعم نواة RISC-V؟

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

يبدو أنه تمت مراجعته بالكامل ، لكن التصحيح النهائي فقد بين مطورين.

تم إرسال التصحيح إلى Linus مقابل 5.4 نواة ، لكنه لم يرغب في سحبها حتى الآن إلى RCs. التصحيح سيهبط في نافذة دمج 5.5.

لاحظ أن التصحيح موجود بالفعل في linux-next ، إذا كان ذلك مهمًا.

هذه أخبار جيدة ، شكرا للجميع! نظرًا لأنه يبدو أننا على بعد أسابيع قليلة من رؤية هذا في شجرة Linus ، فسأمضي قدمًا وأضع علامة على هذا لمعلم libseccomp v2.5.

هل يريد شخص ما التطوع لتحديث / اختبار / إعادة تقديم العلاقات العامة بمجرد إغلاق نافذة الدمج؟

سأرسل نسخة جديدة من العلاقات العامة بمجرد هبوط libseccomp في شجرة لينوس.

رائع ، شكرًا davidlt.

سأنتظر حتى يتم أيضًا دمج "[GIT PULL] تحديثات seccomp لـ v5.5-rc1". يوجد رقعة واحدة صغيرة RISC-V هناك.

شكرا لكم جميعا. لا يزال لدينا عدد من الأشياء في قائمة TODO لإصدار v2.5 لذا أعتقد أن لدينا بعض الوقت.

تحديث سريع. لقد بدأت في تحديث Fedora / RISCV إلى 5.5-rc2 وهناك عدد من المشكلات. ربما وجدت مشكلة واحدة تم إنشاؤها بواسطة SECCOMP في kernel وأعمل على إصلاحها أولاً. لم تظهر هذه المشكلات من خلال مجموعة اختبار libseccomp أو الاختبارات الذاتية لـ kernel seccomp.

شكرا للتحديث. FWIW ، لا تختبر اختبارات libseccomp النواة بقوة ، بل تركز أكثر على جانب المكتبة (تشغيل الكود من خلال محاكي BPF).

يجب حل هذا عن طريق الإغلاق # 197.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات