| Line 134: |
Line 134: |
| | * Mentors: Adrian Reber <areber@redhat.com>, Radostin Stoyanov <rstoyanov@fedoraproject.org>, Prajwal S N <prajwalnadig21@gmail.com> | | * Mentors: Adrian Reber <areber@redhat.com>, Radostin Stoyanov <rstoyanov@fedoraproject.org>, Prajwal S N <prajwalnadig21@gmail.com> |
| | * Suggested by: Adrian Reber | | * Suggested by: Adrian Reber |
| | + | |
| | + | === Add support for arm64 Guarded Control Stack (GCS) === |
| | + | |
| | + | '''Summary:''' Support arm64 Guarded Control Stack (GCS) |
| | + | |
| | + | The arm64 Guarded Control Stack (GCS) feature provides support for |
| | + | hardware protected stacks of return addresses, intended to provide |
| | + | hardening against return oriented programming (ROP) attacks and to make |
| | + | it easier to gather call stacks for applications such as profiling (taken from [1]). |
| | + | We would like to support arm64 Guarded Control Stack (GCS) in CRIU, which means |
| | + | that CRIU should be able to Checkpoint/Restore applications using GCS. |
| | + | |
| | + | This task should not require any Linux kernel modifications |
| | + | but will require a lot of effort to understand Linux kernel and |
| | + | glibc support patches. We have a good example of support for |
| | + | x86 shadow stack [4] thanks to Mike. |
| | + | |
| | + | '''Links:''' |
| | + | * [1] kernel support https://lore.kernel.org/all/20241001-arm64-gcs-v13-0-222b78d87eee@kernel.org |
| | + | * [2] libc support https://inbox.sourceware.org/libc-alpha/20250117174119.3254972-1-yury.khrustalev@arm.com |
| | + | * [3] libc tests https://inbox.sourceware.org/libc-alpha/20250210114538.1723249-1-yury.khrustalev@arm.com |
| | + | * [4] x86 support (a great reference!) https://github.com/checkpoint-restore/criu/pull/2306 |
| | + | |
| | + | '''Details:''' |
| | + | * Skill level: expert (a lot of moving parts: Linux kernel / libc / CRIU) |
| | + | * Language: C |
| | + | * Expected size: 350 hours |
| | + | * Suggested by: Mike Rapoport <rppt@kernel.org> |
| | + | * Mentors: Mike Rapoport <rppt@kernel.org>, Andrei Vagin <avagin@gmail.com>, Alexander Mikhalitsyn <alexander@mihalicyn.com> |
| | | | |
| | == Suspended project ideas == | | == Suspended project ideas == |