summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authorjhibbits <jhibbits@FreeBSD.org>2013-12-20 23:18:14 +0000
committerjhibbits <jhibbits@FreeBSD.org>2013-12-20 23:18:14 +0000
commitfde816803b3ba9e4da0c1e6fe6a9379c83e38815 (patch)
treeecf7dc8487f9930196d1ac713522164f04759be7 /sys/cddl
parent4d1897863f30817d3e8beb6e3be1f1115402f8b5 (diff)
downloadFreeBSD-src-fde816803b3ba9e4da0c1e6fe6a9379c83e38815.zip
FreeBSD-src-fde816803b3ba9e4da0c1e6fe6a9379c83e38815.tar.gz
Fix a couple bugs in FBT PowerPC. Clamp the size to a 'instruction size' not
'byte size', and fix a typo. MFC after: 2 weeks
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/dev/fbt/fbt_powerpc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/cddl/dev/fbt/fbt_powerpc.c b/sys/cddl/dev/fbt/fbt_powerpc.c
index 6706282..2b88640 100644
--- a/sys/cddl/dev/fbt/fbt_powerpc.c
+++ b/sys/cddl/dev/fbt/fbt_powerpc.c
@@ -219,7 +219,7 @@ fbt_provide_module_function(linker_file_t lf, int symindx,
return (0);
instr = (u_int32_t *) symval->value;
- limit = (u_int32_t *) (symval->value + symval->size);
+ limit = (u_int32_t *) (symval->value + symval->size / sizeof(u_int32_t));
for (; instr < limit; instr++)
if (*instr == FBT_MFLR_R0)
@@ -278,7 +278,7 @@ again:
instr++;
for (j = 0; j < 12 && instr < limit; j++, instr++) {
- if ((*instr == FBT_BCTR) || (*instr == FBT_BLR) |
+ if ((*instr == FBT_BCTR) || (*instr == FBT_BLR) ||
FBT_IS_JUMP(*instr))
break;
}
OpenPOWER on IntegriCloud