Add support for the F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK fcntl

commands. BZ#337285.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14149
This commit is contained in:
Tom Hughes 2014-07-10 14:48:00 +00:00
parent 26296e07c9
commit 82ec0b5d43
11 changed files with 40 additions and 0 deletions

1
NEWS
View File

@ -172,6 +172,7 @@ where XXXXXX is the bug number as listed below.
335441 unhandled ioctl 0x8905 (SIOCATMARK) when running wine under valgrind
335496 arm64: sbc/abc instructions are not implemented
336772 Make moans about unknown ioctls more informative
337285 fcntl commands F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK not supported
n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling
n-i-bz s390x: Fix memory corruption for multithreaded applications
n-i-bz vex arm->IR: allow PC as basereg in some LDRD cases

View File

@ -5205,6 +5205,9 @@ PRE(sys_fcntl)
case VKI_F_SETLK64:
case VKI_F_SETLKW64:
# endif
case VKI_F_OFD_GETLK:
case VKI_F_OFD_SETLK:
case VKI_F_OFD_SETLKW:
PRINT("sys_fcntl[ARG3=='lock'] ( %ld, %ld, %#lx )", ARG1,ARG2,ARG3);
PRE_REG_READ3(long, "fcntl",
unsigned int, fd, unsigned int, cmd,

View File

@ -273,6 +273,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2

View File

@ -274,6 +274,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2

View File

@ -246,6 +246,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2

View File

@ -343,6 +343,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_GETLK64 33 /* using 'struct flock64' */
#define VKI_F_SETLK64 34
#define VKI_F_SETLKW64 35

View File

@ -348,6 +348,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_GETLK64 33 /* using 'struct flock64' */
#define VKI_F_SETLK64 34
#define VKI_F_SETLKW64 35

View File

@ -341,6 +341,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2

View File

@ -390,6 +390,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2

View File

@ -335,6 +335,10 @@ typedef struct vki_sigaltstack {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2

View File

@ -312,6 +312,10 @@ struct vki_sigcontext {
#define VKI_F_SETOWN_EX 15
#define VKI_F_GETOWN_EX 16
#define VKI_F_OFD_GETLK 36
#define VKI_F_OFD_SETLK 37
#define VKI_F_OFD_SETLKW 38
#define VKI_F_OWNER_TID 0
#define VKI_F_OWNER_PID 1
#define VKI_F_OWNER_PGRP 2