Offset is unsigned and when an address isn't found in the vma mapPatch looks correct. vma_map_lookup used to return 0xffffffff on a failed lookup, but a change was recently made to return the vma physical address + 0x10000000 (as Roel notes above). There are two callers of vam_map_lookup: one of them correctly deals with this new return value, but the other (below) did not. Roel's patch fixes that hole. Thanks!
vma_map_lookup() returns the vma physical address + 0x10000000.
Signed-off-by: Roel Kluin <12o3l@xxxxxxxxxx>
---
diff --git a/arch/powerpc/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c
index 9a93217..1c28e2e 100644
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
@@ -229,7 +229,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
*/
overlay_tbl_offset = vma_map_lookup(map, ovly_table_sym,
aSpu, &grd_val);
- if (overlay_tbl_offset < 0) {
+ if (overlay_tbl_offset >= 0x10000000) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: Error finding SPU overlay table\n",
__FUNCTION__, __LINE__);
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
oprofile-list mailing list
oprofile-list@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/oprofile-list