File bnc558964.diff of Package valgrind

--- coregrind/m_syswrap/priv_syswrap-linux.h
+++ coregrind/m_syswrap/priv_syswrap-linux.h
@@ -116,6 +116,7 @@
 DECL_TEMPLATE(linux, sys_get_mempolicy);
 
 DECL_TEMPLATE(linux, sys_inotify_init);
+DECL_TEMPLATE(linux, sys_inotify_init1);
 DECL_TEMPLATE(linux, sys_inotify_add_watch);
 DECL_TEMPLATE(linux, sys_inotify_rm_watch);
 
--- coregrind/m_syswrap/syswrap-amd64-linux.c
+++ coregrind/m_syswrap/syswrap-amd64-linux.c
@@ -1374,8 +1374,8 @@
    LINX_(__NR_eventfd2,          sys_eventfd2),         // 290
    LINXY(__NR_epoll_create1,     sys_epoll_create1),    // 291
    //   (__NR_dup3,              sys_ni_syscall)        // 292
-   LINXY(__NR_pipe2,             sys_pipe2)             // 293
-   //   (__NR_inotify_init1,     sys_ni_syscall)        // 294
+   LINXY(__NR_pipe2,             sys_pipe2),            // 293
+   LINXY(__NR_inotify_init1,     sys_inotify_init1)     // 294
 };
 
 const UInt ML_(syscall_table_size) = 
--- coregrind/m_syswrap/syswrap-linux.c
+++ coregrind/m_syswrap/syswrap-linux.c
@@ -1526,6 +1526,24 @@
    }
 }
 
+PRE(sys_inotify_init1)
+{
+   PRINT("sys_inotify_init ( %ld )", ARG1);
+   PRE_REG_READ1(long, "inotify_init", int, flag);
+}
+
+POST(sys_inotify_init1)
+{
+   vg_assert(SUCCESS);
+   if (!ML_(fd_allowed)(RES, "inotify_init", tid, True)) {
+      VG_(close)(RES);
+      SET_STATUS_Failure( VKI_EMFILE );
+   } else {
+      if (VG_(clo_track_fds))
+         ML_(record_fd_open_nameless) (tid, RES);
+   }
+}
+
 PRE(sys_inotify_add_watch)
 {
    PRINT( "sys_inotify_add_watch ( %ld, %#lx, %lx )", ARG1,ARG2,ARG3);
--- coregrind/m_syswrap/syswrap-ppc32-linux.c
+++ coregrind/m_syswrap/syswrap-ppc32-linux.c
@@ -1866,8 +1866,8 @@
    LINX_(__NR_eventfd2,          sys_eventfd2),         // 314
    LINXY(__NR_epoll_create1,     sys_epoll_create1),    // 315
    //   (__NR_dup3,              sys_ni_syscall)        // 316
-   LINXY(__NR_pipe2,             sys_pipe2)             // 317
-   //   (__NR_inotify_init1,     sys_ni_syscall)        // 318
+   LINXY(__NR_pipe2,             sys_pipe2),            // 317
+   LINXY(__NR_inotify_init1,     sys_inotify_init1),    // 318
 };
 
 const UInt ML_(syscall_table_size) = 
--- coregrind/m_syswrap/syswrap-ppc64-linux.c
+++ coregrind/m_syswrap/syswrap-ppc64-linux.c
@@ -1506,8 +1506,8 @@
    LINX_(__NR_eventfd2,          sys_eventfd2),         // 314
    LINXY(__NR_epoll_create1,     sys_epoll_create1),    // 315
    //   (__NR_dup3,              sys_ni_syscall)        // 316
-   LINXY(__NR_pipe2,             sys_pipe2)             // 317
-   //   (__NR_inotify_init1,     sys_ni_syscall)        // 318
+   LINXY(__NR_pipe2,             sys_pipe2),            // 317
+   LINXY(__NR_inotify_init1,     sys_inotify_init1),    // 318
 };
 
 const UInt ML_(syscall_table_size) = 
--- coregrind/m_syswrap/syswrap-x86-linux.c
+++ coregrind/m_syswrap/syswrap-x86-linux.c
@@ -2253,8 +2253,8 @@
    LINXY(__NR_epoll_create1,     sys_epoll_create1),     // 329
 
    //   (__NR_dup3,              sys_ni_syscall)        // 330
-   LINXY(__NR_pipe2,             sys_pipe2)             // 331
-   //   (__NR_inotify_init1,     sys_ni_syscall)        // 332
+   LINXY(__NR_pipe2,             sys_pipe2),            // 331
+   LINXY(__NR_inotify_init1,     sys_inotify_init1),    // 332
 };
 
 const UInt ML_(syscall_table_size) = 
openSUSE Build Service is sponsored by