]> git.hungrycats.org Git - linux/commitdiff
iscsi-target: avoid NULL pointer in iscsi_copy_param_list failure
authorJoern Engel <joern@logfs.org>
Tue, 2 Sep 2014 21:49:54 +0000 (17:49 -0400)
committerZefan Li <lizefan@huawei.com>
Mon, 1 Dec 2014 10:02:34 +0000 (18:02 +0800)
commit 8ae757d09c45102b347a1bc2867f54ffc1ab8fda upstream.

In iscsi_copy_param_list() a failed iscsi_param_list memory allocation
currently invokes iscsi_release_param_list() to cleanup, and will promptly
trigger a NULL pointer dereference.

Instead, go ahead and return for the first iscsi_copy_param_list()
failure case.

Found by coverity.

Signed-off-by: Joern Engel <joern@logfs.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Zefan Li <lizefan@huawei.com>
drivers/target/iscsi/iscsi_target_parameters.c

index 8a8ff238c231471e201fd64a61d81f2d8eba61dc..ed4abadc3df6ac46b5426a67821f75998cce7675 100644 (file)
@@ -552,7 +552,7 @@ int iscsi_copy_param_list(
        param_list = kzalloc(sizeof(struct iscsi_param_list), GFP_KERNEL);
        if (!param_list) {
                pr_err("Unable to allocate memory for struct iscsi_param_list.\n");
-               goto err_out;
+               return -1;
        }
        INIT_LIST_HEAD(&param_list->param_list);
        INIT_LIST_HEAD(&param_list->extra_response_list);