tuhhosg / exmap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exmap error with page allocation on kernel 6.2

fluffychaos opened this issue · comments

As mentioned in #5 I do get a runtime error when using the exmap module with a 6.2.* kernel, resulting in the application using exmap being killed. The corresponding journalctl entry is as follows
RIP: 0010:exmap_alloc_iter+0x10c/0x230 [exmap]
This happens when I call ioctl(exmapfd, EXMAP_IOCTL_ACTION, &action_params) with the op-code set to EXMAP_OP_ALLOC.

My system has the following config:

  • Distribution: Fedora 38
  • Kernel: 6.2.14-300.fc38.x86_64
  • gcc: 13.1.1 20230426
  • Only the 2 changed mentioned in #5 applied to get exmap to compile
  • Block device used is a loopback device created with losetup pointing to a regular file
  • Application used: vmcache, compiled with the same version of gcc
  • Environment variables set for vmcache control: BLOCK=/dev/loop0 where loop0 is the block device mentioned above

I was able to reproduce this error in a small test application which only makes the setup calls, loads the memory into the address space via mmap and then makes the ioctl call for page allocation. Due to a lack of time I was not able to dig deeper into this so far, including re-creating the environment used for the benchmarks in the original paper. But maybe someone here has an idea what the root cause is.

commented

Hello! It's been quite a while, and many changes and fixes have been made.

Can you check whether you can still reproduce this error with the current version of exmap? If not, I'd (finally) close this issue.