]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/platforms/cell/spu_callbacks.c
[PATCH] powerpc: check Cell SPU syscall number range _before_ using it
[linux-2.6-omap-h63xx.git] / arch / powerpc / platforms / cell / spu_callbacks.c
index 67453147cd990294ccc1671b9df390eefb616054..5a0f9e3beb24677b3de2e604127ac22fb656c72c 100644 (file)
@@ -339,13 +339,13 @@ long spu_sys_callback(struct spu_syscall_block *s)
 {
        long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6);
 
-       syscall = spu_syscall_table[s->nr_ret];
-
        if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) {
                pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret);
                return -ENOSYS;
        }
 
+       syscall = spu_syscall_table[s->nr_ret];
+
 #ifdef DEBUG
        print_symbol(KERN_DEBUG "SPU-syscall %s:", (unsigned long)syscall);
        printk("syscall%ld(%lx, %lx, %lx, %lx, %lx, %lx)\n",