*/
 
        /* read the text we want to modify */
-       if (probe_kernel_read_inst(&replaced, (void *)ip))
+       if (copy_inst_from_kernel_nofault(&replaced, (void *)ip))
                return -EFAULT;
 
        /* Make sure it is what we expect it to be */
        struct ppc_inst op, pop;
 
        /* read where this goes */
-       if (probe_kernel_read_inst(&op, (void *)ip)) {
+       if (copy_inst_from_kernel_nofault(&op, (void *)ip)) {
                pr_err("Fetching opcode failed.\n");
                return -EFAULT;
        }
        /* When using -mkernel_profile there is no load to jump over */
        pop = ppc_inst(PPC_INST_NOP);
 
-       if (probe_kernel_read_inst(&op, (void *)(ip - 4))) {
+       if (copy_inst_from_kernel_nofault(&op, (void *)(ip - 4))) {
                pr_err("Fetching instruction at %lx failed.\n", ip - 4);
                return -EFAULT;
        }
         * Check what is in the next instruction. We can see ld r2,40(r1), but
         * on first pass after boot we will see mflr r0.
         */
-       if (probe_kernel_read_inst(&op, (void *)(ip + 4))) {
+       if (copy_inst_from_kernel_nofault(&op, (void *)(ip + 4))) {
                pr_err("Fetching op failed.\n");
                return -EFAULT;
        }
                        return -1;
 
        /* New trampoline -- read where this goes */
-       if (probe_kernel_read_inst(&op, (void *)tramp)) {
+       if (copy_inst_from_kernel_nofault(&op, (void *)tramp)) {
                pr_debug("Fetching opcode failed.\n");
                return -1;
        }
        struct ppc_inst op;
 
        /* Read where this goes */
-       if (probe_kernel_read_inst(&op, (void *)ip)) {
+       if (copy_inst_from_kernel_nofault(&op, (void *)ip)) {
                pr_err("Fetching opcode failed.\n");
                return -EFAULT;
        }
        struct module *mod = rec->arch.mod;
 
        /* read where this goes */
-       if (probe_kernel_read_inst(op, ip))
+       if (copy_inst_from_kernel_nofault(op, ip))
                return -EFAULT;
 
-       if (probe_kernel_read_inst(op + 1, ip + 4))
+       if (copy_inst_from_kernel_nofault(op + 1, ip + 4))
                return -EFAULT;
 
        if (!expected_nop_sequence(ip, op[0], op[1])) {
        unsigned long ip = rec->ip;
 
        /* read where this goes */
-       if (probe_kernel_read_inst(&op, (void *)ip))
+       if (copy_inst_from_kernel_nofault(&op, (void *)ip))
                return -EFAULT;
 
        /* It should be pointing to a nop */
        }
 
        /* Make sure we have a nop */
-       if (probe_kernel_read_inst(&op, ip)) {
+       if (copy_inst_from_kernel_nofault(&op, ip)) {
                pr_err("Unable to read ftrace location %p\n", ip);
                return -EFAULT;
        }
        }
 
        /* read where this goes */
-       if (probe_kernel_read_inst(&op, (void *)ip)) {
+       if (copy_inst_from_kernel_nofault(&op, (void *)ip)) {
                pr_err("Fetching opcode failed.\n");
                return -EFAULT;
        }