diff options
author | Dan Carpenter <error27@gmail.com> | 2010-06-02 19:56:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-03 06:28:22 -0400 |
commit | 60a5711db646b87b9530b16cbaf3bd53ac5594a5 (patch) | |
tree | bbd3c14db8ad6210d897144d668f7b15a3f4fac2 /drivers | |
parent | 3b21b508ecc9e043839a5337563cfc77f9fcedb9 (diff) |
isdn/kcapi: return -EFAULT on copy_from_user errors
copy_from_user() returns the number of bytes remaining but we should
return -EFAULT here. The error code gets returned to the user. Both
old_capi_manufacturer() and capi20_manufacturer() had other places
that already returned -EFAULT so this won't break anything.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/isdn/capi/kcapi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/isdn/capi/kcapi.c index bde3c88b8b27..b054494df846 100644 --- a/drivers/isdn/capi/kcapi.c +++ b/drivers/isdn/capi/kcapi.c | |||
@@ -1020,12 +1020,12 @@ static int old_capi_manufacturer(unsigned int cmd, void __user *data) | |||
1020 | if (cmd == AVMB1_ADDCARD) { | 1020 | if (cmd == AVMB1_ADDCARD) { |
1021 | if ((retval = copy_from_user(&cdef, data, | 1021 | if ((retval = copy_from_user(&cdef, data, |
1022 | sizeof(avmb1_carddef)))) | 1022 | sizeof(avmb1_carddef)))) |
1023 | return retval; | 1023 | return -EFAULT; |
1024 | cdef.cardtype = AVM_CARDTYPE_B1; | 1024 | cdef.cardtype = AVM_CARDTYPE_B1; |
1025 | } else { | 1025 | } else { |
1026 | if ((retval = copy_from_user(&cdef, data, | 1026 | if ((retval = copy_from_user(&cdef, data, |
1027 | sizeof(avmb1_extcarddef)))) | 1027 | sizeof(avmb1_extcarddef)))) |
1028 | return retval; | 1028 | return -EFAULT; |
1029 | } | 1029 | } |
1030 | cparams.port = cdef.port; | 1030 | cparams.port = cdef.port; |
1031 | cparams.irq = cdef.irq; | 1031 | cparams.irq = cdef.irq; |
@@ -1218,7 +1218,7 @@ int capi20_manufacturer(unsigned int cmd, void __user *data) | |||
1218 | kcapi_carddef cdef; | 1218 | kcapi_carddef cdef; |
1219 | 1219 | ||
1220 | if ((retval = copy_from_user(&cdef, data, sizeof(cdef)))) | 1220 | if ((retval = copy_from_user(&cdef, data, sizeof(cdef)))) |
1221 | return retval; | 1221 | return -EFAULT; |
1222 | 1222 | ||
1223 | cparams.port = cdef.port; | 1223 | cparams.port = cdef.port; |
1224 | cparams.irq = cdef.irq; | 1224 | cparams.irq = cdef.irq; |