FAILED: patch "[PATCH] test_firmware: fix a memory leak with reqs buffer" failed to apply to 5.10-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x be37bed754ed90b2655382f93f9724b3c1aae847
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023060712-bounding-unlinked-5f90@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From be37bed754ed90b2655382f93f9724b3c1aae847 Mon Sep 17 00:00:00 2001
From: Mirsad Goran Todorovac <[email protected]>
Date: Tue, 9 May 2023 10:47:47 +0200
Subject: [PATCH] test_firmware: fix a memory leak with reqs buffer
Dan Carpenter spotted that test_fw_config->reqs will be leaked if trigger_batched_requests_store() is called two or more times. The same appears with trigger_batched_requests_async_store().
This bug wasn't trigger by the tests, but observed by Dan's visual inspection of the code.
The recommended workaround was to return -EBUSY if test_fw_config->reqs is already allocated.
lib/test_firmware.c +10 -0
@@ -913,6 +913,11 @@ static ssize_t trigger_batched_requests_store(struct device *dev,mutex_lock (&test_fw_mutex); +if (test_fw_config->reqs) { + rc = -EBUSY ; + goto out_bail; + } + test_fw_config->reqs =vzalloc (array3_size (sizeof (struct test_batched_req ), test_fw_config->num_requests,2 ));
@@ -1011,6 +1016,11 @@ ssize_t trigger_batched_requests_async_store(struct device *dev,mutex_lock (&test_fw_mutex); +if (test_fw_config->reqs) { + rc = -EBUSY ; + goto out_bail; + } + test_fw_config->reqs =vzalloc (array3_size (sizeof (struct test_batched_req ), test_fw_config->num_requests,2 ));