1 --- a/drivers/android/Kconfig
2 +++ b/drivers/android/Kconfig
6 config ANDROID_BINDER_IPC
7 - bool "Android Binder IPC Driver"
8 + tristate "Android Binder IPC Driver"
12 --- a/drivers/android/Makefile
13 +++ b/drivers/android/Makefile
15 # SPDX-License-Identifier: GPL-2.0-only
16 ccflags-y += -I$(src) # needed for trace events
18 -obj-$(CONFIG_ANDROID_BINDERFS) += binderfs.o
19 -obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o binder_alloc.o
20 -obj-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o
21 +obj-$(CONFIG_ANDROID_BINDER_IPC) += binder_linux.o
22 +binder_linux-y := binder.o binder_alloc.o
23 +binder_linux-$(CONFIG_ANDROID_BINDERFS) += binderfs.o
24 +binder_linux-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o
25 --- a/drivers/android/binder_alloc.c
26 +++ b/drivers/android/binder_alloc.c
27 @@ -38,7 +38,7 @@ enum {
29 static uint32_t binder_alloc_debug_mask = BINDER_DEBUG_USER_ERROR;
31 -module_param_named(debug_mask, binder_alloc_debug_mask,
32 +module_param_named(alloc_debug_mask, binder_alloc_debug_mask,
35 #define binder_alloc_debug(mask, x...) \
38 @@ -813,6 +813,7 @@ struct file *close_fd_get_file(unsigned
42 +EXPORT_SYMBOL_GPL(close_fd_get_file);
44 void do_close_on_exec(struct files_struct *files)
46 --- a/kernel/sched/core.c
47 +++ b/kernel/sched/core.c
48 @@ -7052,6 +7052,7 @@ static bool is_nice_reduction(const stru
50 return (nice_rlim <= task_rlimit(p, RLIMIT_NICE));
52 +EXPORT_SYMBOL_GPL(can_nice);
55 * can_nice - check if a task can reduce its nice value
56 --- a/kernel/task_work.c
57 +++ b/kernel/task_work.c
58 @@ -73,6 +73,7 @@ int task_work_add(struct task_struct *ta
62 +EXPORT_SYMBOL_GPL(task_work_add);
65 * task_work_cancel_match - cancel a pending work added by task_work_add()
66 --- a/security/security.c
67 +++ b/security/security.c
68 @@ -798,6 +798,7 @@ int security_binder_set_context_mgr(cons
70 return call_int_hook(binder_set_context_mgr, 0, mgr);
72 +EXPORT_SYMBOL_GPL(security_binder_set_context_mgr);
75 * security_binder_transaction() - Check if a binder transaction is allowed
76 @@ -813,6 +814,7 @@ int security_binder_transaction(const st
78 return call_int_hook(binder_transaction, 0, from, to);
80 +EXPORT_SYMBOL_GPL(security_binder_transaction);
83 * security_binder_transfer_binder() - Check if a binder transfer is allowed
84 @@ -828,6 +830,7 @@ int security_binder_transfer_binder(cons
86 return call_int_hook(binder_transfer_binder, 0, from, to);
88 +EXPORT_SYMBOL_GPL(security_binder_transfer_binder);
91 * security_binder_transfer_file() - Check if a binder file xfer is allowed
92 @@ -844,6 +847,7 @@ int security_binder_transfer_file(const
94 return call_int_hook(binder_transfer_file, 0, from, to, file);
96 +EXPORT_SYMBOL_GPL(security_binder_transfer_file);
99 * security_ptrace_access_check() - Check if tracing is allowed
100 --- a/ipc/namespace.c~ 2022-12-11 23:15:18.000000000 +0100
101 +++ b/ipc/namespace.c 2022-12-29 16:10:27.771070995 +0100
103 schedule_work(&free_ipc_work);
106 +EXPORT_SYMBOL_GPL(put_ipc_ns);
108 static inline struct ipc_namespace *to_ipc_ns(struct ns_common *ns)
110 --- a/kernel/sched/wait.c~ 2022-12-11 23:15:18.000000000 +0100
111 +++ b/kernel/sched/wait.c 2022-12-29 16:11:51.746470281 +0100
113 /* POLLFREE must have cleared the queue. */
114 WARN_ON_ONCE(waitqueue_active(wq_head));
116 +EXPORT_SYMBOL_GPL(__wake_up_pollfree);
119 * Note: we use "set_current_state()" _after_ the wait-queue add,
120 --- a/ipc/msgutil.c~ 2022-12-11 23:15:18.000000000 +0100
121 +++ b/ipc/msgutil.c 2022-12-29 16:22:49.139136583 +0100
123 .ns.ops = &ipcns_operations,
126 +EXPORT_SYMBOL_GPL(init_ipc_ns);
129 struct msg_msgseg *next;
130 --- linux-6.3/mm/memory.c.orig 2023-04-23 21:02:52.000000000 +0200
131 +++ linux-6.3/mm/memory.c 2023-04-26 10:57:23.873394940 +0200
132 @@ -1728,6 +1728,7 @@
133 mmu_notifier_invalidate_range_end(&range);
134 tlb_finish_mmu(&tlb);
136 +EXPORT_SYMBOL_GPL(zap_page_range_single);
139 * zap_vma_ptes - remove ptes mapping the vma