[Openpvrsgx-devgroup] [PATCH] Update pvrsgx 1.14.3759903 to latest kernel

Lucas Fryzek lucas.fryzek at hazeco.xyz
Sun Nov 14 18:03:29 CET 2021

> FYI: I looked into
> git diff --no-index 
> drivers/gpu/drm/pvrsgx/1.14.3699939/eurasia_km/services4/srvkm/env/linux/osfunc.c 
> drivers/gpu/drm/pvrsgx/1.14.3759903/eurasia_km/services4/srvkm/env/linux/osfunc.c
> and there seems to be some different fixed for 1.14.3699939.
> Mainly in OSAcquirePhysPageAddr() which uses
> -    psInfo->iNumPagesMapped = get_user_pages_remote(current->mm, 
> uStartAddr, psInfo->iNumPages, FOLL_WRITE, psInfo->ppsPages, NULL, 
> NULL);
> instead of
> +    psInfo->iNumPagesMapped = get_user_pages(
> +               uStartAddr, psInfo->iNumPages, 1, psInfo->ppsPages, 
> NULL);
> But don't ask me what the difference is and if it is the root cause 
> of my kernel panic...
> BR,
> Nikolaus

Thanks for the all the additional information! I was able to trigger 
the crash by compiling the driver as a module (i.e. 
`CONFIG_SGX_JZ4780=m`), it appears that the default letux_defconfig 
doesn't do this. I am now seeing the same behavior, and trying to debug 
it. I don't believe `OSAcquirePhysPageAddr` is causing the issue here, 
I tried taking the changes from `1.14.3699939` and that didn't help. I 
am going to figure out which value triggers the paging exception and 
work backwards from there to see whats going wrong.

Also I did have a case where it decided to boot up fine without an 
error, and I saw the same results with `pvrsrvctrl` reporting that it 
was happy with the KMOD and then triggering a kernel crash.

More information about the openpvrsgx-devgroup mailing list