Staging: bcm: Check correct user provided length and fix error code returned
authorJavier Martinez Canillas <martinez.javier@gmail.com>
Tue, 25 Jan 2011 00:46:18 +0000 (01:46 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 4 Feb 2011 21:01:02 +0000 (13:01 -0800)
commit00719fab9f6eb90b9e427d1096ad540d51878661
tree755bac969a46a635899d7133fa5f6782ad37e32c
parentc69ab1a2cfe5018cf7add67b278db9c744661f0f
Staging: bcm: Check correct user provided length and fix error code returned

bcm driver copies a buffer length provided by userpace without checking it.

RxCntrlMsgBitMask is of type unsigned long so only makes sense to copy
sizeof(unsigned long) bytes.

Also, copy_from_user() returns the number of bytes that could not be copied.
The driver is returning that value as error code instead of -EFAULT.

This patch solves both issues.

Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/bcm/Bcmchar.c