powerpc/cell/oprofile: Fix test on overlay_tbl_offset in vma_map
authorRoel Kluin <[email protected]>
Mon, 6 Oct 2008 22:38:33 +0000 (22:38 +0000)
committerBenjamin Herrenschmidt <[email protected]>
Fri, 10 Oct 2008 04:55:18 +0000 (15:55 +1100)
Offset is unsigned and when an address isn't found in the vma map
vma_map_lookup() returns the vma physical address + 0x10000000.

vma_map_lookup used to return 0xffffffff on a failed lookup, but
a change was made to return the vma physical address + 0x10000000
There are two callers of vam_map_lookup: one of them correctly
deals with this new return value, but the other (below) did not.

Signed-off-by: Roel Kluin <[email protected]>
Acked-by: Maynard Johnson <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
arch/powerpc/oprofile/cell/vma_map.c

index fff66662d021ed152c1e17601cb319bd3f4c6ec8..258fa4411e9e48dde2c9bfdffce352c49e3d9a21 100644 (file)
@@ -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",
                       __func__, __LINE__);