Migrate tracepoint instrumentation to TP_FIELDS
[lttng-modules.git] / probes / lttng-probe-user.c
index 94ecf2f1cffb339d53d9c1dc4d62f58a13dc9ece..dc6cca1ba0037521e73756da831a5d6c4b4da4a9 100644 (file)
@@ -36,12 +36,16 @@ long lttng_strlen_user_inatomic(const char *addr)
        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));
-               if (unlikely(ret == -EFAULT))
+               if (unlikely(ret > 0))
                        break;
                count++;
                if (unlikely(!v))
@@ -52,3 +56,4 @@ long lttng_strlen_user_inatomic(const char *addr)
        set_fs(old_fs);
        return count;
 }
+EXPORT_SYMBOL_GPL(lttng_strlen_user_inatomic);
This page took 0.023972 seconds and 4 git commands to generate.