[arch-commits] Commit in sysdig/trunk (PKGBUILD glibc.patch linux-5.1.patch)

Massimiliano Torromeo mtorromeo at archlinux.org
Fri May 24 08:35:56 UTC 2019


    Date: Friday, May 24, 2019 @ 08:35:55
  Author: mtorromeo
Revision: 469562

upgpkg: sysdig 0.26.0-1

Added:
  sysdig/trunk/glibc.patch
Modified:
  sysdig/trunk/PKGBUILD
  sysdig/trunk/linux-5.1.patch

-----------------+
 PKGBUILD        |   14 +
 glibc.patch     |   12 +
 linux-5.1.patch |  444 ++++++++++++++++++++++++++++--------------------------
 3 files changed, 257 insertions(+), 213 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-05-24 08:26:57 UTC (rev 469561)
+++ PKGBUILD	2019-05-24 08:35:55 UTC (rev 469562)
@@ -3,8 +3,8 @@
 # Contribuitor: Christian Babeux <christian.babeux at 0x80.ca>
 
 pkgname=sysdig
-pkgver=0.25
-pkgrel=2
+pkgver=0.26.0
+pkgrel=1
 pkgdesc="Open source system-level exploration and troubleshooting tool"
 arch=('x86_64')
 url="https://www.sysdig.com/"
@@ -13,15 +13,18 @@
 makedepends=('cmake' 'pandoc')
 source=("https://github.com/draios/sysdig/archive/$pkgver/$pkgname-$pkgver.tar.gz"
         "bashcomp-location.patch"
-        "linux-5.1.patch")
-sha256sums=('4ab2d3cebb49e3b059bf974d68cef4cedc141d1544fa2b252cfa1cdf3ee33fdd'
+        "linux-5.1.patch"
+        "glibc.patch")
+sha256sums=('bf0f119d6c5216d25fe8acb0d340b0df01e32fc56119653da5928a1113a976fe'
             'aaee8a0ff414a24c5d5a479229324be1667bc5eb70702838f5d617fd986f947b'
-            '4440ad68b2c8d7f4d6a13adcc0c901bb07faece70bb91a4e0b5e5c744dd9603b')
+            '4f0666813276af5d07314afc71986b1b4f1b2dc59cb517936a138adf63133077'
+            '9d9ee715500cb5c3709cf6a77e95421edaaae5f15dbb1c7c8ad2147cc9637939')
 
 prepare() {
   cd "$srcdir"/$pkgname-$pkgver
   patch -p1 -i "$srcdir"/bashcomp-location.patch
   patch -p1 -i "$srcdir"/linux-5.1.patch
+  patch -p1 -i "$srcdir"/glibc.patch
 }
 
 build() {
@@ -31,6 +34,7 @@
   cd build
   cmake .. \
         -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+        -DCMAKE_EXE_LINKER_FLAGS="-ltbb -lcurl" \
         -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
         -DCMAKE_BUILD_TYPE=Release \
         -DCMAKE_INSTALL_PREFIX=/usr \

Added: glibc.patch
===================================================================
--- glibc.patch	                        (rev 0)
+++ glibc.patch	2019-05-24 08:35:55 UTC (rev 469562)
@@ -0,0 +1,12 @@
+diff --git a/userspace/libscap/scap_fds.c b/userspace/libscap/scap_fds.c
+index 452353a..c1e38b1 100644
+--- a/userspace/libscap/scap_fds.c
++++ b/userspace/libscap/scap_fds.c
+@@ -25,6 +25,7 @@ limitations under the License.
+ #include "scap_savefile.h"
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <fcntl.h>
+ #include "uthash.h"
+ #ifdef _WIN32

Modified: linux-5.1.patch
===================================================================
--- linux-5.1.patch	2019-05-24 08:26:57 UTC (rev 469561)
+++ linux-5.1.patch	2019-05-24 08:35:55 UTC (rev 469562)
@@ -1,8 +1,43 @@
+From a6ab1e66fc05a02178e051ea2441633996d5871e Mon Sep 17 00:00:00 2001
+From: Nathan Baker <7409217+nathan-b at users.noreply.github.com>
+Date: Thu, 23 May 2019 09:59:06 -0400
+Subject: [PATCH] Changes to build the kmod with 5.1 kernels [SMAGENT-1643]
+ (#1413)
+
+[SMAGENT-1643] Changes to build the kmod with 5.1 kernels
+
+* The syscall_get_arguments function changed its parameters.
+* The mmap symbols changed header locations
+* Wrapped the kernel version check in a function
+---
+ driver/main.c             |  21 ++-
+ driver/ppm.h              |   2 +
+ driver/ppm_events.c       |  47 +++---
+ driver/ppm_fillers.c      | 345 ++++++++++++++++++++------------------
+ driver/ppm_flag_helpers.h |   3 +-
+ 5 files changed, 227 insertions(+), 191 deletions(-)
+
 diff --git a/driver/main.c b/driver/main.c
-index a2b0b64..cdd8d2d 100644
+index a2b0b6453..fc8768584 100644
 --- a/driver/main.c
 +++ b/driver/main.c
-@@ -1284,11 +1284,14 @@ static const unsigned char compat_nas[21] = {
+@@ -216,6 +216,15 @@ do {								\
+ 		pr_info(fmt, ##__VA_ARGS__);			\
+ } while (0)
+ 
++inline void ppm_syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, unsigned long *args)
++{
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
++    syscall_get_arguments(task, regs, 0, 6, args);
++#else
++    syscall_get_arguments(task, regs, args);
++#endif
++}
++
+ /* compat tracepoint functions */
+ static int compat_register_trace(void *func, const char *probename, struct tracepoint *tp)
+ {
+@@ -1284,11 +1293,10 @@ static const unsigned char compat_nas[21] = {
  #ifdef _HAS_SOCKETCALL
  static enum ppm_event_type parse_socketcall(struct event_filler_arguments *filler_args, struct pt_regs *regs)
  {
@@ -12,15 +47,11 @@
  	int socketcall_id;
 -
 -	syscall_get_arguments(current, regs, 0, 2, args);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+	syscall_get_arguments(current, regs, 0, 6, args);
-+#else
-+	syscall_get_arguments(current, regs, args);
-+#endif
++	ppm_syscall_get_arguments(current, regs, args);
  	socketcall_id = args[0];
  	scargs = (unsigned long __user *)args[1];
  
-@@ -1403,6 +1406,7 @@ static inline void record_drop_x(struct ppm_consumer_t *consumer, struct timespe
+@@ -1403,6 +1411,7 @@ static inline void record_drop_x(struct ppm_consumer_t *consumer, struct timespe
  static inline int drop_nostate_event(enum ppm_event_type event_type,
  				     struct pt_regs *regs)
  {
@@ -28,39 +59,42 @@
  	unsigned long arg = 0;
  	int close_fd = -1;
  	struct files_struct *files;
-@@ -1424,7 +1428,12 @@ static inline int drop_nostate_event(enum ppm_event_type event_type,
+@@ -1424,7 +1433,8 @@ static inline int drop_nostate_event(enum ppm_event_type event_type,
  		 * The invalid fd events don't matter to userspace in dropping mode,
  		 * so we do this before the UF_NEVER_DROP check
  		 */
 -		syscall_get_arguments(current, regs, 0, 1, &arg);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+		syscall_get_arguments(current, regs, 0, 6, args);
-+#else
-+		syscall_get_arguments(current, regs, args);
-+#endif
++		ppm_syscall_get_arguments(current, regs, args);
 +		arg = args[0];
  		close_fd = (int)arg;
  
  		files = current->files;
-@@ -1444,7 +1453,12 @@ static inline int drop_nostate_event(enum ppm_event_type event_type,
+@@ -1444,7 +1454,8 @@ static inline int drop_nostate_event(enum ppm_event_type event_type,
  	case PPME_SYSCALL_FCNTL_E:
  	case PPME_SYSCALL_FCNTL_X:
  		// cmd arg
 -		syscall_get_arguments(current, regs, 1, 1, &arg);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+		syscall_get_arguments(current, regs, 0, 6, args);
-+#else
-+		syscall_get_arguments(current, regs, args);
-+#endif
++		ppm_syscall_get_arguments(current, regs, args);
 +		arg = args[1];
  		if (arg != F_DUPFD && arg != F_DUPFD_CLOEXEC)
  			drop = true;
  		break;
+diff --git a/driver/ppm.h b/driver/ppm.h
+index 6ecc2b719..6077fa425 100644
+--- a/driver/ppm.h
++++ b/driver/ppm.h
+@@ -113,4 +113,6 @@ extern const struct syscall_evt_pair g_syscall_ia32_table[];
+ extern const enum ppm_syscall_code g_syscall_ia32_code_routing_table[];
+ #endif
+ 
++extern void ppm_syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, unsigned long *args);
++
+ #endif /* PPM_H_ */
 diff --git a/driver/ppm_events.c b/driver/ppm_events.c
-index cc3eb98..db13d07 100644
+index 77671a9fa..fd96acd8c 100644
 --- a/driver/ppm_events.c
 +++ b/driver/ppm_events.c
-@@ -244,14 +244,20 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+@@ -249,14 +249,16 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
  			if (err == 0) {
  				if(args->event_type == PPME_SOCKET_SENDTO_X)
  				{
@@ -74,17 +108,13 @@
 -						syscall_get_arguments(current, args->regs, 4, 1, &val);
 -					else
 +					if (!args->is_socketcall) {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+						syscall_get_arguments(current, args->regs, 0, 6, syscall_args);
-+#else
-+						syscall_get_arguments(current, args->regs, syscall_args);
-+#endif
++						ppm_syscall_get_arguments(current, args->regs, syscall_args);
 +						val = syscall_args[4];
 +					} else
  						val = args->socketcall_args[4];
  
  					usrsockaddr = (struct sockaddr __user *)val;
-@@ -265,9 +271,14 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+@@ -270,9 +272,10 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
  						/*
  						 * Get the address len
  						 */
@@ -92,17 +122,13 @@
 -							syscall_get_arguments(current, args->regs, 5, 1, &val);
 -						else
 +						if (!args->is_socketcall) {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+							syscall_get_arguments(current, args->regs, 0, 6, syscall_args);
-+#else
-+							syscall_get_arguments(current, args->regs, syscall_args);
-+#endif
++							ppm_syscall_get_arguments(current, args->regs, syscall_args);
 +							val = syscall_args[5];
 +						} else
  							val = args->socketcall_args[5];
  
  						if (val != 0) {
-@@ -283,6 +294,7 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+@@ -288,6 +291,7 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
  						}
  					}
  				} else if (args->event_type == PPME_SOCKET_SENDMSG_X) {
@@ -110,7 +136,7 @@
  					unsigned long val;
  					struct sockaddr __user * usrsockaddr;
  					int addrlen;
-@@ -295,9 +307,14 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
+@@ -300,9 +304,10 @@ inline u32 compute_snaplen(struct event_filler_arguments *args, char *buf, u32 l
  					struct msghdr mh;
  #endif
  
@@ -118,17 +144,13 @@
 -						syscall_get_arguments(current, args->regs, 1, 1, &val);
 -					else
 +					if (!args->is_socketcall) {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+						syscall_get_arguments(current, args->regs, 0, 6, syscall_args);
-+#else
-+						syscall_get_arguments(current, args->regs, syscall_args);
-+#endif
++						ppm_syscall_get_arguments(current, args->regs, syscall_args);
 +						val = syscall_args[1];
 +					} else
  						val = args->socketcall_args[1];
  
  #ifdef CONFIG_COMPAT
-@@ -1106,6 +1123,7 @@ int32_t parse_readv_writev_bufs(struct event_filler_arguments *args, const struc
+@@ -1113,6 +1118,7 @@ int32_t parse_readv_writev_bufs(struct event_filler_arguments *args, const struc
  	unsigned long bufsize;
  	char *targetbuf = args->str_storage;
  	u32 targetbuflen = STR_STORAGE_SIZE;
@@ -136,7 +158,7 @@
  	unsigned long val;
  	u32 notcopied_len;
  	size_t tocopy_len;
-@@ -1151,9 +1169,14 @@ int32_t parse_readv_writev_bufs(struct event_filler_arguments *args, const struc
+@@ -1158,9 +1164,10 @@ int32_t parse_readv_writev_bufs(struct event_filler_arguments *args, const struc
  			/*
  			 * Retrieve the FD. It will be used for dynamic snaplen calculation.
  			 */
@@ -144,17 +166,13 @@
 -				syscall_get_arguments(current, args->regs, 0, 1, &val);
 -			else
 +			if (!args->is_socketcall) {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+				syscall_get_arguments(current, args->regs, 0, 6, syscall_args);
-+#else
-+				syscall_get_arguments(current, args->regs, syscall_args);
-+#endif
++				ppm_syscall_get_arguments(current, args->regs, syscall_args);
 +				val = syscall_args[0];
 +			} else
  				val = args->socketcall_args[0];
  			args->fd = (int)val;
  
-@@ -1237,6 +1260,7 @@ int32_t compat_parse_readv_writev_bufs(struct event_filler_arguments *args, cons
+@@ -1244,6 +1251,7 @@ int32_t compat_parse_readv_writev_bufs(struct event_filler_arguments *args, cons
  	unsigned long bufsize;
  	char *targetbuf = args->str_storage;
  	u32 targetbuflen = STR_STORAGE_SIZE;
@@ -162,7 +180,7 @@
  	unsigned long val;
  	u32 notcopied_len;
  	compat_size_t tocopy_len;
-@@ -1282,9 +1306,14 @@ int32_t compat_parse_readv_writev_bufs(struct event_filler_arguments *args, cons
+@@ -1289,9 +1297,10 @@ int32_t compat_parse_readv_writev_bufs(struct event_filler_arguments *args, cons
  			/*
  			 * Retrieve the FD. It will be used for dynamic snaplen calculation.
  			 */
@@ -170,17 +188,13 @@
 -				syscall_get_arguments(current, args->regs, 0, 1, &val);
 -			else
 +			if (!args->is_socketcall) {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+				syscall_get_arguments(current, args->regs, 0, 6, syscall_args);
-+#else
-+				syscall_get_arguments(current, args->regs, syscall_args);
-+#endif
++				ppm_syscall_get_arguments(current, args->regs, syscall_args);
 +				val = syscall_args[0];
 +			} else
  				val = args->socketcall_args[0];
  			args->fd = (int)val;
  
-@@ -1368,6 +1397,7 @@ int32_t compat_parse_readv_writev_bufs(struct event_filler_arguments *args, cons
+@@ -1375,6 +1384,7 @@ int32_t compat_parse_readv_writev_bufs(struct event_filler_arguments *args, cons
  int f_sys_autofill(struct event_filler_arguments *args)
  {
  	int res;
@@ -188,7 +202,7 @@
  	unsigned long val;
  	u32 j;
  	int64_t retval;
-@@ -1386,11 +1416,12 @@ int f_sys_autofill(struct event_filler_arguments *args)
+@@ -1393,11 +1403,8 @@ int f_sys_autofill(struct event_filler_arguments *args)
  				/*
  				 * Regular argument
  				 */
@@ -197,25 +211,21 @@
 -						evinfo->autofill_args[j].id,
 -						1,
 -						&val);
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0))
-+				syscall_get_arguments(current, args->regs, 0, 6, syscall_args);
-+#else
-+				syscall_get_arguments(current, args->regs, syscall_args);
-+#endif
++				ppm_syscall_get_arguments(current, args->regs, syscall_args);
 +				val = syscall_args[evinfo->autofill_args[j].id];
  			}
  
  			res = val_to_ring(args, val, 0, true, 0);
 diff --git a/driver/ppm_fillers.c b/driver/ppm_fillers.c
-index ccf092f..c9c4e67 100644
+index 82d0b162a..883827afd 100644
 --- a/driver/ppm_fillers.c
 +++ b/driver/ppm_fillers.c
-@@ -48,6 +48,23 @@ or GPL2.txt for full copies of the license.
+@@ -56,6 +56,23 @@ static inline struct inode *file_inode(struct file *f)
  
  #define merge_64(hi, lo) ((((unsigned long long)(hi)) << 32) + ((lo) & 0xffffffffUL))
  
 +/*
-+ * Linux 5.1 kernels modify the syscall_get_arguments_deprecated function to always
++ * Linux 5.1 kernels modify the syscall_get_arguments function to always
 + * return all arguments rather than allowing the caller to select which
 + * arguments are desired. This wrapper replicates the original
 + * functionality.
@@ -234,7 +244,7 @@
  int f_sys_generic(struct event_filler_arguments *args)
  {
  	int res;
-@@ -107,7 +124,7 @@ int f_sys_single(struct event_filler_arguments *args)
+@@ -115,7 +132,7 @@ int f_sys_single(struct event_filler_arguments *args)
  	int res;
  	unsigned long val;
  
@@ -243,7 +253,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -147,7 +164,7 @@ int f_sys_open_x(struct event_filler_arguments *args)
+@@ -195,7 +212,7 @@ int f_sys_open_x(struct event_filler_arguments *args)
  	/*
  	 * name
  	 */
@@ -252,7 +262,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -156,7 +173,7 @@ int f_sys_open_x(struct event_filler_arguments *args)
+@@ -204,7 +221,7 @@ int f_sys_open_x(struct event_filler_arguments *args)
  	 * Flags
  	 * Note that we convert them into the ppm portable representation before pushing them to the ring
  	 */
@@ -261,7 +271,7 @@
  	res = val_to_ring(args, open_flags_to_scap(flags), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -164,7 +181,7 @@ int f_sys_open_x(struct event_filler_arguments *args)
+@@ -212,7 +229,7 @@ int f_sys_open_x(struct event_filler_arguments *args)
  	/*
  	 *  mode
  	 */
@@ -270,7 +280,7 @@
  	res = val_to_ring(args, open_modes_to_scap(flags, modes), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -182,7 +199,7 @@ int f_sys_read_x(struct event_filler_arguments *args)
+@@ -237,7 +254,7 @@ int f_sys_read_x(struct event_filler_arguments *args)
  	/*
  	 * Retrieve the FD. It will be used for dynamic snaplen calculation.
  	 */
@@ -279,7 +289,7 @@
  	args->fd = (int)val;
  
  	/*
-@@ -203,7 +220,7 @@ int f_sys_read_x(struct event_filler_arguments *args)
+@@ -258,7 +275,7 @@ int f_sys_read_x(struct event_filler_arguments *args)
  		val = 0;
  		bufsize = 0;
  	} else {
@@ -288,7 +298,7 @@
  
  		/*
  		 * The return value can be lower than the value provided by the user,
-@@ -233,7 +250,7 @@ int f_sys_write_x(struct event_filler_arguments *args)
+@@ -288,7 +305,7 @@ int f_sys_write_x(struct event_filler_arguments *args)
  	/*
  	 * Retrieve the FD. It will be used for dynamic snaplen calculation.
  	 */
@@ -297,7 +307,7 @@
  	args->fd = (int)val;
  
  	/*
-@@ -248,13 +265,13 @@ int f_sys_write_x(struct event_filler_arguments *args)
+@@ -303,13 +320,13 @@ int f_sys_write_x(struct event_filler_arguments *args)
  	/*
  	 * data
  	 */
@@ -313,7 +323,7 @@
  	args->enforce_snaplen = true;
  	res = val_to_ring(args, val, bufsize, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -693,7 +710,7 @@ int f_proc_startupdate(struct event_filler_arguments *args)
+@@ -748,7 +765,7 @@ int f_proc_startupdate(struct event_filler_arguments *args)
  			 */
  			args->str_storage[0] = 0;
  
@@ -322,7 +332,7 @@
  #ifdef CONFIG_COMPAT
  			if (unlikely(args->compat))
  				args_len = compat_accumulate_argv_or_env((compat_uptr_t)val,
-@@ -865,9 +882,9 @@ cgroups_error:
+@@ -920,9 +937,9 @@ int f_proc_startupdate(struct event_filler_arguments *args)
  		 */
  		if (args->event_type == PPME_SYSCALL_CLONE_20_X) {
  #ifdef CONFIG_S390
@@ -334,7 +344,7 @@
  #endif
  		} else
  			val = 0;
-@@ -940,7 +957,7 @@ cgroups_error:
+@@ -995,7 +1012,7 @@ int f_proc_startupdate(struct event_filler_arguments *args)
  			/*
  			 * The call failed, so get the env from the arguments
  			 */
@@ -343,7 +353,7 @@
  #ifdef CONFIG_COMPAT
  			if (unlikely(args->compat))
  				env_len = compat_accumulate_argv_or_env((compat_uptr_t)val,
-@@ -1009,7 +1026,7 @@ int f_sys_execve_e(struct event_filler_arguments *args)
+@@ -1064,7 +1081,7 @@ int f_sys_execve_e(struct event_filler_arguments *args)
  	/*
  	 * filename
  	 */
@@ -352,7 +362,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (res == PPM_FAILURE_INVALID_USER_MEMORY)
  		res = val_to_ring(args, (unsigned long)"<NA>", 0, false, 0);
-@@ -1041,7 +1058,7 @@ int f_sys_socket_bind_x(struct event_filler_arguments *args)
+@@ -1096,7 +1113,7 @@ int f_sys_socket_bind_x(struct event_filler_arguments *args)
  	 * addr
  	 */
  	if (!args->is_socketcall)
@@ -361,7 +371,7 @@
  	else
  		val = args->socketcall_args[1];
  
-@@ -1051,7 +1068,7 @@ int f_sys_socket_bind_x(struct event_filler_arguments *args)
+@@ -1106,7 +1123,7 @@ int f_sys_socket_bind_x(struct event_filler_arguments *args)
  	 * Get the address len
  	 */
  	if (!args->is_socketcall)
@@ -370,7 +380,7 @@
  	else
  		val = args->socketcall_args[2];
  
-@@ -1109,7 +1126,7 @@ int f_sys_connect_x(struct event_filler_arguments *args)
+@@ -1164,7 +1181,7 @@ int f_sys_connect_x(struct event_filler_arguments *args)
  	 * in the stack, and therefore we can consume them.
  	 */
  	if (!args->is_socketcall) {
@@ -379,7 +389,7 @@
  		fd = (int)val;
  	} else
  		fd = (int)args->socketcall_args[0];
-@@ -1119,7 +1136,7 @@ int f_sys_connect_x(struct event_filler_arguments *args)
+@@ -1174,7 +1191,7 @@ int f_sys_connect_x(struct event_filler_arguments *args)
  		 * Get the address
  		 */
  		if (!args->is_socketcall)
@@ -388,7 +398,7 @@
  		else
  			val = args->socketcall_args[1];
  
-@@ -1129,7 +1146,7 @@ int f_sys_connect_x(struct event_filler_arguments *args)
+@@ -1184,7 +1201,7 @@ int f_sys_connect_x(struct event_filler_arguments *args)
  		 * Get the address len
  		 */
  		if (!args->is_socketcall)
@@ -397,7 +407,7 @@
  		else
  			val = args->socketcall_args[2];
  
-@@ -1194,7 +1211,7 @@ int f_sys_socketpair_x(struct event_filler_arguments *args)
+@@ -1249,7 +1266,7 @@ int f_sys_socketpair_x(struct event_filler_arguments *args)
  		 * fds
  		 */
  		if (!args->is_socketcall)
@@ -406,7 +416,7 @@
  		else
  			val = args->socketcall_args[3];
  #ifdef CONFIG_COMPAT
-@@ -1427,9 +1444,9 @@ int f_sys_setsockopt_x(struct event_filler_arguments *args)
+@@ -1482,9 +1499,9 @@ int f_sys_setsockopt_x(struct event_filler_arguments *args)
  {
  	int res;
  	int64_t retval;
@@ -418,7 +428,7 @@
  	retval = (int64_t)(long)syscall_get_return_value(current, args->regs);
  
  	/* retval */
-@@ -1471,9 +1488,9 @@ int f_sys_getsockopt_x(struct event_filler_arguments *args)
+@@ -1526,9 +1543,9 @@ int f_sys_getsockopt_x(struct event_filler_arguments *args)
  	int res;
  	int64_t retval;
  	uint32_t optlen;
@@ -430,7 +440,7 @@
  	retval = (int64_t)(long)syscall_get_return_value(current, args->regs);
  
  	/* retval */
-@@ -1575,7 +1592,7 @@ int f_sys_accept_x(struct event_filler_arguments *args)
+@@ -1630,7 +1647,7 @@ int f_sys_accept_x(struct event_filler_arguments *args)
  	 * queuepct
  	 */
  	if (!args->is_socketcall)
@@ -439,7 +449,7 @@
  	else
  		srvskfd = args->socketcall_args[0];
  
-@@ -1617,7 +1634,7 @@ int f_sys_send_e_common(struct event_filler_arguments *args, int *fd)
+@@ -1672,7 +1689,7 @@ int f_sys_send_e_common(struct event_filler_arguments *args, int *fd)
  	 * fd
  	 */
  	if (!args->is_socketcall)
@@ -448,7 +458,7 @@
  	else
  		val = args->socketcall_args[0];
  
-@@ -1631,7 +1648,7 @@ int f_sys_send_e_common(struct event_filler_arguments *args, int *fd)
+@@ -1686,7 +1703,7 @@ int f_sys_send_e_common(struct event_filler_arguments *args, int *fd)
  	 * size
  	 */
  	if (!args->is_socketcall)
@@ -457,7 +467,7 @@
  	else
  		size = args->socketcall_args[2];
  
-@@ -1678,7 +1695,7 @@ int f_sys_sendto_e(struct event_filler_arguments *args)
+@@ -1733,7 +1750,7 @@ int f_sys_sendto_e(struct event_filler_arguments *args)
  	 * Get the address
  	 */
  	if (!args->is_socketcall)
@@ -466,7 +476,7 @@
  	else
  		val = args->socketcall_args[4];
  
-@@ -1688,7 +1705,7 @@ int f_sys_sendto_e(struct event_filler_arguments *args)
+@@ -1743,7 +1760,7 @@ int f_sys_sendto_e(struct event_filler_arguments *args)
  	 * Get the address len
  	 */
  	if (!args->is_socketcall)
@@ -475,7 +485,7 @@
  	else
  		val = args->socketcall_args[5];
  
-@@ -1736,7 +1753,7 @@ int f_sys_send_x(struct event_filler_arguments *args)
+@@ -1791,7 +1808,7 @@ int f_sys_send_x(struct event_filler_arguments *args)
  	 * Retrieve the FD. It will be used for dynamic snaplen calculation.
  	 */
  	if (!args->is_socketcall)
@@ -484,7 +494,7 @@
  	else
  		val = args->socketcall_args[0];
  
-@@ -1761,7 +1778,7 @@ int f_sys_send_x(struct event_filler_arguments *args)
+@@ -1816,7 +1833,7 @@ int f_sys_send_x(struct event_filler_arguments *args)
  		bufsize = 0;
  	} else {
  		if (!args->is_socketcall)
@@ -493,7 +503,7 @@
  		else
  			val = args->socketcall_args[1];
  
-@@ -1790,7 +1807,7 @@ int f_sys_recv_x_common(struct event_filler_arguments *args, int64_t *retval)
+@@ -1845,7 +1862,7 @@ int f_sys_recv_x_common(struct event_filler_arguments *args, int64_t *retval)
  	 * Retrieve the FD. It will be used for dynamic snaplen calculation.
  	 */
  	if (!args->is_socketcall)
@@ -502,7 +512,7 @@
  	else
  		val = args->socketcall_args[1];
  
-@@ -1815,7 +1832,7 @@ int f_sys_recv_x_common(struct event_filler_arguments *args, int64_t *retval)
+@@ -1870,7 +1887,7 @@ int f_sys_recv_x_common(struct event_filler_arguments *args, int64_t *retval)
  		bufsize = 0;
  	} else {
  		if (!args->is_socketcall)
@@ -511,7 +521,7 @@
  		else
  			val = args->socketcall_args[1];
  
-@@ -1871,7 +1888,7 @@ int f_sys_recvfrom_x(struct event_filler_arguments *args)
+@@ -1926,7 +1943,7 @@ int f_sys_recvfrom_x(struct event_filler_arguments *args)
  		 * Get the fd
  		 */
  		if (!args->is_socketcall) {
@@ -520,7 +530,7 @@
  			fd = (int)val;
  		} else
  			fd = (int)args->socketcall_args[0];
-@@ -1880,7 +1897,7 @@ int f_sys_recvfrom_x(struct event_filler_arguments *args)
+@@ -1935,7 +1952,7 @@ int f_sys_recvfrom_x(struct event_filler_arguments *args)
  		 * Get the address
  		 */
  		if (!args->is_socketcall)
@@ -529,7 +539,7 @@
  		else
  			val = args->socketcall_args[4];
  		usrsockaddr = (struct sockaddr __user *)val;
-@@ -1889,7 +1906,7 @@ int f_sys_recvfrom_x(struct event_filler_arguments *args)
+@@ -1944,7 +1961,7 @@ int f_sys_recvfrom_x(struct event_filler_arguments *args)
  		 * Get the address len
  		 */
  		if (!args->is_socketcall)
@@ -538,7 +548,7 @@
  		else
  			val = args->socketcall_args[5];
  		if (usrsockaddr != NULL && val != 0) {
-@@ -1965,7 +1982,7 @@ int f_sys_sendmsg_e(struct event_filler_arguments *args)
+@@ -2020,7 +2037,7 @@ int f_sys_sendmsg_e(struct event_filler_arguments *args)
  	 * fd
  	 */
  	if (!args->is_socketcall)
@@ -547,7 +557,7 @@
  	else
  		val = args->socketcall_args[0];
  
-@@ -1978,7 +1995,7 @@ int f_sys_sendmsg_e(struct event_filler_arguments *args)
+@@ -2033,7 +2050,7 @@ int f_sys_sendmsg_e(struct event_filler_arguments *args)
  	 * Retrieve the message header
  	 */
  	if (!args->is_socketcall)
@@ -556,7 +566,7 @@
  	else
  		val = args->socketcall_args[1];
  
-@@ -2090,7 +2107,7 @@ int f_sys_sendmsg_x(struct event_filler_arguments *args)
+@@ -2145,7 +2162,7 @@ int f_sys_sendmsg_x(struct event_filler_arguments *args)
  	 * Retrieve the message header
  	 */
  	if (!args->is_socketcall)
@@ -565,7 +575,7 @@
  	else
  		val = args->socketcall_args[1];
  
-@@ -2163,7 +2180,7 @@ int f_sys_recvmsg_x(struct event_filler_arguments *args)
+@@ -2218,7 +2235,7 @@ int f_sys_recvmsg_x(struct event_filler_arguments *args)
  	 * Retrieve the message header
  	 */
  	if (!args->is_socketcall)
@@ -574,7 +584,7 @@
  	else
  		val = args->socketcall_args[1];
  
-@@ -2207,7 +2224,7 @@ int f_sys_recvmsg_x(struct event_filler_arguments *args)
+@@ -2262,7 +2279,7 @@ int f_sys_recvmsg_x(struct event_filler_arguments *args)
  		 * Get the fd
  		 */
  		if (!args->is_socketcall) {
@@ -583,8 +593,26 @@
  			fd = (int)val;
  		} else
  			fd = (int)args->socketcall_args[0];
-@@ -2269,7 +2286,7 @@ int f_sys_pipe_x(struct event_filler_arguments *args)
+@@ -2323,7 +2340,7 @@ int f_sys_creat_x(struct event_filler_arguments *args)
  	/*
+ 	 * name
+ 	 */
+-	syscall_get_arguments(current, args->regs, 0, 1, &val);
++	syscall_get_arguments_deprecated(current, args->regs, 0, 1, &val);
+ 	res = val_to_ring(args, val, 0, true, 0);
+ 	if (unlikely(res != PPM_SUCCESS))
+ 		return res;
+@@ -2331,7 +2348,7 @@ int f_sys_creat_x(struct event_filler_arguments *args)
+ 	/*
+ 	 *  mode
+ 	 */
+-	syscall_get_arguments(current, args->regs, 1, 1, &modes);
++	syscall_get_arguments_deprecated(current, args->regs, 1, 1, &modes);
+ 	res = val_to_ring(args, open_modes_to_scap(O_CREAT, modes), 0, false, 0);
+ 	if (unlikely(res != PPM_SUCCESS))
+ 		return res;
+@@ -2365,7 +2382,7 @@ int f_sys_pipe_x(struct event_filler_arguments *args)
+ 	/*
  	 * fds
  	 */
 -	syscall_get_arguments(current, args->regs, 0, 1, &val);
@@ -592,7 +620,7 @@
  
  #ifdef CONFIG_COMPAT
  	if (!args->compat) {
-@@ -2317,7 +2334,7 @@ int f_sys_eventfd_e(struct event_filler_arguments *args)
+@@ -2413,7 +2430,7 @@ int f_sys_eventfd_e(struct event_filler_arguments *args)
  	/*
  	 * initval
  	 */
@@ -601,7 +629,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2326,7 +2343,7 @@ int f_sys_eventfd_e(struct event_filler_arguments *args)
+@@ -2422,7 +2439,7 @@ int f_sys_eventfd_e(struct event_filler_arguments *args)
  	 * flags
  	 * XXX not implemented yet
  	 */
@@ -610,7 +638,7 @@
  	val = 0;
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -2344,7 +2361,7 @@ int f_sys_shutdown_e(struct event_filler_arguments *args)
+@@ -2440,7 +2457,7 @@ int f_sys_shutdown_e(struct event_filler_arguments *args)
  	 * fd
  	 */
  	if (!args->is_socketcall)
@@ -619,7 +647,7 @@
  	else
  		val = args->socketcall_args[0];
  
-@@ -2356,7 +2373,7 @@ int f_sys_shutdown_e(struct event_filler_arguments *args)
+@@ -2452,7 +2469,7 @@ int f_sys_shutdown_e(struct event_filler_arguments *args)
  	 * how
  	 */
  	if (!args->is_socketcall)
@@ -628,7 +656,7 @@
  	else
  		val = args->socketcall_args[1];
  
-@@ -2375,7 +2392,7 @@ int f_sys_futex_e(struct event_filler_arguments *args)
+@@ -2471,7 +2488,7 @@ int f_sys_futex_e(struct event_filler_arguments *args)
  	/*
  	 * addr
  	 */
@@ -637,7 +665,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2383,7 +2400,7 @@ int f_sys_futex_e(struct event_filler_arguments *args)
+@@ -2479,7 +2496,7 @@ int f_sys_futex_e(struct event_filler_arguments *args)
  	/*
  	 * op
  	 */
@@ -646,7 +674,7 @@
  	res = val_to_ring(args, (unsigned long)futex_op_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2391,7 +2408,7 @@ int f_sys_futex_e(struct event_filler_arguments *args)
+@@ -2487,7 +2504,7 @@ int f_sys_futex_e(struct event_filler_arguments *args)
  	/*
  	 * val
  	 */
@@ -655,7 +683,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2407,7 +2424,7 @@ int f_sys_lseek_e(struct event_filler_arguments *args)
+@@ -2503,7 +2520,7 @@ int f_sys_lseek_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -664,7 +692,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2415,7 +2432,7 @@ int f_sys_lseek_e(struct event_filler_arguments *args)
+@@ -2511,7 +2528,7 @@ int f_sys_lseek_e(struct event_filler_arguments *args)
  	/*
  	 * offset
  	 */
@@ -673,7 +701,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2423,7 +2440,7 @@ int f_sys_lseek_e(struct event_filler_arguments *args)
+@@ -2519,7 +2536,7 @@ int f_sys_lseek_e(struct event_filler_arguments *args)
  	/*
  	 * whence
  	 */
@@ -682,7 +710,7 @@
  	res = val_to_ring(args, lseek_whence_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2442,7 +2459,7 @@ int f_sys_llseek_e(struct event_filler_arguments *args)
+@@ -2538,7 +2555,7 @@ int f_sys_llseek_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -691,7 +719,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2451,8 +2468,8 @@ int f_sys_llseek_e(struct event_filler_arguments *args)
+@@ -2547,8 +2564,8 @@ int f_sys_llseek_e(struct event_filler_arguments *args)
  	 * offset
  	 * We build it by combining the offset_high and offset_low system call arguments
  	 */
@@ -702,7 +730,7 @@
  	offset = (((uint64_t)oh) << 32) + ((uint64_t)ol);
  	res = val_to_ring(args, offset, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -2461,7 +2478,7 @@ int f_sys_llseek_e(struct event_filler_arguments *args)
+@@ -2557,7 +2574,7 @@ int f_sys_llseek_e(struct event_filler_arguments *args)
  	/*
  	 * whence
  	 */
@@ -711,7 +739,7 @@
  	res = val_to_ring(args, lseek_whence_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2485,7 +2502,7 @@ static int poll_parse_fds(struct event_filler_arguments *args, bool enter_event)
+@@ -2581,7 +2598,7 @@ static int poll_parse_fds(struct event_filler_arguments *args, bool enter_event)
  	 *
  	 * Get the number of fds
  	 */
@@ -720,7 +748,7 @@
  
  	/*
  	 * Check if we have enough space to store both the fd list
-@@ -2495,7 +2512,7 @@ static int poll_parse_fds(struct event_filler_arguments *args, bool enter_event)
+@@ -2591,7 +2608,7 @@ static int poll_parse_fds(struct event_filler_arguments *args, bool enter_event)
  		return PPM_FAILURE_BUFFER_FULL;
  
  	/* Get the fds pointer */
@@ -729,7 +757,7 @@
  
  	fds = (struct pollfd *)args->str_storage;
  #ifdef CONFIG_COMPAT
-@@ -2552,7 +2569,7 @@ int f_sys_poll_e(struct event_filler_arguments *args)
+@@ -2648,7 +2665,7 @@ int f_sys_poll_e(struct event_filler_arguments *args)
  	/*
  	 * timeout
  	 */
@@ -738,7 +766,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2607,7 +2624,7 @@ int f_sys_ppoll_e(struct event_filler_arguments *args)
+@@ -2703,7 +2720,7 @@ int f_sys_ppoll_e(struct event_filler_arguments *args)
  	/*
  	 * timeout
  	 */
@@ -747,7 +775,7 @@
  	/* NULL timeout specified as 0xFFFFFF.... */
  	if (val == (unsigned long)NULL)
  		res = val_to_ring(args, (uint64_t)(-1), 0, false, 0);
-@@ -2619,7 +2636,7 @@ int f_sys_ppoll_e(struct event_filler_arguments *args)
+@@ -2715,7 +2732,7 @@ int f_sys_ppoll_e(struct event_filler_arguments *args)
  	/*
  	 * sigmask
  	 */
@@ -756,7 +784,7 @@
  	if (val != (unsigned long)NULL)
  		if (0 != ppm_copy_from_user(&val, (void __user *)val, sizeof(val)))
  			return PPM_FAILURE_INVALID_USER_MEMORY;
-@@ -2661,7 +2678,7 @@ int f_sys_mount_e(struct event_filler_arguments *args)
+@@ -2757,7 +2774,7 @@ int f_sys_mount_e(struct event_filler_arguments *args)
  	 * Fix mount flags in arg 3.
  	 * See http://lxr.free-electrons.com/source/fs/namespace.c?v=4.2#L2650
  	 */
@@ -765,7 +793,7 @@
  	if ((val & PPM_MS_MGC_MSK) == PPM_MS_MGC_VAL)
  		val &= ~PPM_MS_MGC_MSK;
  	res = val_to_ring(args, val, 0, false, 0);
-@@ -2687,7 +2704,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
+@@ -2783,7 +2800,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
  	/*
  	 * dirfd
  	 */
@@ -774,7 +802,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -2699,7 +2716,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
+@@ -2795,7 +2812,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
  	/*
  	 * name
  	 */
@@ -783,7 +811,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2708,7 +2725,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
+@@ -2804,7 +2821,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
  	 * Flags
  	 * Note that we convert them into the ppm portable representation before pushing them to the ring
  	 */
@@ -792,7 +820,7 @@
  	res = val_to_ring(args, open_flags_to_scap(flags), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2716,7 +2733,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
+@@ -2812,7 +2829,7 @@ int f_sys_openat_x(struct event_filler_arguments *args)
  	/*
  	 *  mode
  	 */
@@ -801,7 +829,7 @@
  	res = val_to_ring(args, open_modes_to_scap(flags, modes), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2738,7 +2755,7 @@ int f_sys_unlinkat_x(struct event_filler_arguments *args)
+@@ -2841,7 +2858,7 @@ int f_sys_unlinkat_x(struct event_filler_arguments *args)
  	/*
  	 * dirfd
  	 */
@@ -810,7 +838,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -2750,7 +2767,7 @@ int f_sys_unlinkat_x(struct event_filler_arguments *args)
+@@ -2853,7 +2870,7 @@ int f_sys_unlinkat_x(struct event_filler_arguments *args)
  	/*
  	 * name
  	 */
@@ -819,7 +847,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2759,7 +2776,7 @@ int f_sys_unlinkat_x(struct event_filler_arguments *args)
+@@ -2862,7 +2879,7 @@ int f_sys_unlinkat_x(struct event_filler_arguments *args)
  	 * flags
  	 * Note that we convert them into the ppm portable representation before pushing them to the ring
  	 */
@@ -828,7 +856,7 @@
  	res = val_to_ring(args, unlinkat_flags_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2782,7 +2799,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
+@@ -2885,7 +2902,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
  	/*
  	 * olddir
  	 */
@@ -837,7 +865,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -2794,7 +2811,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
+@@ -2897,7 +2914,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
  	/*
  	 * oldpath
  	 */
@@ -846,7 +874,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2802,7 +2819,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
+@@ -2905,7 +2922,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
  	/*
  	 * newdir
  	 */
@@ -855,7 +883,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -2814,7 +2831,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
+@@ -2917,7 +2934,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
  	/*
  	 * newpath
  	 */
@@ -864,7 +892,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2823,7 +2840,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
+@@ -2926,7 +2943,7 @@ int f_sys_linkat_x(struct event_filler_arguments *args)
  	 * Flags
  	 * Note that we convert them into the ppm portable representation before pushing them to the ring
  	 */
@@ -873,7 +901,7 @@
  	res = val_to_ring(args, linkat_flags_to_scap(flags), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2844,7 +2861,7 @@ int f_sys_pread64_e(struct event_filler_arguments *args)
+@@ -2947,7 +2964,7 @@ int f_sys_pread64_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -882,7 +910,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2852,7 +2869,7 @@ int f_sys_pread64_e(struct event_filler_arguments *args)
+@@ -2955,7 +2972,7 @@ int f_sys_pread64_e(struct event_filler_arguments *args)
  	/*
  	 * size
  	 */
@@ -891,7 +919,7 @@
  	res = val_to_ring(args, size, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2861,11 +2878,11 @@ int f_sys_pread64_e(struct event_filler_arguments *args)
+@@ -2964,11 +2981,11 @@ int f_sys_pread64_e(struct event_filler_arguments *args)
  	 * pos
  	 */
  #if defined CONFIG_X86
@@ -907,7 +935,7 @@
  #else
   #error This architecture/abi not yet supported
  #endif
-@@ -2895,7 +2912,7 @@ int f_sys_pwrite64_e(struct event_filler_arguments *args)
+@@ -2998,7 +3015,7 @@ int f_sys_pwrite64_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -916,7 +944,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2903,7 +2920,7 @@ int f_sys_pwrite64_e(struct event_filler_arguments *args)
+@@ -3006,7 +3023,7 @@ int f_sys_pwrite64_e(struct event_filler_arguments *args)
  	/*
  	 * size
  	 */
@@ -925,7 +953,7 @@
  	res = val_to_ring(args, size, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -2914,17 +2931,17 @@ int f_sys_pwrite64_e(struct event_filler_arguments *args)
+@@ -3017,17 +3034,17 @@ int f_sys_pwrite64_e(struct event_filler_arguments *args)
  	 * separate registers that we need to merge.
  	 */
  #ifdef _64BIT_ARGS_SINGLE_REGISTER
@@ -948,7 +976,7 @@
   #else
    #error This architecture/abi not yet supported
   #endif
-@@ -2962,8 +2979,8 @@ int f_sys_readv_preadv_x(struct event_filler_arguments *args)
+@@ -3065,8 +3082,8 @@ int f_sys_readv_preadv_x(struct event_filler_arguments *args)
  	/*
  	 * data and size
  	 */
@@ -959,7 +987,7 @@
  
  #ifdef CONFIG_COMPAT
  	if (unlikely(args->compat)) {
-@@ -2994,7 +3011,7 @@ int f_sys_writev_e(struct event_filler_arguments *args)
+@@ -3097,7 +3114,7 @@ int f_sys_writev_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -968,7 +996,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3002,12 +3019,12 @@ int f_sys_writev_e(struct event_filler_arguments *args)
+@@ -3105,12 +3122,12 @@ int f_sys_writev_e(struct event_filler_arguments *args)
  	/*
  	 * size
  	 */
@@ -983,7 +1011,7 @@
  #ifdef CONFIG_COMPAT
  	if (unlikely(args->compat)) {
  		compat_iov = (const struct compat_iovec __user *)compat_ptr(val);
-@@ -3050,13 +3067,13 @@ int f_sys_writev_pwritev_x(struct event_filler_arguments *args)
+@@ -3153,13 +3170,13 @@ int f_sys_writev_pwritev_x(struct event_filler_arguments *args)
  	/*
  	 * data and size
  	 */
@@ -999,7 +1027,7 @@
  #ifdef CONFIG_COMPAT
  	if (unlikely(args->compat)) {
  		compat_iov = (const struct compat_iovec __user *)compat_ptr(val);
-@@ -3085,7 +3102,7 @@ int f_sys_preadv64_e(struct event_filler_arguments *args)
+@@ -3188,7 +3205,7 @@ int f_sys_preadv64_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -1008,7 +1036,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3100,8 +3117,8 @@ int f_sys_preadv64_e(struct event_filler_arguments *args)
+@@ -3203,8 +3220,8 @@ int f_sys_preadv64_e(struct event_filler_arguments *args)
  	 * requirements apply here. For an overly-detailed discussion about
  	 * this, see https://lwn.net/Articles/311630/
  	 */
@@ -1019,7 +1047,7 @@
  
  	pos64 = merge_64(pos1, pos0);
  
-@@ -3131,7 +3148,7 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
+@@ -3234,7 +3251,7 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -1028,7 +1056,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3139,12 +3156,12 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
+@@ -3242,12 +3259,12 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
  	/*
  	 * size
  	 */
@@ -1043,7 +1071,7 @@
  #ifdef CONFIG_COMPAT
  	if (unlikely(args->compat)) {
  		compat_iov = (const struct compat_iovec __user *)compat_ptr(val);
-@@ -3167,7 +3184,7 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
+@@ -3270,7 +3287,7 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
  	 * separate registers that we need to merge.
  	 */
  #ifdef _64BIT_ARGS_SINGLE_REGISTER
@@ -1052,7 +1080,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3178,8 +3195,8 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
+@@ -3281,8 +3298,8 @@ int f_sys_pwritev_e(struct event_filler_arguments *args)
  	 * requirements apply here. For an overly-detailed discussion about
  	 * this, see https://lwn.net/Articles/311630/
  	 */
@@ -1063,7 +1091,7 @@
  
  	pos64 = merge_64(pos1, pos0);
  
-@@ -3196,7 +3213,7 @@ int f_sys_nanosleep_e(struct event_filler_arguments *args)
+@@ -3299,7 +3316,7 @@ int f_sys_nanosleep_e(struct event_filler_arguments *args)
  	unsigned long val;
  	int res;
  
@@ -1072,7 +1100,7 @@
  	res = timespec_parse(args, val);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3213,7 +3230,7 @@ int f_sys_getrlimit_setrlimit_e(struct event_filler_arguments *args)
+@@ -3316,7 +3333,7 @@ int f_sys_getrlimit_setrlimit_e(struct event_filler_arguments *args)
  	/*
  	 * resource
  	 */
@@ -1081,7 +1109,7 @@
  
  	ppm_resource = rlimit_resource_to_scap(val);
  
-@@ -3248,7 +3265,7 @@ int f_sys_getrlimit_setrlrimit_x(struct event_filler_arguments *args)
+@@ -3351,7 +3368,7 @@ int f_sys_getrlimit_setrlrimit_x(struct event_filler_arguments *args)
  	 * Copy the user structure and extract cur and max
  	 */
  	if (retval >= 0 || args->event_type == PPME_SYSCALL_SETRLIMIT_X) {
@@ -1090,7 +1118,7 @@
  
  #ifdef CONFIG_COMPAT
  		if (!args->compat) {
-@@ -3296,7 +3313,7 @@ int f_sys_prlimit_e(struct event_filler_arguments *args)
+@@ -3399,7 +3416,7 @@ int f_sys_prlimit_e(struct event_filler_arguments *args)
  	/*
  	 * pid
  	 */
@@ -1099,7 +1127,7 @@
  
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -3305,7 +3322,7 @@ int f_sys_prlimit_e(struct event_filler_arguments *args)
+@@ -3408,7 +3425,7 @@ int f_sys_prlimit_e(struct event_filler_arguments *args)
  	/*
  	 * resource
  	 */
@@ -1108,7 +1136,7 @@
  
  	ppm_resource = rlimit_resource_to_scap(val);
  
-@@ -3342,7 +3359,7 @@ int f_sys_prlimit_x(struct event_filler_arguments *args)
+@@ -3445,7 +3462,7 @@ int f_sys_prlimit_x(struct event_filler_arguments *args)
  	 * Copy the user structure and extract cur and max
  	 */
  	if (retval >= 0) {
@@ -1117,7 +1145,7 @@
  
  #ifdef CONFIG_COMPAT
  		if (!args->compat) {
-@@ -3370,7 +3387,7 @@ int f_sys_prlimit_x(struct event_filler_arguments *args)
+@@ -3473,7 +3490,7 @@ int f_sys_prlimit_x(struct event_filler_arguments *args)
  		newmax = -1;
  	}
  
@@ -1126,7 +1154,7 @@
  
  #ifdef CONFIG_COMPAT
  	if (!args->compat) {
-@@ -3525,7 +3542,7 @@ int f_sys_fcntl_e(struct event_filler_arguments *args)
+@@ -3628,7 +3645,7 @@ int f_sys_fcntl_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -1135,7 +1163,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3533,7 +3550,7 @@ int f_sys_fcntl_e(struct event_filler_arguments *args)
+@@ -3636,7 +3653,7 @@ int f_sys_fcntl_e(struct event_filler_arguments *args)
  	/*
  	 * cmd
  	 */
@@ -1144,7 +1172,7 @@
  	res = val_to_ring(args, fcntl_cmd_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3547,7 +3564,7 @@ static inline int parse_ptrace_addr(struct event_filler_arguments *args, u16 req
+@@ -3650,7 +3667,7 @@ static inline int parse_ptrace_addr(struct event_filler_arguments *args, u16 req
  	uint64_t dst;
  	u8 idx;
  
@@ -1153,7 +1181,7 @@
  	switch (request) {
  	default:
  		idx = PPM_PTRACE_IDX_UINT64;
-@@ -3564,7 +3581,7 @@ static inline int parse_ptrace_data(struct event_filler_arguments *args, u16 req
+@@ -3667,7 +3684,7 @@ static inline int parse_ptrace_data(struct event_filler_arguments *args, u16 req
  	uint64_t dst;
  	u8 idx;
  
@@ -1162,7 +1190,7 @@
  	switch (request) {
  	case PPM_PTRACE_PEEKTEXT:
  	case PPM_PTRACE_PEEKDATA:
-@@ -3612,7 +3629,7 @@ int f_sys_ptrace_e(struct event_filler_arguments *args)
+@@ -3715,7 +3732,7 @@ int f_sys_ptrace_e(struct event_filler_arguments *args)
  	/*
  	 * request
  	 */
@@ -1171,7 +1199,7 @@
  	res = val_to_ring(args, ptrace_requests_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3620,7 +3637,7 @@ int f_sys_ptrace_e(struct event_filler_arguments *args)
+@@ -3723,7 +3740,7 @@ int f_sys_ptrace_e(struct event_filler_arguments *args)
  	/*
  	 * pid
  	 */
@@ -1180,7 +1208,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3658,7 +3675,7 @@ int f_sys_ptrace_x(struct event_filler_arguments *args)
+@@ -3761,7 +3778,7 @@ int f_sys_ptrace_x(struct event_filler_arguments *args)
  	/*
  	 * request
  	 */
@@ -1189,7 +1217,7 @@
  	request = ptrace_requests_to_scap(val);
  
  	res = parse_ptrace_addr(args, request);
-@@ -3724,7 +3741,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
+@@ -3827,7 +3844,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
  	/*
  	 * addr
  	 */
@@ -1198,7 +1226,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3732,7 +3749,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
+@@ -3835,7 +3852,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
  	/*
  	 * length
  	 */
@@ -1207,7 +1235,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3740,7 +3757,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
+@@ -3843,7 +3860,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
  	/*
  	 * prot
  	 */
@@ -1216,7 +1244,7 @@
  	res = val_to_ring(args, prot_flags_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3748,7 +3765,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
+@@ -3851,7 +3868,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
  	/*
  	 * flags
  	 */
@@ -1225,7 +1253,7 @@
  	res = val_to_ring(args, mmap_flags_to_scap(val), 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3756,7 +3773,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
+@@ -3859,7 +3876,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
  	/*
  	 * fd
  	 */
@@ -1234,7 +1262,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3764,7 +3781,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
+@@ -3867,7 +3884,7 @@ int f_sys_mmap_e(struct event_filler_arguments *args)
  	/*
  	 * offset/pgoffset
  	 */
@@ -1243,7 +1271,7 @@
  	res = val_to_ring(args, val, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3786,7 +3803,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
+@@ -3889,7 +3906,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
  	/*
  	 * olddirfd
  	 */
@@ -1252,7 +1280,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -3798,7 +3815,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
+@@ -3901,7 +3918,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
  	/*
  	 * oldpath
  	 */
@@ -1261,7 +1289,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3806,7 +3823,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
+@@ -3909,7 +3926,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
  	/*
  	 * newdirfd
  	 */
@@ -1270,7 +1298,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -3818,7 +3835,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
+@@ -3921,7 +3938,7 @@ int f_sys_renameat_x(struct event_filler_arguments *args)
  	/*
  	 * newpath
  	 */
@@ -1279,7 +1307,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3840,7 +3857,7 @@ int f_sys_symlinkat_x(struct event_filler_arguments *args)
+@@ -3943,7 +3960,7 @@ int f_sys_symlinkat_x(struct event_filler_arguments *args)
  	/*
  	 * oldpath
  	 */
@@ -1288,7 +1316,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3848,7 +3865,7 @@ int f_sys_symlinkat_x(struct event_filler_arguments *args)
+@@ -3951,7 +3968,7 @@ int f_sys_symlinkat_x(struct event_filler_arguments *args)
  	/*
  	 * newdirfd
  	 */
@@ -1297,7 +1325,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -3860,7 +3877,7 @@ int f_sys_symlinkat_x(struct event_filler_arguments *args)
+@@ -3963,7 +3980,7 @@ int f_sys_symlinkat_x(struct event_filler_arguments *args)
  	/*
  	 * newpath
  	 */
@@ -1306,7 +1334,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3896,7 +3913,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
+@@ -3999,7 +4016,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
  	/*
  	 * out_fd
  	 */
@@ -1315,7 +1343,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3904,7 +3921,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
+@@ -4007,7 +4024,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
  	/*
  	 * in_fd
  	 */
@@ -1324,7 +1352,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3912,7 +3929,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
+@@ -4015,7 +4032,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
  	/*
  	 * offset
  	 */
@@ -1333,7 +1361,7 @@
  
  	if (val != 0) {
  #ifdef CONFIG_COMPAT
-@@ -3937,7 +3954,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
+@@ -4040,7 +4057,7 @@ int f_sys_sendfile_e(struct event_filler_arguments *args)
  	/*
  	 * size
  	 */
@@ -1342,7 +1370,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -3963,7 +3980,7 @@ int f_sys_sendfile_x(struct event_filler_arguments *args)
+@@ -4066,7 +4083,7 @@ int f_sys_sendfile_x(struct event_filler_arguments *args)
  	/*
  	 * offset
  	 */
@@ -1351,7 +1379,7 @@
  
  	if (val != 0) {
  #ifdef CONFIG_COMPAT
-@@ -3999,7 +4016,7 @@ int f_sys_quotactl_e(struct event_filler_arguments *args)
+@@ -4102,7 +4119,7 @@ int f_sys_quotactl_e(struct event_filler_arguments *args)
  	/*
  	 * extract cmd
  	 */
@@ -1360,7 +1388,7 @@
  	cmd = quotactl_cmd_to_scap(val);
  	res = val_to_ring(args, cmd, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -4016,7 +4033,7 @@ int f_sys_quotactl_e(struct event_filler_arguments *args)
+@@ -4119,7 +4136,7 @@ int f_sys_quotactl_e(struct event_filler_arguments *args)
  	 *  extract id
  	 */
  	id = 0;
@@ -1369,7 +1397,7 @@
  	if ((cmd == PPM_Q_GETQUOTA) ||
  		 (cmd == PPM_Q_SETQUOTA) ||
  		 (cmd == PPM_Q_XGETQUOTA) ||
-@@ -4059,7 +4076,7 @@ int f_sys_quotactl_x(struct event_filler_arguments *args)
+@@ -4162,7 +4179,7 @@ int f_sys_quotactl_x(struct event_filler_arguments *args)
  	/*
  	 * extract cmd
  	 */
@@ -1378,7 +1406,7 @@
  	cmd = quotactl_cmd_to_scap(val);
  
  	/*
-@@ -4073,7 +4090,7 @@ int f_sys_quotactl_x(struct event_filler_arguments *args)
+@@ -4176,7 +4193,7 @@ int f_sys_quotactl_x(struct event_filler_arguments *args)
  	/*
  	 * Add special
  	 */
@@ -1387,7 +1415,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4081,7 +4098,7 @@ int f_sys_quotactl_x(struct event_filler_arguments *args)
+@@ -4184,7 +4201,7 @@ int f_sys_quotactl_x(struct event_filler_arguments *args)
  	/*
  	 * get addr
  	 */
@@ -1396,7 +1424,7 @@
  
  	/*
  	 * get quotafilepath only for QUOTAON
-@@ -4259,7 +4276,7 @@ int f_sys_getresuid_and_gid_x(struct event_filler_arguments *args)
+@@ -4362,7 +4379,7 @@ int f_sys_getresuid_and_gid_x(struct event_filler_arguments *args)
  	/*
  	 * ruid
  	 */
@@ -1405,7 +1433,7 @@
  #ifdef CONFIG_COMPAT
  	if (!args->compat) {
  #endif
-@@ -4279,7 +4296,7 @@ int f_sys_getresuid_and_gid_x(struct event_filler_arguments *args)
+@@ -4382,7 +4399,7 @@ int f_sys_getresuid_and_gid_x(struct event_filler_arguments *args)
  	/*
  	 * euid
  	 */
@@ -1414,7 +1442,7 @@
  	len = ppm_copy_from_user(&uid, (void *)val, sizeof(uint32_t));
  	if (unlikely(len != 0))
  		return PPM_FAILURE_INVALID_USER_MEMORY;
-@@ -4291,7 +4308,7 @@ int f_sys_getresuid_and_gid_x(struct event_filler_arguments *args)
+@@ -4394,7 +4411,7 @@ int f_sys_getresuid_and_gid_x(struct event_filler_arguments *args)
  	/*
  	 * suid
  	 */
@@ -1423,7 +1451,7 @@
  	len = ppm_copy_from_user(&uid, (void *)val, sizeof(uint32_t));
  	if (unlikely(len != 0))
  		return PPM_FAILURE_INVALID_USER_MEMORY;
-@@ -4309,12 +4326,12 @@ int f_sys_flock_e(struct event_filler_arguments *args)
+@@ -4412,12 +4429,12 @@ int f_sys_flock_e(struct event_filler_arguments *args)
  	int res;
  	u32 flags;
  
@@ -1438,7 +1466,7 @@
  	flags = flock_flags_to_scap(val);
  	res = val_to_ring(args, flags, 0, false, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -4332,7 +4349,7 @@ int f_sys_setns_e(struct event_filler_arguments *args)
+@@ -4435,7 +4452,7 @@ int f_sys_setns_e(struct event_filler_arguments *args)
  	/*
  	 * parse fd
  	 */
@@ -1447,7 +1475,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4340,7 +4357,7 @@ int f_sys_setns_e(struct event_filler_arguments *args)
+@@ -4443,7 +4460,7 @@ int f_sys_setns_e(struct event_filler_arguments *args)
  	/*
  	 * get type, parse as clone flags as it's a subset of it
  	 */
@@ -1456,7 +1484,7 @@
  	flags = clone_flags_to_scap(val);
  	res = val_to_ring(args, flags, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -4358,7 +4375,7 @@ int f_sys_unshare_e(struct event_filler_arguments *args)
+@@ -4461,7 +4478,7 @@ int f_sys_unshare_e(struct event_filler_arguments *args)
  	/*
  	 * get type, parse as clone flags as it's a subset of it
  	 */
@@ -1465,7 +1493,7 @@
  	flags = clone_flags_to_scap(val);
  	res = val_to_ring(args, flags, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
-@@ -4459,7 +4476,7 @@ int f_sys_semop_x(struct event_filler_arguments *args)
+@@ -4562,7 +4579,7 @@ int f_sys_semop_x(struct event_filler_arguments *args)
  	 * actually this could be read in the enter function but
  	 * we also need to know the value to access the sembuf structs
  	 */
@@ -1474,7 +1502,7 @@
  	res = val_to_ring(args, nsops, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4467,7 +4484,7 @@ int f_sys_semop_x(struct event_filler_arguments *args)
+@@ -4570,7 +4587,7 @@ int f_sys_semop_x(struct event_filler_arguments *args)
  	/*
  	 * sembuf
  	 */
@@ -1483,7 +1511,7 @@
  
  	if (nsops && ptr) {
  		/* max length of sembuf array in g_event_info = 2 */
-@@ -4506,7 +4523,7 @@ int f_sys_semget_e(struct event_filler_arguments *args)
+@@ -4609,7 +4626,7 @@ int f_sys_semget_e(struct event_filler_arguments *args)
  	/*
  	 * key
  	 */
@@ -1492,7 +1520,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4514,7 +4531,7 @@ int f_sys_semget_e(struct event_filler_arguments *args)
+@@ -4617,7 +4634,7 @@ int f_sys_semget_e(struct event_filler_arguments *args)
  	/*
  	 * nsems
  	 */
@@ -1501,7 +1529,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4522,7 +4539,7 @@ int f_sys_semget_e(struct event_filler_arguments *args)
+@@ -4625,7 +4642,7 @@ int f_sys_semget_e(struct event_filler_arguments *args)
  	/*
  	 * semflg
  	 */
@@ -1510,7 +1538,7 @@
  	res = val_to_ring(args, semget_flags_to_scap(val), 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4538,7 +4555,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
+@@ -4641,7 +4658,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
  	/*
  	 * semid
  	 */
@@ -1519,7 +1547,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4546,7 +4563,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
+@@ -4649,7 +4666,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
  	/*
  	 * semnum
  	 */
@@ -1528,7 +1556,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4554,7 +4571,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
+@@ -4657,7 +4674,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
  	/*
  	 * cmd
  	 */
@@ -1537,7 +1565,7 @@
  	res = val_to_ring(args, semctl_cmd_to_scap(val), 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4563,7 +4580,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
+@@ -4666,7 +4683,7 @@ int f_sys_semctl_e(struct event_filler_arguments *args)
  	 * optional argument semun/val
  	 */
  	if (val == SETVAL)
@@ -1546,7 +1574,7 @@
  	else
  		val = 0;
  	res = val_to_ring(args, val, 0, true, 0);
-@@ -4581,7 +4598,7 @@ int f_sys_access_e(struct event_filler_arguments *args)
+@@ -4684,7 +4701,7 @@ int f_sys_access_e(struct event_filler_arguments *args)
  	/*
  	 * mode
  	 */
@@ -1555,7 +1583,7 @@
  	res = val_to_ring(args, access_flags_to_scap(val), 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4609,7 +4626,7 @@ int f_sys_bpf_x(struct event_filler_arguments *args)
+@@ -4712,7 +4729,7 @@ int f_sys_bpf_x(struct event_filler_arguments *args)
  	/*
  	 * fd, depending on cmd
  	 */
@@ -1564,7 +1592,7 @@
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
  	if(cmd == BPF_MAP_CREATE || cmd == BPF_PROG_LOAD)
  #else
-@@ -4642,7 +4659,7 @@ int f_sys_mkdirat_x(struct event_filler_arguments *args)
+@@ -4745,7 +4762,7 @@ int f_sys_mkdirat_x(struct event_filler_arguments *args)
  	/*
  	 * dirfd
  	 */
@@ -1573,7 +1601,7 @@
  
  	if ((int)val == AT_FDCWD)
  		val = PPM_AT_FDCWD;
-@@ -4654,7 +4671,7 @@ int f_sys_mkdirat_x(struct event_filler_arguments *args)
+@@ -4757,7 +4774,7 @@ int f_sys_mkdirat_x(struct event_filler_arguments *args)
  	/*
  	 * path
  	 */
@@ -1582,7 +1610,7 @@
  	res = val_to_ring(args, val, 0, true, 0);
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
-@@ -4662,7 +4679,7 @@ int f_sys_mkdirat_x(struct event_filler_arguments *args)
+@@ -4765,7 +4782,7 @@ int f_sys_mkdirat_x(struct event_filler_arguments *args)
  	/*
  	 * mode
  	 */
@@ -1592,7 +1620,7 @@
  	if (unlikely(res != PPM_SUCCESS))
  		return res;
 diff --git a/driver/ppm_flag_helpers.h b/driver/ppm_flag_helpers.h
-index 6e9ac21..1c3b925 100644
+index 6e9ac21c5..1c3b9251e 100644
 --- a/driver/ppm_flag_helpers.h
 +++ b/driver/ppm_flag_helpers.h
 @@ -9,8 +9,7 @@ or GPL2.txt for full copies of the license.



More information about the arch-commits mailing list