aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/hv/Channel.c
diff options
context:
space:
mode:
authorBill Pemberton <wfp5p@virginia.edu>2010-05-05 15:27:38 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-11 11:36:13 -0700
commitc827f944f51e02894d68f036da843783e622ec2a (patch)
treef250c03eaf87fbe38931f5b6738b3f9e9ce2e41b /drivers/staging/hv/Channel.c
parentStaging: hv: test return value of VmbusChannelEstablishGpadl() (diff)
downloadlinux-dev-c827f944f51e02894d68f036da843783e622ec2a.tar.xz
linux-dev-c827f944f51e02894d68f036da843783e622ec2a.zip
Staging: hv: remove ASSERT() in Channel.c
VmbusChannelOpen() will now return -EINVAL if UserDataLen is too big. Previously this was handled by an assert. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/Channel.c')
-rw-r--r--drivers/staging/hv/Channel.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/staging/hv/Channel.c b/drivers/staging/hv/Channel.c
index fdd441174f23..bd1a33608fcf 100644
--- a/drivers/staging/hv/Channel.c
+++ b/drivers/staging/hv/Channel.c
@@ -258,7 +258,11 @@ int VmbusChannelOpen(struct vmbus_channel *NewChannel, u32 SendRingBufferSize,
PAGE_SHIFT;
openMsg->ServerContextAreaGpadlHandle = 0; /* TODO */
- ASSERT(UserDataLen <= MAX_USER_DEFINED_BYTES);
+ if (UserDataLen > MAX_USER_DEFINED_BYTES) {
+ err = -EINVAL;
+ goto errorout;
+ }
+
if (UserDataLen)
memcpy(openMsg->UserData, UserData, UserDataLen);