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); |
