lkml.org 
[lkml]   [2011]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/urgent] maccess,probe_kernel: Make write/read src const void *
    Commit-ID:  f29c50419c8d1998edd759f1990c4243a248f469
    Gitweb: http://git.kernel.org/tip/f29c50419c8d1998edd759f1990c4243a248f469
    Author: Steven Rostedt <srostedt@redhat.com>
    AuthorDate: Thu, 19 May 2011 14:35:33 -0400
    Committer: Steven Rostedt <rostedt@goodmis.org>
    CommitDate: Wed, 25 May 2011 19:56:23 -0400

    maccess,probe_kernel: Make write/read src const void *

    The functions probe_kernel_write() and probe_kernel_read() do not modify
    the src pointer. Allow const pointers to be passed in without the need
    of a typecast.

    Acked-by: Mike Frysinger <vapier@gentoo.org>
    Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Link: http://lkml.kernel.org/r/1305824936.1465.4.camel@gandalf.stny.rr.com
    ---
    arch/blackfin/mm/maccess.c | 4 ++--
    arch/s390/mm/maccess.c | 4 ++--
    include/linux/uaccess.h | 8 ++++----
    mm/maccess.c | 8 ++++----
    4 files changed, 12 insertions(+), 12 deletions(-)

    diff --git a/arch/blackfin/mm/maccess.c b/arch/blackfin/mm/maccess.c
    index b71cebc..e253211 100644
    --- a/arch/blackfin/mm/maccess.c
    +++ b/arch/blackfin/mm/maccess.c
    @@ -16,7 +16,7 @@ static int validate_memory_access_address(unsigned long addr, int size)
    return bfin_mem_access_type(addr, size);
    }

    -long probe_kernel_read(void *dst, void *src, size_t size)
    +long probe_kernel_read(void *dst, const void *src, size_t size)
    {
    unsigned long lsrc = (unsigned long)src;
    int mem_type;
    @@ -55,7 +55,7 @@ long probe_kernel_read(void *dst, void *src, size_t size)
    return -EFAULT;
    }

    -long probe_kernel_write(void *dst, void *src, size_t size)
    +long probe_kernel_write(void *dst, const void *src, size_t size)
    {
    unsigned long ldst = (unsigned long)dst;
    int mem_type;
    diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c
    index 71a4b0d..51e5cd9 100644
    --- a/arch/s390/mm/maccess.c
    +++ b/arch/s390/mm/maccess.c
    @@ -19,7 +19,7 @@
    * using the stura instruction.
    * Returns the number of bytes copied or -EFAULT.
    */
    -static long probe_kernel_write_odd(void *dst, void *src, size_t size)
    +static long probe_kernel_write_odd(void *dst, const void *src, size_t size)
    {
    unsigned long count, aligned;
    int offset, mask;
    @@ -45,7 +45,7 @@ static long probe_kernel_write_odd(void *dst, void *src, size_t size)
    return rc ? rc : count;
    }

    -long probe_kernel_write(void *dst, void *src, size_t size)
    +long probe_kernel_write(void *dst, const void *src, size_t size)
    {
    long copied = 0;

    diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h
    index d512d98..5ca0951 100644
    --- a/include/linux/uaccess.h
    +++ b/include/linux/uaccess.h
    @@ -93,8 +93,8 @@ static inline unsigned long __copy_from_user_nocache(void *to,
    * Safely read from address @src to the buffer at @dst. If a kernel fault
    * happens, handle that and return -EFAULT.
    */
    -extern long probe_kernel_read(void *dst, void *src, size_t size);
    -extern long __probe_kernel_read(void *dst, void *src, size_t size);
    +extern long probe_kernel_read(void *dst, const void *src, size_t size);
    +extern long __probe_kernel_read(void *dst, const void *src, size_t size);

    /*
    * probe_kernel_write(): safely attempt to write to a location
    @@ -105,7 +105,7 @@ extern long __probe_kernel_read(void *dst, void *src, size_t size);
    * Safely write to address @dst from the buffer at @src. If a kernel fault
    * happens, handle that and return -EFAULT.
    */
    -extern long notrace probe_kernel_write(void *dst, void *src, size_t size);
    -extern long notrace __probe_kernel_write(void *dst, void *src, size_t size);
    +extern long notrace probe_kernel_write(void *dst, const void *src, size_t size);
    +extern long notrace __probe_kernel_write(void *dst, const void *src, size_t size);

    #endif /* __LINUX_UACCESS_H__ */
    diff --git a/mm/maccess.c b/mm/maccess.c
    index e2b6f56..4cee182 100644
    --- a/mm/maccess.c
    +++ b/mm/maccess.c
    @@ -15,10 +15,10 @@
    * happens, handle that and return -EFAULT.
    */

    -long __weak probe_kernel_read(void *dst, void *src, size_t size)
    +long __weak probe_kernel_read(void *dst, const void *src, size_t size)
    __attribute__((alias("__probe_kernel_read")));

    -long __probe_kernel_read(void *dst, void *src, size_t size)
    +long __probe_kernel_read(void *dst, const void *src, size_t size)
    {
    long ret;
    mm_segment_t old_fs = get_fs();
    @@ -43,10 +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 __weak probe_kernel_write(void *dst, void *src, size_t size)
    +long __weak probe_kernel_write(void *dst, const void *src, size_t size)
    __attribute__((alias("__probe_kernel_write")));

    -long __probe_kernel_write(void *dst, void *src, size_t size)
    +long __probe_kernel_write(void *dst, const void *src, size_t size)
    {
    long ret;
    mm_segment_t old_fs = get_fs();

    \
     
     \ /
      Last update: 2011-05-27 14:47    [W:0.036 / U:0.576 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site