diff options
author | srikar <srikar> | 2007-10-25 13:54:41 +0000 |
---|---|---|
committer | srikar <srikar> | 2007-10-25 13:54:41 +0000 |
commit | eca23f3dbde340a85adbeb3ea4e81df5cbc10c0b (patch) | |
tree | 043efb940f4386e5122fc9949cbce5edfdc513b8 /runtime/uprobes/uprobes.c | |
parent | aa1547b49b569064715d939d6a9dad4cd14e708c (diff) | |
download | systemtap-steved-eca23f3dbde340a85adbeb3ea4e81df5cbc10c0b.tar.gz systemtap-steved-eca23f3dbde340a85adbeb3ea4e81df5cbc10c0b.tar.xz systemtap-steved-eca23f3dbde340a85adbeb3ea4e81df5cbc10c0b.zip |
uprobes ppc64 ssol changes
Diffstat (limited to 'runtime/uprobes/uprobes.c')
-rw-r--r-- | runtime/uprobes/uprobes.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/uprobes/uprobes.c b/runtime/uprobes/uprobes.c index 9f5fddd0..50930709 100644 --- a/runtime/uprobes/uprobes.c +++ b/runtime/uprobes/uprobes.c @@ -40,6 +40,8 @@ #define SET_ENGINE_FLAGS 1 #define CLEAR_ENGINE_FLAGS 0 +#define MAX_SSOL_SLOTS 1024 + extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); static int utask_fake_quiesce(struct uprobe_task *utask); @@ -1240,6 +1242,8 @@ static noinline void uprobe_init_ssol(struct uprobe_process *uproc) return; area->nfree = area->nslots = PAGE_SIZE / MAX_UINSN_BYTES; + if (area->nslots > MAX_SSOL_SLOTS) + area->nfree = area->nslots = MAX_SSOL_SLOTS; area->slots = (struct uprobe_ssol_slot *) kzalloc(sizeof(struct uprobe_ssol_slot) * area->nslots, GFP_USER); |