* macro override instead of weak attribute alias, to workaround
--- a/kernel/sched.c
+++ b/kernel/sched.c
-@@ -5665,6 +5665,7 @@ int can_nice(const struct task_struct *p
+@@ -5666,6 +5666,7 @@ int can_nice(const struct task_struct *p
return (nice_rlim <= p->signal->rlim[RLIMIT_NICE].rlim_cur ||
capable(CAP_SYS_NICE));
}
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
+@@ -726,6 +726,7 @@ static inline int shmem_lock(struct file
+ #endif
+ struct file *shmem_file_setup(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 *);
+
+ #ifndef CONFIG_MMU
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -1053,6 +1053,7 @@ struct sighand_struct *lock_task_sighand
+
+ return sighand;
+ }
++EXPORT_SYMBOL(lock_task_sighand);
+
+ /*
+ * send signal info to all the members of a group