block: fix 32 bit overflow in __blkdev_issue_discard()
[sfrench/cifs-2.6.git] / kernel / trace / trace_uprobe.c
index 7154473ffaa45b453ed3d7e73656b271661ba7c9..31ea48eceda184ed5e807f9fe22394f831980982 100644 (file)
@@ -105,7 +105,7 @@ probe_mem_read(void *dest, void *src, size_t size)
 {
        void __user *vaddr = (void __force __user *)src;
 
-       return copy_from_user(dest, vaddr, size);
+       return copy_from_user(dest, vaddr, size) ? -EFAULT : 0;
 }
 /*
  * Fetch a null-terminated string. Caller MUST set *(u32 *)dest with max
@@ -557,7 +557,7 @@ static int create_trace_uprobe(int argc, char **argv)
 
                /* Parse fetch argument */
                ret = traceprobe_parse_probe_arg(arg, &tu->tp.size, parg,
-                                                is_return, false);
+                                       is_return ? TPARG_FL_RETURN : 0);
                if (ret) {
                        pr_info("Parse error at argument[%d]. (%d)\n", i, ret);
                        goto error;