[PATCH] kprobes/ia64: refuse inserting kprobe on slot 1
authorRusty Lynch <rusty.lynch@intel.com>
Mon, 27 Jun 2005 22:17:15 +0000 (15:17 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 27 Jun 2005 22:23:53 +0000 (15:23 -0700)
Without the ability to atomically write 16 bytes, we can not update the
middle slot of a bundle, slot 1, unless we stop the machine first.  This
patch will ensure the ability to robustly insert and remove a kprobe by
refusing to insert a kprobe on slot 1 until a mechanism is in place to
safely handle this case.

Signed-off-by: Rusty Lynch <rusty.lynch@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/ia64/kernel/kprobes.c

index c97e18e634cae802acf9ef826a738839770f58ee..ec2ceade12b071d6e08e9318f7107466f83fde27 100644 (file)
@@ -270,6 +270,13 @@ static int valid_kprobe_addr(int template, int slot, unsigned long addr)
                                addr);
                return -EINVAL;
        }
+
+       if (slot == 1 && bundle_encoding[template][1] != L) {
+               printk(KERN_WARNING "Inserting kprobes on slot #1 "
+                      "is not supported\n");
+               return -EINVAL;
+       }
+
        return 0;
 }