Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 148584
b: refs/heads/master
c: a8372b5
h: refs/heads/master
v: v3
  • Loading branch information
Robin Getz authored and Mike Frysinger committed Jun 12, 2009
1 parent 88ef39c commit d2eaabd
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 685a694f0653b7db49f663b2cd6953695214fb30
refs/heads/master: a8372b5ca618d4ea41b3c7ac3cef8dd6efa68bc6
25 changes: 20 additions & 5 deletions trunk/arch/blackfin/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -233,16 +233,29 @@ strncpy_from_user(char *dst, const char *src, long count)
}

/*
* Return the size of a string (including the ending 0)
* Get the size of a string in user space.
* src: The string to measure
* n: The maximum valid length
*
* Return 0 on exception, a value greater than N if too long
* Get the size of a NUL-terminated string in user space.
*
* Returns the size of the string INCLUDING the terminating NUL.
* On exception, returns 0.
* If the string is too long, returns a value greater than n.
*/
static inline long strnlen_user(const char *src, long n)
static inline long __must_check strnlen_user(const char *src, long n)
{
return (strlen(src) + 1);
if (!access_ok(VERIFY_READ, src, 1))
return 0;
return strnlen(src, n) + 1;
}

#define strlen_user(str) strnlen_user(str, 32767)
static inline long __must_check strlen_user(const char *src)
{
if (!access_ok(VERIFY_READ, src, 1))
return 0;
return strlen(src) + 1;
}

/*
* Zero Userspace
Expand All @@ -251,6 +264,8 @@ static inline long strnlen_user(const char *src, long n)
static inline unsigned long __must_check
__clear_user(void *to, unsigned long n)
{
if (!access_ok(VERIFY_WRITE, to, n))
return n;
memset(to, 0, n);
return 0;
}
Expand Down

0 comments on commit d2eaabd

Please sign in to comment.