Note that in my use case i will/can pass the file descriptors to the child process, so that's why memfd_create suited me well. But if you happen to know how i can just use the mmaped file, as long as i can point the exact offset to be readed, it will be much better, because it will be basically a zero-copy implementation of it.
(If memfd_create() could be created by passing the memory address, without the need to use a write() in the created fd, it would also be much less expensive)
Thank you for your tip, that is a really nice trick!