projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Version 2.7.7
[lttng-modules.git]
/
probes
/
lttng-probe-user.c
diff --git
a/probes/lttng-probe-user.c
b/probes/lttng-probe-user.c
index 94ecf2f1cffb339d53d9c1dc4d62f58a13dc9ece..cdf7955b63d07dba7e831d45e7cd17eb945ad777 100644
(file)
--- a/
probes/lttng-probe-user.c
+++ b/
probes/lttng-probe-user.c
@@
-19,6
+19,7
@@
*/
#include <linux/uaccess.h>
*/
#include <linux/uaccess.h>
+#include <linux/module.h>
#include "lttng-probe-user.h"
/*
#include "lttng-probe-user.h"
/*
@@
-36,12
+37,16
@@
long lttng_strlen_user_inatomic(const char *addr)
pagefault_disable();
for (;;) {
char v;
pagefault_disable();
for (;;) {
char v;
- long ret;
+
unsigned
long ret;
+ if (unlikely(!access_ok(VERIFY_READ,
+ (__force const char __user *) addr,
+ sizeof(v))))
+ break;
ret = __copy_from_user_inatomic(&v,
(__force const char __user *)(addr),
sizeof(v));
ret = __copy_from_user_inatomic(&v,
(__force const char __user *)(addr),
sizeof(v));
- if (unlikely(ret
== -EFAULT
))
+ if (unlikely(ret
> 0
))
break;
count++;
if (unlikely(!v))
break;
count++;
if (unlikely(!v))
@@
-52,3
+57,4
@@
long lttng_strlen_user_inatomic(const char *addr)
set_fs(old_fs);
return count;
}
set_fs(old_fs);
return count;
}
+EXPORT_SYMBOL_GPL(lttng_strlen_user_inatomic);
This page took
0.024322 seconds
and
4
git commands to generate.