forked from luhsra/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Linux with kpac extensions
License
luhsra/linux-kpac
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Linux kernel with kpac extensions ================================= This repository contains the source code of the Linux kernel with kpac extensions described in "KPAC: Efficient Emulation of the ARM Pointer Authentication Instructions" [1]. The core kpac functionality is implemented in kernel/kpac.c. The various hashing backends are implemented as header files in include/linux/kpac/ and are included through include/linux/kpac_backend.h. The types are defined separately in include/linux/kpac_types.h. The Kconfig database is extended with following configuration options: +- Security options +- Enable software-emulated pointer authentication [bool] +- Userspace mapping address [hex] +- Pointer authentication backend [choice] +- None (DEBUG) +- xxHash hashing algorithm +- ARMv8.3 QARMA block cipher +- PAC-PL backend on an FPGA The extension is configured at runtime by writing into the debugfs directory tree /sys/kernel/debug/kpac/: +- kpac/ +- addr [Virtual address of the kpac page (read-only)] +- backend [Hashing algorithm (read-only)] +- nr_aut [Counter of AUT requests (read-only)] +- nr_aut [Counter of PAC requests (read-only)] +- 0/ +- cpumask [CPUs served by CPU 0] +- 1/ +- cpumask [CPUs served by CPU 1] ... +- N/ +- cpumask [CPUs served by CPU N] ----------- [1] https://sra.uni-hannover.de/Publications/2024/ostapyshyn_24_emsoft.pdf
About
Linux with kpac extensions
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 98.5%
- Assembly 0.8%
- Shell 0.3%
- Makefile 0.2%
- Python 0.1%
- Perl 0.1%