From b1f77b908b1d2a6f40c8bdddf5811cdfe06ca945 Mon Sep 17 00:00:00 2001
From: Tom <tom.meyer@fu-berlin.de>
Date: Tue, 12 Mar 2019 14:48:51 +0100
Subject: [PATCH] syscall from kernel fix attempt

---
 kernel/sched/perf_error_detection.c | 13 +++++++++++--
 kernel/sched/perf_error_detection.h |  3 ++-
 sound/oss/dmabuf.c                  |  2 +-
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/kernel/sched/perf_error_detection.c b/kernel/sched/perf_error_detection.c
index 6b2927eea66a..0e1dd0fde030 100644
--- a/kernel/sched/perf_error_detection.c
+++ b/kernel/sched/perf_error_detection.c
@@ -81,7 +81,16 @@ void overflow_handler(int signum,siginfo_t *oh, void *blah) {
 }
 
 int perf_event_open(struct perf_event_attr *hw_event_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags) {
+	mm_segment_t fs;
+	int ret;
 
-	return syscall(__NR_perf_event_open,hw_event_uptr, pid, cpu,
-			group_fd, flags);
+	fs = get_fs();     /* save previous value */
+
+	set_fs (get_ds()); /* use kernel limit */
+
+	ret = syscall(__NR_perf_event_open,hw_event_uptr, pid, cpu, group_fd, flags);
+
+	set_fs(fs);
+
+	return ret;
 }
diff --git a/kernel/sched/perf_error_detection.h b/kernel/sched/perf_error_detection.h
index fd5ccf445a85..a8cb9e6351dc 100644
--- a/kernel/sched/perf_error_detection.h
+++ b/kernel/sched/perf_error_detection.h
@@ -5,7 +5,8 @@
 #include "sched.h"
 #include <linux/signal.h>
 #include <linux/ioctl.h>
-#include <stdio.h>
+#include <linux/fs.h>
+
 //#include <include/linux/smp.h>
 #endif
 
diff --git a/sound/oss/dmabuf.c b/sound/oss/dmabuf.c
index c5dd396c66a2..92866d436ed5 100644
--- a/sound/oss/dmabuf.c
+++ b/sound/oss/dmabuf.c
@@ -19,7 +19,7 @@
  *                   an explicit wake_up. The return value from schedule_timeout
  *		     can be used instead; if 0, the wakeup was due to the timeout.
  *
- * Rob Riggs		Added persistent DMA buffers (1998/10/17)
+ * Rob Riggs		Added persistent DMA buffers (1998/10/17)#include <asm/segment.h>
  */
 
 #define BE_CONSERVATIVE
-- 
GitLab