lkml.org 
[lkml]   [2006]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: We also need to get rid of verify_area in entry.S
On 8/29/05, Jesper Juhl <jesper.juhl@gmail.com> wrote:
> On Monday 29 August 2005 20:21, Chris Zankel wrote:
> > Jesper,
> >
> > Thanks for the patches. I'll take a look at the entry.S one and will
> > pass it along to Andres, and will incorporate the signal.c patch.
> >

Hi Chris,

Following up on an old mail...

verify_area() is still alive on xtensa in 2.6.17-rc3-git13 :-(
Do you have any plans to get rid of it? Are the original patches I
send still useful? Should I create new patches?
It would be nice to finally be rid of that function across the board.
Xtensa is the only user left and verify_area() comletely relaces it,
so let's get rid of the cruft - no?

/Jesper



> Thank you.
>
> I was originally planning to submit a single patch that removes
> verify_area across the board, but I guess it might be easier if I just
> hand you the bit of the patch that handles xtensa (instead of waiting for
> those bits to hit -mm) and then submit the rest along with a note that
> similar patches for xtensa will arrive later via you.
>
> So, here's the final bit that removes verify_area completely from xtensa :
>
>
> Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
> ---
>
> diff -upr -X ./linux-2.6.13/Documentation/dontdiff linux-2.6.13-orig/include/asm-xtensa/checksum.h linux-2.6.13/include/asm-xtensa/checksum.h
> --- linux-2.6.13-orig/include/asm-xtensa/checksum.h 2005-08-29 01:41:01.000000000 +0200
> +++ linux-2.6.13/include/asm-xtensa/checksum.h 2005-08-29 03:46:34.000000000 +0200
> @@ -45,7 +45,7 @@ asmlinkage unsigned int csum_partial_cop
> * passed in an incorrect kernel address to one of these functions.
> *
> * If you use these functions directly please don't forget the
> - * verify_area().
> + * access_ok().
> */
> extern __inline__
> unsigned int csum_partial_copy_nocheck ( const char *src, char *dst,
> diff -upr -X ./linux-2.6.13/Documentation/dontdiff linux-2.6.13-orig/include/asm-xtensa/uaccess.h linux-2.6.13/include/asm-xtensa/uaccess.h
> --- linux-2.6.13-orig/include/asm-xtensa/uaccess.h 2005-08-29 01:41:01.000000000 +0200
> +++ linux-2.6.13/include/asm-xtensa/uaccess.h 2005-08-29 03:47:18.000000000 +0200
> @@ -154,35 +154,6 @@
> .Laccess_ok_\@:
> .endm
>
> -/*
> - * verify_area determines whether a memory access is allowed. It's
> - * mostly an unnecessary wrapper for access_ok, but we provide it as a
> - * duplicate of the verify_area() C inline function below. See the
> - * equivalent C version below for clarity.
> - *
> - * On error, verify_area branches to a label indicated by parameter
> - * <error>. This implies that the macro falls through to the next
> - * instruction on success.
> - *
> - * Note that we assume success is the common case, and we optimize the
> - * branch fall-through case on success.
> - *
> - * On Entry:
> - * <aa> register containing memory address
> - * <as> register containing memory size
> - * <at> temp register
> - * <error> label to branch to on error; implies fall-through
> - * macro on success
> - * On Exit:
> - * <aa> preserved
> - * <as> preserved
> - * <at> destroyed
> - */
> - .macro verify_area aa, as, at, sp, error
> - access_ok \at, \aa, \as, \sp, \error
> - .endm
> -
> -
> #else /* __ASSEMBLY__ not defined */
>
> #include <linux/sched.h>
> @@ -211,11 +182,6 @@
> #define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size)))
> #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size))
>
> -extern inline int verify_area(int type, const void * addr, unsigned long size)
> -{
> - return access_ok(type,addr,size) ? 0 : -EFAULT;
> -}
> -
> /*
> * These are the main single-value transfer routines. They
> * automatically use the right size if we just have the right pointer
>


--
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-05-07 22:59    [W:0.047 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site