On Wed, Jan 22, 2025 at 08:30:51AM +0100, Arnd Bergmann wrote: > On Tue, Jan 21, 2025, at 23:41, Thomas Weißschuh wrote: > > Pointer arguments passed to ioctls need to pass through compat_ptr() to > > work correctly on s390; as explained in Documentation/driver-api/ioctl.rst. > > Plumb the compat_ioctl callback through 'struct posix_clock_operations' > > and handle the different ioctls cmds in the new ptp_compat_ioctl(). > > > > Using compat_ptr_ioctl is not possible. > > For the commands PTP_ENABLE_PPS/PTP_ENABLE_PPS2 on s390 > > it would corrupt the argument 0x80000000, aka BIT(31) to zero. > > > > Fixes: 0606f422b453 ("posix clocks: Introduce dynamic clocks") > > Fixes: d94ba80ebbea ("ptp: Added a brand new class driver for ptp clocks.") > > Cc: stable@xxxxxxxxxxxxxxx > > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > > This looks correct to me, I'm not familiar with s390, but I can remember that the compat ioctl was nixed during review. https://lore.kernel.org/lkml/201012161716.42520.arnd@xxxxxxxx/ https://lore.kernel.org/lkml/alpine.LFD.2.00.1012161939340.12146@localhost6.localdomain6/ Can you explain what changed or what was missed? Thanks, Richard