| Line 135: |
Line 135: |
| | * Mentors: Radostin Stoyanov <rstoyanov@fedoraproject.org>, Pavel Tikhomirov <ptikhomirov@virtuozzo.com> | | * Mentors: Radostin Stoyanov <rstoyanov@fedoraproject.org>, Pavel Tikhomirov <ptikhomirov@virtuozzo.com> |
| | * Suggested by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> | | * Suggested by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> |
| | + | |
| | + | === Add support for SCM_CREDENTIALS / SCM_PIDFD and friends === |
| | + | |
| | + | '''Summary:''' Support for SCM_CREDENTIALS / SCM_PIDFD |
| | + | |
| | + | SCM_CREDENTIALS and SCM_PIDFD are types of SCM (Socket-level Control Messages). They play a crucial role |
| | + | in systemd and many other user space applications. This project is about adding support for these |
| | + | SCMs to be properly saved and restored back with CRIU. There is an existing code in OpenVZ CRIU fork, |
| | + | see [1] and [2]. Goal would be first of all to properly port this code, cover with extensive tests and |
| | + | ensure that SCM_PIDFD / SO_PEERPIDFD are handled correctly. Also we expect to cover things like |
| | + | SO_PASSRIGHTS and SO_PASSPIDFD. |
| | + | |
| | + | There is some extra source of complexity here pidfds can be "stale" (see PIDFD_STALE in Linux kernel) |
| | + | and we need to ensure that we properly cover those cases. |
| | + | |
| | + | '''Links:''' |
| | + | * [1] openvz-criu https://bitbucket.org/openvz/criu.ovz/history-node/918653a0a343194385592d7b50b5bd7a8fbe1cc1/criu/sk-unix.c?at=hci-dev |
| | + | * [2] openvz-criu https://bitbucket.org/openvz/criu.ovz/history-node/918653a0a343194385592d7b50b5bd7a8fbe1cc1/criu/sk-queue.c?at=hci-dev |
| | + | * [3] Linux kernel https://github.com/torvalds/linux/commit/5e2ff6704a275be009be8979af17c52361b79b89 |
| | + | * [4] Linux kernel https://github.com/torvalds/linux/commit/c679d17d3f2d895b34e660673141ad250889831f |
| | + | |
| | + | '''Details:''' |
| | + | * Skill level: intermediate / advanced |
| | + | * Language: C |
| | + | * Expected size: 350 hours |
| | + | * Suggested by: Alexander Mikhalitsyn <alexander@mihalicyn.com> |
| | + | * Mentors: Andrei Vagin <avagin@gmail.com>, Alexander Mikhalitsyn <alexander@mihalicyn.com> |
| | | | |
| | == Suspended project ideas == | | == Suspended project ideas == |