Summary: | Retrieval of task argument in probe signal.send on x8664 fails | ||
---|---|---|---|
Product: | systemtap | Reporter: | Phil Muldoon <pmuldoon> |
Component: | tapsets | Assignee: | Phil Muldoon <pmuldoon> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: | ||
Attachments: |
Fix for 6752; tweak conditional to test for .10 at end of kernel version string
Fix for 6752; tweak conditional to test for >= 2.6.26 end of kernel version string |
Description
Phil Muldoon
2008-07-18 15:13:16 UTC
I'll take a shot at investigating this, and grep'ping the kernel source to see if anything has changed in that particular revision. send_sigqueue in linux-2.6.25.x86_64/kernel/signal.c uses p for task_struct, not t so the conditional: %( kernel_v > "2.6.25" %? task = $t appears incorrect? Frank mentioned that kernel_v may be reporting 2.6.25.10 as the kernel version string on Fedora perhaps casuing the < 2.6.25 version comparison to be false. I'm not sure how to check the kernel_v argument as it is used in conditionals. Page 28 of the language reference guide describes it as: -- kernel v refers to the kernel version number only, such as “2.6.13”. Should kernel_v only report the first 3 elements of a version number? Created attachment 2834 [details]
Fix for 6752; tweak conditional to test for .10 at end of kernel version string
Patch to adjust kernel_v check to account for 2.6.25.10.
Created attachment 2835 [details]
Fix for 6752; tweak conditional to test for >= 2.6.26 end of kernel version string
Path to change conditional to >= 2.6.26
Fixed with attached patch. |