]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add support for the F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK fcntl
authorTom Hughes <tom@compton.nu>
Thu, 10 Jul 2014 14:48:00 +0000 (14:48 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 10 Jul 2014 14:48:00 +0000 (14:48 +0000)
commands. BZ#337285.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14149

NEWS
coregrind/m_syswrap/syswrap-linux.c
include/vki/vki-amd64-linux.h
include/vki/vki-arm-linux.h
include/vki/vki-arm64-linux.h
include/vki/vki-mips32-linux.h
include/vki/vki-mips64-linux.h
include/vki/vki-ppc32-linux.h
include/vki/vki-ppc64-linux.h
include/vki/vki-s390x-linux.h
include/vki/vki-x86-linux.h

diff --git a/NEWS b/NEWS
index 9bd99a1f2b440ab6f439e354e74dc69d61d21dc6..c692214a042b44f3e2c819f1a84db87d85e25044 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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
index c195ca2d99c3fadd63e791101c3ba4fe1d16e526..1b784f20dcd5453eaa752fef4d582cf409462444 100644 (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,
index fb65e03a807b4cc279c35532b1d58c75a7397333..ed6d56455face4d73f1a55d716ab154f479faa25 100644 (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
index eb12f2dbf0c85ad8da53e0571e2073b858d2c813..39fa6a9f194b358fc043f942e52e94370c630f64 100644 (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
index 4a16704d26f16e62cac8f5fad783ec368a221ab7..690505f144531c27524d9dd4f045670a729218a6 100644 (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
index a0aaea80f6fbf7ba773b5b1f1b81017c8119f185..d694f1de00239999db24a5ac38d58db5b08152c2 100644 (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
index bf49bb3275af8f38ff3992bd347b4b490cfbfeb2..c95146e93525f0642e8a542be210405f4057cee7 100644 (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
index f71dae59c78acccc831be33315be9fe4019a2565..6aea179c8a8c766014374e4dc006fe48f6edc854 100644 (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
index d239cab6ff5ee7ab68d0dd8509a93b0356d693d5..7f74558021b12a38adf3249dffd162dedada9944 100644 (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
index b878949856b95f59254cc6747336c0474710a453..c380ec4ab5f92eab206596adf139b6321c235999 100644 (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
index 8f080389d246dbd581ae133566da10b7fdfdfae3..c34e027403a844eb35ed4475720e297c22f92cff 100644 (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