linux-user: Support F_ADD_SEALS and F_GET_SEALS fcntls
Also reorder blocks so that they are all in the same order everywhere. Signed-off-by: Shu-Chun Weng <scw@google.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20201218193213.3566856-2-scw@google.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
48202c7124
commit
2bb963ff6b
@ -2066,11 +2066,34 @@ print_fcntl(void *cpu_env, const struct syscallname *name,
|
||||
break;
|
||||
case TARGET_F_SETLEASE:
|
||||
qemu_log("F_SETLEASE,");
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 0);
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 1);
|
||||
break;
|
||||
case TARGET_F_GETLEASE:
|
||||
qemu_log("F_GETLEASE");
|
||||
break;
|
||||
#ifdef F_DUPFD_CLOEXEC
|
||||
case TARGET_F_DUPFD_CLOEXEC:
|
||||
qemu_log("F_DUPFD_CLOEXEC,");
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 1);
|
||||
break;
|
||||
#endif
|
||||
case TARGET_F_NOTIFY:
|
||||
qemu_log("F_NOTIFY,");
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 1);
|
||||
break;
|
||||
#ifdef F_GETOWN_EX
|
||||
case TARGET_F_GETOWN_EX:
|
||||
qemu_log("F_GETOWN_EX,");
|
||||
print_pointer(arg2, 1);
|
||||
break;
|
||||
#endif
|
||||
#ifdef F_SETOWN_EX
|
||||
case TARGET_F_SETOWN_EX:
|
||||
qemu_log("F_SETOWN_EX,");
|
||||
print_pointer(arg2, 1);
|
||||
break;
|
||||
#endif
|
||||
#ifdef F_SETPIPE_SZ
|
||||
case TARGET_F_SETPIPE_SZ:
|
||||
qemu_log("F_SETPIPE_SZ,");
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 1);
|
||||
@ -2078,14 +2101,16 @@ print_fcntl(void *cpu_env, const struct syscallname *name,
|
||||
case TARGET_F_GETPIPE_SZ:
|
||||
qemu_log("F_GETPIPE_SZ");
|
||||
break;
|
||||
case TARGET_F_DUPFD_CLOEXEC:
|
||||
qemu_log("F_DUPFD_CLOEXEC,");
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 1);
|
||||
#endif
|
||||
#ifdef F_ADD_SEALS
|
||||
case TARGET_F_ADD_SEALS:
|
||||
qemu_log("F_ADD_SEALS,");
|
||||
print_raw_param("0x"TARGET_ABI_FMT_lx, arg2, 1);
|
||||
break;
|
||||
case TARGET_F_NOTIFY:
|
||||
qemu_log("F_NOTIFY,");
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg2, 0);
|
||||
case TARGET_F_GET_SEALS:
|
||||
qemu_log("F_GET_SEALS");
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
print_raw_param(TARGET_ABI_FMT_ld, arg1, 0);
|
||||
print_pointer(arg2, 1);
|
||||
|
@ -6639,6 +6639,14 @@ static int target_to_host_fcntl_cmd(int cmd)
|
||||
case TARGET_F_GETPIPE_SZ:
|
||||
ret = F_GETPIPE_SZ;
|
||||
break;
|
||||
#endif
|
||||
#ifdef F_ADD_SEALS
|
||||
case TARGET_F_ADD_SEALS:
|
||||
ret = F_ADD_SEALS;
|
||||
break;
|
||||
case TARGET_F_GET_SEALS:
|
||||
ret = F_GET_SEALS;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
ret = -TARGET_EINVAL;
|
||||
@ -6931,6 +6939,8 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
|
||||
case TARGET_F_GETLEASE:
|
||||
case TARGET_F_SETPIPE_SZ:
|
||||
case TARGET_F_GETPIPE_SZ:
|
||||
case TARGET_F_ADD_SEALS:
|
||||
case TARGET_F_GET_SEALS:
|
||||
ret = get_errno(safe_fcntl(fd, host_cmd, arg));
|
||||
break;
|
||||
|
||||
|
@ -2408,12 +2408,14 @@ struct target_statfs64 {
|
||||
#endif
|
||||
|
||||
#define TARGET_F_LINUX_SPECIFIC_BASE 1024
|
||||
#define TARGET_F_SETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 0)
|
||||
#define TARGET_F_GETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 1)
|
||||
#define TARGET_F_DUPFD_CLOEXEC (TARGET_F_LINUX_SPECIFIC_BASE + 6)
|
||||
#define TARGET_F_SETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 7)
|
||||
#define TARGET_F_GETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 8)
|
||||
#define TARGET_F_NOTIFY (TARGET_F_LINUX_SPECIFIC_BASE+2)
|
||||
#define TARGET_F_SETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 0)
|
||||
#define TARGET_F_GETLEASE (TARGET_F_LINUX_SPECIFIC_BASE + 1)
|
||||
#define TARGET_F_DUPFD_CLOEXEC (TARGET_F_LINUX_SPECIFIC_BASE + 6)
|
||||
#define TARGET_F_NOTIFY (TARGET_F_LINUX_SPECIFIC_BASE + 2)
|
||||
#define TARGET_F_SETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 7)
|
||||
#define TARGET_F_GETPIPE_SZ (TARGET_F_LINUX_SPECIFIC_BASE + 8)
|
||||
#define TARGET_F_ADD_SEALS (TARGET_F_LINUX_SPECIFIC_BASE + 9)
|
||||
#define TARGET_F_GET_SEALS (TARGET_F_LINUX_SPECIFIC_BASE + 10)
|
||||
|
||||
#include "target_fcntl.h"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user