On Mon, Oct 25, 2021 at 10:50 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > From: Arnd Bergmann <arnd@xxxxxxxx> > > My previous bugfix addressed an API inconsistency found by syzbot, > and it correctly fixed the issue on x86-64 machines, which now behave > correctly for both native and compat tasks. > > Unfortunately, John found that the patch broke compat mode on all other > architectures, as they can no longer rely on the VIDIOC_DQEVENT_TIME32 > code from the native handler as a fallback in the compat code. > > The best way I can see for addressing this is to generalize the > VIDIOC_DQEVENT32_TIME32 code from x86 and use that for all architectures, > leaving only the VIDIOC_DQEVENT32 variant as x86 specific. The original > code was trying to be clever and use the same conversion helper for native > 32-bit code and compat mode, but that turned out to be too obscure so > even I missed that bit I had introduced myself when I made the fix. > > Fixes: c344f07aa1b4 ("media: v4l2-core: ignore native time32 ioctls on 64-bit") > Reported-by: John Stultz <john.stultz@xxxxxxxxxx> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Tested-by: John Stultz <john.stultz@xxxxxxxxxx> Thanks so much again Arnd! -john