diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2010-01-07 11:58:36 -0600 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2010-01-07 11:58:36 -0600 |
commit | 6144a85a0e018c19bc4b24f7eb6c1f3f7431813d (patch) | |
tree | 4300bb5d23338884a75d449f17f2538815ac9f8c /mm | |
parent | 2c1f1895ef2aa8f0e5497893eff71304aef332e1 (diff) | |
download | linux-6144a85a0e018c19bc4b24f7eb6c1f3f7431813d.tar.gz linux-6144a85a0e018c19bc4b24f7eb6c1f3f7431813d.tar.bz2 linux-6144a85a0e018c19bc4b24f7eb6c1f3f7431813d.zip |
maccess,probe_kernel: Allow arch specific override probe_kernel_(read|write)
Some archs such as blackfin, would like to have an arch specific
probe_kernel_read() and probe_kernel_write() implementation which can
fall back to the generic implementation if no special operations are
needed.
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/maccess.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mm/maccess.c b/mm/maccess.c index 9073695ff25f..4e348dbaecd7 100644 --- a/mm/maccess.c +++ b/mm/maccess.c @@ -14,7 +14,11 @@ * Safely read from address @src to the buffer at @dst. If a kernel fault * happens, handle that and return -EFAULT. */ -long probe_kernel_read(void *dst, void *src, size_t size) + +long __weak probe_kernel_read(void *dst, void *src, size_t size) + __attribute__((alias("__probe_kernel_read"))); + +long __probe_kernel_read(void *dst, void *src, size_t size) { long ret; mm_segment_t old_fs = get_fs(); @@ -39,7 +43,10 @@ EXPORT_SYMBOL_GPL(probe_kernel_read); * Safely write to address @dst from the buffer at @src. If a kernel fault * happens, handle that and return -EFAULT. */ -long notrace __weak probe_kernel_write(void *dst, void *src, size_t size) +long __weak probe_kernel_write(void *dst, void *src, size_t size) + __attribute__((alias("__probe_kernel_write"))); + +long __probe_kernel_write(void *dst, void *src, size_t size) { long ret; mm_segment_t old_fs = get_fs(); |