From: Dmitry Eremin Date: Wed, 2 Mar 2016 22:01:57 +0000 (-0500) Subject: staging: lustre: fix conctl.c issues found by Klocwork Insight tool X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=95193044c9cc3c69755b0582707bf32ddc05d4f3;p=linux-beck.git staging: lustre: fix conctl.c issues found by Klocwork Insight tool The function lst_test_add_ioctl is always copying lstio_tes_param from userland even if the user doesn't send this data to LNet selftest. Only consider lstio_tes_param data if lstio_tes_param_len is not zero. Signed-off-by: Dmitry Eremin Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4629 Reviewed-on: http://review.whamcloud.com/9386 Reviewed-by: John L. Hammond Reviewed-by: Isaac Huang Reviewed-by: Oleg Drokin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lnet/selftest/conctl.c b/drivers/staging/lustre/lnet/selftest/conctl.c index 90b7771ac7c6..714d14b9b6a7 100644 --- a/drivers/staging/lustre/lnet/selftest/conctl.c +++ b/drivers/staging/lustre/lnet/selftest/conctl.c @@ -761,6 +761,11 @@ static int lst_test_add_ioctl(lstio_test_args_t *args) LIBCFS_ALLOC(param, args->lstio_tes_param_len); if (!param) goto out; + if (copy_from_user(param, args->lstio_tes_param, + args->lstio_tes_param_len)) { + rc = -EFAULT; + goto out; + } } rc = -EFAULT; @@ -769,9 +774,7 @@ static int lst_test_add_ioctl(lstio_test_args_t *args) copy_from_user(src_name, args->lstio_tes_sgrp_name, args->lstio_tes_sgrp_nmlen) || copy_from_user(dst_name, args->lstio_tes_dgrp_name, - args->lstio_tes_dgrp_nmlen) || - copy_from_user(param, args->lstio_tes_param, - args->lstio_tes_param_len)) + args->lstio_tes_dgrp_nmlen)) goto out; rc = lstcon_test_add(batch_name, args->lstio_tes_type,