X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fpatches-3.6%2F950-vm_exports.patch;h=ba363c11bdeb0047ca256cf204048ac1dfd6289c;hp=1cd970c80519d289db48c244a79c2c4eae1a83b0;hb=7617db12cb5010a967062484ce9a0b3595700acb;hpb=1c3d05cf739b54cf71010bb4d3e0ec70d7811a46 diff --git a/target/linux/generic/patches-3.6/950-vm_exports.patch b/target/linux/generic/patches-3.6/950-vm_exports.patch index 1cd970c805..ba363c11bd 100644 --- a/target/linux/generic/patches-3.6/950-vm_exports.patch +++ b/target/linux/generic/patches-3.6/950-vm_exports.patch @@ -1,6 +1,6 @@ --- a/mm/shmem.c +++ b/mm/shmem.c -@@ -2490,6 +2490,16 @@ EXPORT_SYMBOL_GPL(shmem_truncate_range); +@@ -2914,6 +2914,16 @@ EXPORT_SYMBOL_GPL(shmem_truncate_range); /* common code */ @@ -17,7 +17,7 @@ /** * shmem_file_setup - get an unlinked file living in tmpfs * @name: name for dentry (to be seen in /proc//maps -@@ -2567,11 +2577,8 @@ int shmem_zero_setup(struct vm_area_stru +@@ -2991,11 +3001,8 @@ int shmem_zero_setup(struct vm_area_stru if (IS_ERR(file)) return PTR_ERR(file); @@ -33,7 +33,7 @@ --- a/fs/file.c +++ b/fs/file.c -@@ -268,6 +268,7 @@ int expand_files(struct files_struct *fi +@@ -269,6 +269,7 @@ int expand_files(struct files_struct *fi /* All good, so we try */ return expand_fdtable(files, nr); } @@ -43,7 +43,7 @@ { --- a/kernel/exit.c +++ b/kernel/exit.c -@@ -500,6 +500,7 @@ struct files_struct *get_files_struct(st +@@ -513,6 +513,7 @@ struct files_struct *get_files_struct(st return files; } @@ -51,7 +51,7 @@ void put_files_struct(struct files_struct *files) { -@@ -521,6 +522,7 @@ void put_files_struct(struct files_struc +@@ -534,6 +535,7 @@ void put_files_struct(struct files_struc rcu_read_unlock(); } } @@ -61,7 +61,7 @@ { --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -3854,6 +3854,7 @@ int can_nice(const struct task_struct *p +@@ -4106,6 +4106,7 @@ int can_nice(const struct task_struct *p return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || capable(CAP_SYS_NICE)); } @@ -71,25 +71,17 @@ --- a/mm/memory.c +++ b/mm/memory.c -@@ -1412,6 +1412,7 @@ unsigned long zap_page_range(struct vm_a - tlb_finish_mmu(&tlb, address, end); - return end; +@@ -1408,6 +1408,7 @@ void zap_page_range(struct vm_area_struc + mmu_notifier_invalidate_range_end(mm, start, end); + tlb_finish_mmu(&tlb, start, end); } +EXPORT_SYMBOL_GPL(zap_page_range); /** - * zap_vma_ptes - remove ptes mapping the vma -@@ -3087,6 +3088,7 @@ static inline int check_stack_guard_page - } - return 0; - } -+EXPORT_SYMBOL_GPL(vmtruncate_range); - - /* - * We enter with non-exclusive mmap_sem (to exclude vma changes, + * zap_page_range_single - remove user pages in a given range --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -1257,6 +1257,7 @@ void unmap_kernel_range(unsigned long ad +@@ -1266,6 +1266,7 @@ void unmap_kernel_range(unsigned long ad vunmap_page_range(addr, end); flush_tlb_kernel_range(addr, end); } @@ -97,21 +89,22 @@ int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages) { -@@ -1394,6 +1395,7 @@ struct vm_struct *get_vm_area(unsigned l +@@ -1403,6 +1404,7 @@ struct vm_struct *get_vm_area(unsigned l return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END, -1, GFP_KERNEL, __builtin_return_address(0)); } +EXPORT_SYMBOL_GPL(get_vm_area); struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags, - void *caller) ---- a/include/linux/mm.h -+++ b/include/linux/mm.h -@@ -872,6 +872,7 @@ extern bool skip_free_areas_node(unsigne - - int shmem_lock(struct file *file, int lock, struct user_struct *user); - struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags); -+void shmem_set_file(struct vm_area_struct *vma, struct file *file); - int shmem_zero_setup(struct vm_area_struct *); - - extern int can_do_mlock(void); + const void *caller) +--- a/include/linux/shmem_fs.h ++++ b/include/linux/shmem_fs.h +@@ -46,6 +46,8 @@ extern int shmem_init(void); + extern int shmem_fill_super(struct super_block *sb, void *data, int silent); + extern struct file *shmem_file_setup(const char *name, + loff_t size, unsigned long flags); ++ ++extern void shmem_set_file(struct vm_area_struct *vma, struct file *file); + extern int shmem_zero_setup(struct vm_area_struct *); + extern int shmem_lock(struct file *file, int lock, struct user_struct *user); + extern void shmem_unlock_mapping(struct address_space *mapping);