descriptionMuen SK channel file system Linux kernel module
ownerReto Buerki
last changeThu, 7 Apr 2022 11:09:25 +0000 (13:09 +0200)



The muenfs Linux kernel module implements a virtual file system that facilitates user-space access to shared memory channels provided by the Muen Separation Kernel.

For each detected channel, a file of matching size and permission is shown in the file system. A user-space application can use stat(2) calls to get the permissions (rw or r/o) of the files and the size of the region. For accessing file contents read(2), write(2), and mmap(2) operations are supported.


$ modprobe muenfs
$ mkdir -p /muenfs
$ mount -t muenfs none /muenfs

Example Code

See the test/muenfs-test.c program for example code on how to map a channel file and access its contents.


The current authentication model is that the files are created with uid and gid set to 0. Depending on the type of the region the files have permissions 0400 or 0600. No further capability checking is done by this module.

2022-04-07 Reto BuerkiAdjustments for Linux 5.15 master
2021-12-16 Jakob JuhnkeMark memory_region_t.irq as unused after free_irq()
2021-12-14 Jakob JuhnkeConsider 0 as a valid IRQ number
2021-12-10 Reto BuerkiImplement muen_set_attr to update attributes of inodes
2021-12-06 Reto BuerkiFix test_(f)truncate in muenfs-test
2021-11-29 Jakob JuhnkeImplement muen_set_attr to update attributes of inodes
2021-11-22 Reto BuerkiExplicitly test for memory variant in muenfs_create_file
2021-03-30 Reto BuerkiFix checkpatch warnings
2021-03-03 Ralf HubertAdd support for poll syscall
2020-05-05 Adrian-Ken... Drop unused list from struct mem_region_t
2020-04-02 Reto BuerkiAdjustments for sinfo 03
2019-12-20 Adrian-Ken... Add .mod to gitignore
2019-12-19 Adrian-Ken... Simplify test Makefile
2019-12-12 Adrian-Ken... Switch to https for Muen website URL
2019-01-31 Reto BuerkiFix module install permissions
2019-01-28 Reto BuerkiAdd .gitignore file
5 months ago master