Back to Programs

Operating systems

CRIU

Chekpoint/Restore for Linux tasks and containers

cgolinuxpython

Participation history

8 GSoC years

2026

4 projects

Official year page

Add Support for SCM_CREDENTIALS / SCM_PIDFD and Friends

Currently, CRIU cannot checkpoint or restore systemd-managed containers if there are SCM_CREDENTIALS messages waiting in a Unix socket queue. Because...

Enabling Checkpoint/Restore of Rootless Containers

CRIU currently supports unprivileged checkpoint/restore in limited cases, but rootless containers remain unsupported because they introduce...

Kubernetes Operator for Automated Policy-Based Checkpointing

The Checkpoint-Restore Operator manages checkpoint retention well but has no way to create checkpoints automatically. This project adds a new...

Forensic Checkpointing Framework for Kubernetes

In Kubernetes, container termination during security incidents results in the loss of critical forensic data. This project automates the capture of...

2025

3 projects

Official year page

Coordinated checkpointing of distributed applications

The goal of this project is to address the challenge of checkpointing distributed applications, which generally run across multiple nodes with active...

Files on Detached Mounts

If a mount is unmounted using the MNT_DETACH flag, its information disappears from /proc/$pid/mntinfo. If CRIU tries to C/R an fd on such a mount...

Support arm64 Guarded Control Stack (GCS)

This project aims to enable testing of Guarded Control Stack (GCS) functionality within CRIU (Checkpoint/Restore In Userspace) on AArch64 by...

2024

3 projects

Official year page

Support C/R of pidfd descriptors

pidfds are a feature of the Linux kernel that provide a process with a stable handle on another process. They were introduced to solve the problem of...

CRIU: Add support for checkpoint/restore of CORK-ed UDP socket

CRIU currently does not support checkpoint/restore for UDP sockets with the UDP_CORK socket option. In order for CRIU to support the UDP_CORK socket...

Kubernetes operator for managing container checkpoints

Project Summary: The project aims to enhance Kubernetes container checkpoint management through advanced garbage collection policies. These policies...

2023

3 projects

Official year page

Forensic analysis of container checkpoints

The goal of this proposal is to address the challenge of investigating the contents of containerized applications, which run in isolation from the...

CRIU: Add support for memfd_secret file descriptors

CRIU can checkpoint/restore a trivial hello_word process to running Linux containers. However, with the current implementation of CRIU, it can't...

Forensic analysis of container checkpoints

The crit library in go-criu was created during GSoC 2022 to enable analysis of CRIU images with tools written in Go. It allows container management...

2022

2 projects

Official year page

Porting CRIU Image Tool (CRIT) to Go

CRIU provides a Python-based tool called CRIT in order to explore and manipulate checkpoint images. To enable hassle-free integration with Go...

CRIU: Support sparse ghosts

Nowadays, CRIU will save the ghost file by using a lot of system calls to determine where the chunks are, which is very expensive, especially for...

2021

3 projects

Official year page

Add support for checkpoint/restore read and write queue of UDP socket

In this project, I will implement a new Linux kernel API to help dumping/writing back the read and write queue of UDP socket. Then I will use that...

Add io_uring support

This project adds support for dump and restore of io_uring instances. The three main goals of this project is to handle dump/restore of empty...

Use eBPF to lock/unlock the network

During checkpointing and restoring, CRIU locks the network to make sure no TCP packets are accepted by the network stack during the time the process...

2020

3 projects

Official year page

Port Crit To Go

Crit Encodes/Decodes and exports/displays CRIU's custom images to/from json/binary to json/binary. Porting Crit to Go so that projects using go...

Restrict Checks for Open/Mapped Files

While checkpointing (Dumping), CRIU stores some meta-information about the open/mmaped file and this is validated while restoring to make sure that...

Optimize logging engine

During the execution, CRIU writes many logs. Most of these logs are not used, but they are the only way to figure out the reason for failure if some...

2019

1 project

Official year page

Optimizing the pre-dump algorithm

During pre-dump in CRIU, the memory pages of target process are stored in pipe-pages, until the content is not flushed to disk image or page-server....