From 90eb6f5eb2abd2530ee7126eba9d1ce08769ff14 Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Wed, 26 Jun 2013 14:45:07 +0200 Subject: [PATCH] mars: generic pre-patch for mars Mostly introduces missing EXPORT_SYMBOL(). Should have exactly zero impact onto the kernel. This is the generic version which exports all sys_*() system calls. This should not introduce any additional maintenance pain because that interfaces has to be stable anyway due to POSIX etc. --- fs/open.c | 1 - fs/utimes.c | 2 ++ include/linux/major.h | 1 + include/linux/syscalls.h | 4 ++++ mm/page_alloc.c | 2 ++ mm/swap_state.c | 1 + 6 files changed, 10 insertions(+), 1 deletion(-) diff --git a/fs/open.c b/fs/open.c index cf1d34f..bfceac7 100644 --- a/fs/open.c +++ b/fs/open.c @@ -1099,7 +1099,6 @@ out_unlock: spin_unlock(&files->file_lock); return -EBADF; } -EXPORT_SYMBOL(sys_close); /* * This routine simulates a hangup on the tty, to arrange that users diff --git a/fs/utimes.c b/fs/utimes.c index ba653f3..f021ea4 100644 --- a/fs/utimes.c +++ b/fs/utimes.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -170,6 +171,7 @@ long do_utimes(int dfd, const char __user *filename, struct timespec *times, out: return error; } +EXPORT_SYMBOL(do_utimes); SYSCALL_DEFINE4(utimensat, int, dfd, const char __user *, filename, struct timespec __user *, utimes, int, flags) diff --git a/include/linux/major.h b/include/linux/major.h index 6a8ca98..faf6692 100644 --- a/include/linux/major.h +++ b/include/linux/major.h @@ -146,6 +146,7 @@ #define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT) #define DRBD_MAJOR 147 +#define MARS_MAJOR 148 #define RTF_MAJOR 150 #define RAW_MAJOR 162 diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 3de3acb..2fcc5bd 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h @@ -73,6 +73,7 @@ struct file_handle; #include #include #include +#include #include #include #include @@ -241,12 +242,15 @@ extern struct trace_event_functions exit_syscall_print_funcs; return (long) SYSC##name(__SC_CAST##x(__VA_ARGS__)); \ } \ SYSCALL_ALIAS(sys##name, SyS##name); \ + EXPORT_SYMBOL(sys##name); \ static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__)) #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */ #define SYSCALL_DEFINE(name) asmlinkage long sys_##name #define __SYSCALL_DEFINEx(x, name, ...) \ + asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__)); \ + EXPORT_SYMBOL(sys##name); \ asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__)) #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 39d530a..d9baf24 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -192,6 +192,7 @@ static char * const zone_names[MAX_NR_ZONES] = { }; int min_free_kbytes = 1024; +EXPORT_SYMBOL(min_free_kbytes); static unsigned long __meminitdata nr_kernel_pages; static unsigned long __meminitdata nr_all_pages; @@ -5044,6 +5045,7 @@ void setup_per_zone_wmarks(void) /* update totalreserve_pages */ calculate_totalreserve_pages(); } +EXPORT_SYMBOL(setup_per_zone_wmarks); /* * The inactive anon list should be small enough that the VM never has to diff --git a/mm/swap_state.c b/mm/swap_state.c index 1fa9220..1edbcb6 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -42,6 +42,7 @@ struct address_space swapper_space = { .i_mmap_nonlinear = LIST_HEAD_INIT(swapper_space.i_mmap_nonlinear), .backing_dev_info = &swap_backing_dev_info, }; +EXPORT_SYMBOL(swapper_space); #define INC_CACHE_INFO(x) do { swap_cache_info.x++; } while (0) -- 1.9.3