diff --git a/kernel/sched/perf_error_detection.c b/kernel/sched/perf_error_detection.c index 6b2927eea66ad7e0f615f4cb354526917a328a38..0e1dd0fde030b0a4b035357ba7a6b1f2a6b7f977 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 fd5ccf445a8572f0a20143d20bf93ad5fdd2bba4..a8cb9e6351dc4351b8fbb08acf7f80fb7db23f38 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 c5dd396c66a22613a2537a5e8cfb0b9b5ca58637..92866d436ed5d32d898db52c7430b7e1a976adce 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