[LTP] [PATCH v1 1/2] fcntl{34, 36}: Only use fcntl64 with 32bit abi

Edward Liaw edliaw@google.com
Thu Apr 27 19:24:56 CEST 2023


On Thu, Apr 27, 2023 at 2:35 AM Petr Vorel <pvorel@suse.cz> wrote:
>
> Hi Edward,
>
> > Fixes: 7643115aaacb ("fcntl{34,36}: Always use 64-bit flock struct to avoid EINVAL")
>
> > On Android arm64, tst_kernel_bits is disregarding the abi, so compiling
> What exactly do you mean by "disregarding the abi"? Why is aarch64 different?

In x86/entry/syscalls/syscall_32.tbl, a 64bit kernel uses
compat_sys_fcntl64, which is flock64 compatible; whereas in
arm/tools/syscall.tbl it uses sys_fcntl, which is not flock64
compatible.

> Once we removed tst_kernel_bits(), there is no need to pass "fcntl64" as %s,
> thus it should be:
>
>                  "fcntl64(%d, %s, { %d, %d, %"PRId64", %"PRId64", %d })",
>                  fd, cmd_name, l64.l_type, l64.l_whence, l64.l_start, l64.l_len,
>                  l64.l_pid);
>
> Otherwise LGTM.

Sounds good, I will send a v2.


More information about the ltp mailing list