Security Verification of PCI-Based CXL Drivers in the Linux Kernel Using ESBMC

This repository contains the operational models and test scripts used for the formal verification of the CXL drivers in the Linux Kernel, specifically focusing on the cxl_map_regs and cxl_probe_regs functions. The models simulate the behavior of these functions, providing detailed assertions for memory safety, register probing, and concurrency. Using ESBMC (Efficient SMT-Based Bounded Model Checker), the code performs unbounded verification by fully unrolling loops to capture all possible iterations. The verification tests, which include handling valid and invalid inputs, concurrency scenarios, and error cases, were executed across multiple kernel configurations, identifying several potential vulnerabilities in memory handling and register initialisation. The repository includes all necessary files to replicate the verification process, along with the CXL driver source code and test results.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-09-05
DOI
https://doi.org/10.5281/zenodo.13692741
Primary Topic
Security and Verification in Computing
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Security Verification of PCI-Based CXL Drivers in the Linux Kernel Using ESBMC

Zenodo (CERN European Organization for Nuclear Research)
Security and Verification in Computing
article

Security Verification of PCI-Based CXL Drivers in the Linux Kernel Using ESBMC

article en

Abstract

This repository contains the operational models and test scripts used for the formal verification of the CXL drivers in the Linux Kernel, specifically focusing on the cxl_map_regs and cxl_probe_regs functions. The models simulate the behavior of these functions, providing detailed assertions for memory safety, register probing, and concurrency. Using ESBMC (Efficient SMT-Based Bounded Model Checker), the code performs unbounded verification by fully unrolling loops to capture all possible iterations. The verification tests, which include handling valid and invalid inputs, concurrency scenarios, and error cases, were executed across multiple kernel configurations, identifying several potential vulnerabilities in memory handling and register initialisation. The repository includes all necessary files to replicate the verification process, along with the CXL driver source code and test results.

Zenodo (CERN European Organization for Nuclear Research)
University of Manchester (GB)
Peace, Justice and strong institutions
Openalex Percentile: Top 61%
Security and Verification in Computing
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.