diff options
Diffstat (limited to 'target/linux/generic')
-rw-r--r-- | target/linux/generic/patches-2.6.38/980-vm_exports.patch | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/target/linux/generic/patches-2.6.38/980-vm_exports.patch b/target/linux/generic/patches-2.6.38/980-vm_exports.patch index a945fb56d..19f785d5a 100644 --- a/target/linux/generic/patches-2.6.38/980-vm_exports.patch +++ b/target/linux/generic/patches-2.6.38/980-vm_exports.patch @@ -1,7 +1,7 @@ Index: linux-2.6.38.2/mm/shmem.c =================================================================== --- linux-2.6.38.2.orig/mm/shmem.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/mm/shmem.c 2011-03-28 17:18:35.142293910 +0200 ++++ linux-2.6.38.2/mm/shmem.c 2011-03-30 18:23:12.296417197 +0200 @@ -30,6 +30,7 @@ #include <linux/module.h> #include <linux/percpu_counter.h> @@ -10,7 +10,7 @@ Index: linux-2.6.38.2/mm/shmem.c static struct vfsmount *shm_mnt; -@@ -2710,6 +2711,16 @@ out: +@@ -2710,6 +2711,17 @@ out: /* common code */ @@ -21,13 +21,14 @@ Index: linux-2.6.38.2/mm/shmem.c + fput(vma->vm_file); + vma->vm_file = file; + vma->vm_ops = &shmem_vm_ops; ++ vma->vm_flags |= VM_CAN_NONLINEAR; +} +EXPORT_SYMBOL_GPL(shmem_set_file); + /** * shmem_file_setup - get an unlinked file living in tmpfs * @name: name for dentry (to be seen in /proc/<pid>/maps -@@ -2787,10 +2798,7 @@ int shmem_zero_setup(struct vm_area_stru +@@ -2787,10 +2799,7 @@ int shmem_zero_setup(struct vm_area_stru if (IS_ERR(file)) return PTR_ERR(file); @@ -35,14 +36,15 @@ Index: linux-2.6.38.2/mm/shmem.c - fput(vma->vm_file); - vma->vm_file = file; - vma->vm_ops = &shmem_vm_ops; +- vma->vm_flags |= VM_CAN_NONLINEAR; + shmem_set_file(vma, file); - vma->vm_flags |= VM_CAN_NONLINEAR; ++ return 0; } Index: linux-2.6.38.2/fs/file.c =================================================================== --- linux-2.6.38.2.orig/fs/file.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/fs/file.c 2011-03-28 17:18:24.755353654 +0200 ++++ linux-2.6.38.2/fs/file.c 2011-03-28 22:44:57.267151662 +0200 @@ -264,6 +264,7 @@ int expand_files(struct files_struct *fi /* All good, so we try */ return expand_fdtable(files, nr); @@ -54,7 +56,7 @@ Index: linux-2.6.38.2/fs/file.c Index: linux-2.6.38.2/kernel/exit.c =================================================================== --- linux-2.6.38.2.orig/kernel/exit.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/kernel/exit.c 2011-03-28 17:18:24.755353654 +0200 ++++ linux-2.6.38.2/kernel/exit.c 2011-03-28 22:44:57.269151650 +0200 @@ -513,6 +513,7 @@ struct files_struct *get_files_struct(st return files; @@ -74,7 +76,7 @@ Index: linux-2.6.38.2/kernel/exit.c Index: linux-2.6.38.2/kernel/fork.c =================================================================== --- linux-2.6.38.2.orig/kernel/fork.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/kernel/fork.c 2011-03-28 17:18:24.755353654 +0200 ++++ linux-2.6.38.2/kernel/fork.c 2011-03-28 22:44:57.270151644 +0200 @@ -193,6 +193,7 @@ void __put_task_struct(struct task_struc if (!profile_handoff_task(tsk)) free_task(tsk); @@ -86,7 +88,7 @@ Index: linux-2.6.38.2/kernel/fork.c Index: linux-2.6.38.2/kernel/sched.c =================================================================== --- linux-2.6.38.2.orig/kernel/sched.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/kernel/sched.c 2011-03-28 17:18:24.757353643 +0200 ++++ linux-2.6.38.2/kernel/sched.c 2011-03-28 22:44:57.274151620 +0200 @@ -4641,6 +4641,7 @@ int can_nice(const struct task_struct *p return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || capable(CAP_SYS_NICE)); @@ -98,7 +100,7 @@ Index: linux-2.6.38.2/kernel/sched.c Index: linux-2.6.38.2/mm/memory.c =================================================================== --- linux-2.6.38.2.orig/mm/memory.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/mm/memory.c 2011-03-28 17:18:24.757353643 +0200 ++++ linux-2.6.38.2/mm/memory.c 2011-03-28 22:44:57.277151603 +0200 @@ -1229,6 +1229,7 @@ unsigned long zap_page_range(struct vm_a tlb_finish_mmu(tlb, address, end); return end; @@ -118,7 +120,7 @@ Index: linux-2.6.38.2/mm/memory.c Index: linux-2.6.38.2/mm/vmalloc.c =================================================================== --- linux-2.6.38.2.orig/mm/vmalloc.c 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/mm/vmalloc.c 2011-03-28 17:18:24.758353638 +0200 ++++ linux-2.6.38.2/mm/vmalloc.c 2011-03-28 22:44:57.278151598 +0200 @@ -1193,6 +1193,7 @@ void unmap_kernel_range(unsigned long ad vunmap_page_range(addr, end); flush_tlb_kernel_range(addr, end); @@ -138,7 +140,7 @@ Index: linux-2.6.38.2/mm/vmalloc.c Index: linux-2.6.38.2/include/linux/mm.h =================================================================== --- linux-2.6.38.2.orig/include/linux/mm.h 2011-03-27 20:37:20.000000000 +0200 -+++ linux-2.6.38.2/include/linux/mm.h 2011-03-28 17:18:24.758353638 +0200 ++++ linux-2.6.38.2/include/linux/mm.h 2011-03-28 22:44:57.279151592 +0200 @@ -863,6 +863,7 @@ extern void show_free_areas(void); int shmem_lock(struct file *file, int lock, struct user_struct *user); |