diff options
author | Dan Carpenter <error27@gmail.com> | 2010-06-02 23:56:13 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-03 03:28:22 -0700 |
commit | 60a5711db646b87b9530b16cbaf3bd53ac5594a5 (patch) | |
tree | bbd3c14db8ad6210d897144d668f7b15a3f4fac2 | |
parent | 3b21b508ecc9e043839a5337563cfc77f9fcedb9 (diff) | |
download | linux-60a5711db646b87b9530b16cbaf3bd53ac5594a5.tar.gz linux-60a5711db646b87b9530b16cbaf3bd53ac5594a5.tar.bz2 linux-60a5711db646b87b9530b16cbaf3bd53ac5594a5.zip |
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>
-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) if (cmd == AVMB1_ADDCARD) { if ((retval = copy_from_user(&cdef, data, sizeof(avmb1_carddef)))) - return retval; + return -EFAULT; cdef.cardtype = AVM_CARDTYPE_B1; } else { if ((retval = copy_from_user(&cdef, data, sizeof(avmb1_extcarddef)))) - return retval; + return -EFAULT; } cparams.port = cdef.port; cparams.irq = cdef.irq; @@ -1218,7 +1218,7 @@ int capi20_manufacturer(unsigned int cmd, void __user *data) kcapi_carddef cdef; if ((retval = copy_from_user(&cdef, data, sizeof(cdef)))) - return retval; + return -EFAULT; cparams.port = cdef.port; cparams.irq = cdef.irq; |