]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/kernel/irixinv.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / arch / mips / kernel / irixinv.c
index 60aa98cd17912460748c35a62f0005ddf6381f4a..cf2dcd3d6a932a65dd7732822d1b3252693c04a7 100644 (file)
@@ -14,7 +14,7 @@ int inventory_items = 0;
 
 static inventory_t inventory [MAX_INVENTORY];
 
-void add_to_inventory (int class, int type, int controller, int unit, int state)
+void add_to_inventory(int class, int type, int controller, int unit, int state)
 {
        inventory_t *ni = &inventory [inventory_items];
 
@@ -30,10 +30,10 @@ void add_to_inventory (int class, int type, int controller, int unit, int state)
        inventory_items++;
 }
 
-int dump_inventory_to_user (void *userbuf, int size)
+int dump_inventory_to_user(void __user *userbuf, int size)
 {
        inventory_t *inv  = &inventory [0];
-       inventory_t *user = userbuf;
+       inventory_t __user *user = userbuf;
        int v;
 
        if (!access_ok(VERIFY_WRITE, userbuf, size))
@@ -41,10 +41,11 @@ int dump_inventory_to_user (void *userbuf, int size)
 
        for (v = 0; v < inventory_items; v++){
                inv = &inventory [v];
-               copy_to_user (user, inv, sizeof (inventory_t));
+               if (copy_to_user (user, inv, sizeof (inventory_t)))
+                       return -EFAULT;
                user++;
        }
-       return inventory_items * sizeof (inventory_t);
+       return inventory_items * sizeof(inventory_t);
 }
 
 int __init init_inventory(void)
@@ -54,24 +55,24 @@ int __init init_inventory(void)
         * most likely this will not let just anyone run the X server
         * until we put the right values all over the place
         */
-       add_to_inventory (10, 3, 0, 0, 16400);
-       add_to_inventory (1, 1, 150, -1, 12);
-       add_to_inventory (1, 3, 0, 0, 8976);
-       add_to_inventory (1, 2, 0, 0, 8976);
-       add_to_inventory (4, 8, 0, 0, 2);
-       add_to_inventory (5, 5, 0, 0, 1);
-       add_to_inventory (3, 3, 0, 0, 32768);
-       add_to_inventory (3, 4, 0, 0, 32768);
-       add_to_inventory (3, 8, 0, 0, 524288);
-       add_to_inventory (3, 9, 0, 0, 64);
-       add_to_inventory (3, 1, 0, 0, 67108864);
-       add_to_inventory (12, 3, 0, 0, 16);
-       add_to_inventory (8, 7, 17, 0, 16777472);
-       add_to_inventory (8, 0, 0, 0, 1);
-       add_to_inventory (2, 1, 0, 13, 2);
-       add_to_inventory (2, 2, 0, 2, 0);
-       add_to_inventory (2, 2, 0, 1, 0);
-       add_to_inventory (7, 14, 0, 0, 6);
+       add_to_inventory(10, 3, 0, 0, 16400);
+       add_to_inventory(1, 1, 150, -1, 12);
+       add_to_inventory(1, 3, 0, 0, 8976);
+       add_to_inventory(1, 2, 0, 0, 8976);
+       add_to_inventory(4, 8, 0, 0, 2);
+       add_to_inventory(5, 5, 0, 0, 1);
+       add_to_inventory(3, 3, 0, 0, 32768);
+       add_to_inventory(3, 4, 0, 0, 32768);
+       add_to_inventory(3, 8, 0, 0, 524288);
+       add_to_inventory(3, 9, 0, 0, 64);
+       add_to_inventory(3, 1, 0, 0, 67108864);
+       add_to_inventory(12, 3, 0, 0, 16);
+       add_to_inventory(8, 7, 17, 0, 16777472);
+       add_to_inventory(8, 0, 0, 0, 1);
+       add_to_inventory(2, 1, 0, 13, 2);
+       add_to_inventory(2, 2, 0, 2, 0);
+       add_to_inventory(2, 2, 0, 1, 0);
+       add_to_inventory(7, 14, 0, 0, 6);
 
        return 0;
 }