-static int fixup_compat_format(struct PVRSRV_PER_PROCESS_DATA *psPerProc,
- struct PVRSRV_BRIDGE_IN_SGXDEVINITPART2 *info,
- size_t size)
-{
- void **edm_buf;
-
- if (size == sizeof(*info)) {
- psPerProc->edm_compat_abi = 0;
- return 0;
- }
-
- edm_buf = &info->sInitInfo.hKernelEDMStatusBufferMemInfo;
-
- if (size + sizeof(*edm_buf) != sizeof(*info))
- return -EFAULT;
-
- /*
- * remainder of the compat struct size after the
- * hKernelEDMStatusBufferMemInfo field
- */
- size -= offsetof(struct PVRSRV_BRIDGE_IN_SGXDEVINITPART2,
- sInitInfo.hKernelEDMStatusBufferMemInfo);
- memmove(edm_buf + 1, edm_buf, size);
- *edm_buf = NULL;
- psPerProc->edm_compat_abi = 1;
-
- return 0;
-}
-