Open kondziu opened 4 years ago
I checked without valgrind.
__ufo_system = ufMakeInstance()
returns 0x0
, but ufInit(__ufo_system)
returns result == 0
My understanding was that ufInit
checks for NULL, but it turns out it doesn't. In fact ufMakeInstance should be checking for null before it starts allocating stuff inside the instance.
WARNING: unhandled amd64-linux syscall: 323
Reference for syscall numbers here: https://gist.github.com/yamnikov-oleg/454f48c3c45b735631f2
323 on amd64 is the userfaultd syscall
This line in our code is where it is called
int uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK);
This is core and critical and cannot be avoided
When running UFOs with valgrind, initialization fails with a confusing error (I'm new to valgrind, I hope this makes sense):
This also happens when running
ufoTest
: