How to modify cudaMalloc() behaviour via modifying device driver?

I am trying to do some experiment where I want to change the memory management done on the GPU side (Basically modify the VA2PA on the GPU side). I am assuming this is solely done by GPU driver on host side. I was wondering if it is possible to modify nvidia driver to achieve this?

I have read that nvidia-uvm is open source so I was wondering does cudaMalloc() calls ioctls() on nvidia-uvm? Can anyone guide me as to how to modify this driver?

Using strace, I saw that cudaMalloc() calls ioctl on /dev/nvidiactl. Does anyone knows if the code for this device driver is avaialble?