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