From e46a2b688f6a0fc89cd1ea0e94a7610fabc62df2 Mon Sep 17 00:00:00 2001 From: Alice Ryhl Date: Thu, 6 Feb 2025 14:20:19 +0000 Subject: [PATCH] ANDROID: export symbols needed by Rust Binder To call these functions from a vendor module, it is necessary to export them. The functions file_close_fd and task_work_add are needed to reimplement binder's `binder_deferred_fd_close` function. The `zap_page_range_single` function is needed to free pages when Binder's shrinker runs. Bug: 388786466 Change-Id: If05030b5a4c0180ff839b6f86ab0b86b87703f2b Signed-off-by: Alice Ryhl --- fs/file.c | 1 + kernel/task_work.c | 1 + mm/memory.c | 1 + 3 files changed, 3 insertions(+) diff --git a/fs/file.c b/fs/file.c index 269f0ba7ea6e..bf6aed015bcf 100644 --- a/fs/file.c +++ b/fs/file.c @@ -793,6 +793,7 @@ struct file *file_close_fd(unsigned int fd) return file; } +EXPORT_SYMBOL_GPL(file_close_fd); void do_close_on_exec(struct files_struct *files) { diff --git a/kernel/task_work.c b/kernel/task_work.c index c969f1f26be5..b25732eae388 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c @@ -108,6 +108,7 @@ int task_work_add(struct task_struct *task, struct callback_head *work, return 0; } +EXPORT_SYMBOL_GPL(task_work_add); /** * task_work_cancel_match - cancel a pending work added by task_work_add() diff --git a/mm/memory.c b/mm/memory.c index 83b394dfce5d..92b7132eacf0 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1940,6 +1940,7 @@ void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, tlb_finish_mmu(&tlb); hugetlb_zap_end(vma, details); } +EXPORT_SYMBOL_GPL(zap_page_range_single); /** * zap_vma_ptes - remove ptes mapping the vma