diff options
Diffstat (limited to 'arch/mips/kernel/irixinv.c')
-rw-r--r-- | arch/mips/kernel/irixinv.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/mips/kernel/irixinv.c b/arch/mips/kernel/irixinv.c index 60aa98cd1791..de8584f62311 100644 --- a/arch/mips/kernel/irixinv.c +++ b/arch/mips/kernel/irixinv.c | |||
@@ -30,10 +30,10 @@ void add_to_inventory (int class, int type, int controller, int unit, int state) | |||
30 | inventory_items++; | 30 | inventory_items++; |
31 | } | 31 | } |
32 | 32 | ||
33 | int dump_inventory_to_user (void *userbuf, int size) | 33 | int dump_inventory_to_user (void __user *userbuf, int size) |
34 | { | 34 | { |
35 | inventory_t *inv = &inventory [0]; | 35 | inventory_t *inv = &inventory [0]; |
36 | inventory_t *user = userbuf; | 36 | inventory_t __user *user = userbuf; |
37 | int v; | 37 | int v; |
38 | 38 | ||
39 | if (!access_ok(VERIFY_WRITE, userbuf, size)) | 39 | if (!access_ok(VERIFY_WRITE, userbuf, size)) |
@@ -41,7 +41,8 @@ int dump_inventory_to_user (void *userbuf, int size) | |||
41 | 41 | ||
42 | for (v = 0; v < inventory_items; v++){ | 42 | for (v = 0; v < inventory_items; v++){ |
43 | inv = &inventory [v]; | 43 | inv = &inventory [v]; |
44 | copy_to_user (user, inv, sizeof (inventory_t)); | 44 | if (copy_to_user (user, inv, sizeof (inventory_t))) |
45 | return -EFAULT; | ||
45 | user++; | 46 | user++; |
46 | } | 47 | } |
47 | return inventory_items * sizeof (inventory_t); | 48 | return inventory_items * sizeof (inventory_t); |