On Tue, 24 Nov 2020 at 15:50, Jan Kara <jack@xxxxxxx> wrote: > > On Tue 24-11-20 09:45:07, Borislav Petkov wrote: > > On Mon, Nov 23, 2020 at 11:46:51PM +0100, Paweł Jasiak wrote: > > > On 23/11/20, Jan Kara wrote: > > > > OK, with a help of Boris Petkov I think I have a fix that looks correct > > > > (attach). Can you please try whether it works for you? Thanks! > > > <trim> > > Thanks for checking! I didn't realize I needed to change the ifdefs as well > (I missed that bit in 121b32a58a3a). So do I understand correctly that > whenever the kernel is 64-bit, 64-bit syscall args (e.g. defined as u64) are > passed just fine regardless of whether the userspace is 32-bit or not? > > Also how about other 32-bit archs? Because I now realized that > CONFIG_COMPAT as well as the COMPAT_SYSCALL_DEFINE6() is also utilized by > other 32-bit archs (I can see a reference to compat_sys_fanotify_mark e.g. > in sparc, powerpc, and other args). So I probably need to actually keep > that for other archs but do the modification only for x86, don't I? > > So something like attached patch? I have tested the attached patch on i386 and qemu_i386 and the reported problem got fixed. Test links, https://lkft.validation.linaro.org/scheduler/job/1985236#L1176 https://lkft.validation.linaro.org/scheduler/job/1985238#L801 -- Linaro LKFT https://lkft.linaro.org