On Thu, May 25 2023 at 08:13:43 AM -07:00:00, Lucas De Marchi wrote: > On Thu, May 25, 2023 at 01:24:55PM +0000, Jose Souza wrote: >> Hi >> >> Planning to push this today, >> Christopher already have sent the Mesa MR and IGT patch series. > > the whole point of this series is being able to fix it without having > to > synchronize with the mesa / media / igt / intel-compute updates. There > are some reordering in the structs that would better be done before > applying upstream and when that is done, then we need to sync all the > UMDs. But not for this. Unfortunately, all userspace software which is also built for multilib must synchronize with this change, or else their 32-bit userspace will simply fail. In my experience, apps consuming Mesa 32-bit without this change will fail spectacularly, often crashing on startup. I suppose only Mesa really matters, since most users won't be installing proprietary software that consumes 32-bit OpenCL or VA-API, but there may yet be cases for that. This is usually proprietary software, often involving use of Wine, such as Steam's Proton distribution. > > Lucas De Marchi > >> It should not break 64 bits ABI but would be good to update >> intel-compute and media as well. >> >> On Wed, 2023-05-24 at 18:56 -0700, Christopher Snowhill wrote: >>> This series takes off from mlankhorst's attempt to do the same, >>> except >>> instead, it tries to be as minimally invasive to the original uAPI >>> as >>> possible, by only inserting padding where appropriate to ensure all >>> 32-bit members are 32-bit aligned, and all 64-bit members are 64-bit >>> aligned. This should have zero effect on 64-bit hosts versus 64-bit >>> userspace, so existing native software will operate the same with or >>> without the update. The only real change is 32-bit compat support >>> for >>> multilib userspace, which was previously broken. >>> >>> Also introduces field validation against all of the padding and >>> reserved fields, which must be zero, in a separate commit. >>> >>> v2: >>> Removed extensions checks where there were none originally. >>> (José) >>> Moved extraneous parentheses to the correct places. (Lucas) >>> >>> Signed-off-by: Maarten Lankhorst >> > >>> Signed-off-by: Christopher Snowhill >> > >>> >>> Christopher Snowhill (2): >>> drm/xe: Add explicit padding to uAPI definition >>> drm/xe: Validate uAPI padding and reserved fields >>> >>> drivers/gpu/drm/xe/xe_bo.c | 6 +++-- >>> drivers/gpu/drm/xe/xe_engine.c | 18 ++++++++++--- >>> drivers/gpu/drm/xe/xe_exec.c | 4 ++- >>> drivers/gpu/drm/xe/xe_mmio.c | 3 ++- >>> drivers/gpu/drm/xe/xe_query.c | 3 ++- >>> drivers/gpu/drm/xe/xe_sync.c | 4 ++- >>> drivers/gpu/drm/xe/xe_vm.c | 22 +++++++++++++--- >>> drivers/gpu/drm/xe/xe_vm_madvise.c | 4 ++- >>> drivers/gpu/drm/xe/xe_wait_user_fence.c | 3 ++- >>> include/uapi/drm/xe_drm.h | 34 >>> ++++++++++++++++++++++++- >>> 10 files changed, 85 insertions(+), 16 deletions(-) >>> >>