diff mbox series

sbp-target: add the missed kfree() in an error path

Message ID 20200528102056.911825-1-hslester96@gmail.com (mailing list archive)
State Not Applicable
Headers show
Series sbp-target: add the missed kfree() in an error path | expand

Commit Message

Chuhong Yuan May 28, 2020, 10:20 a.m. UTC
sbp_fetch_command() forgets to call kfree() in an error path.
Add the missed call to fix it.

Fixes: a511ce339780 ("sbp-target: Initial merge of firewire/ieee-1394 target mode support")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
---
 drivers/target/sbp/sbp_target.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Bart Van Assche May 28, 2020, 2:53 p.m. UTC | #1
On 2020-05-28 03:20, Chuhong Yuan wrote:
> sbp_fetch_command() forgets to call kfree() in an error path.
> Add the missed call to fix it.

Hi Chris,

The changelog of the code under drivers/target/sbp makes we wonder
whether this driver has ever had any other users than its original
author. Do you agree with this? If so, do you want to keep this driver
in the kernel tree?

Thanks,

Bart.
Chris Boot May 28, 2020, 3:16 p.m. UTC | #2
On 28/05/2020 15:53, Bart Van Assche wrote:
> On 2020-05-28 03:20, Chuhong Yuan wrote:
>> sbp_fetch_command() forgets to call kfree() in an error path.
>> Add the missed call to fix it.
> 
> Hi Chris,
> 
> The changelog of the code under drivers/target/sbp makes we wonder
> whether this driver has ever had any other users than its original
> author. Do you agree with this? If so, do you want to keep this driver
> in the kernel tree?

Hi Bart,

I think you might be right. I also don't have much time to maintain it
these days and the hardware I had is long dead. It probably should be
removed for everyone's sanity.

Best regards,
Chris
Martin K. Petersen June 3, 2020, 1:01 a.m. UTC | #3
Chris,

> I think you might be right. I also don't have much time to maintain it
> these days and the hardware I had is long dead.

In that case I'd appreciate a patch to remove it.

Thanks!
diff mbox series

Patch

diff --git a/drivers/target/sbp/sbp_target.c b/drivers/target/sbp/sbp_target.c
index e4a9b9fe3dfb..504a755ea344 100644
--- a/drivers/target/sbp/sbp_target.c
+++ b/drivers/target/sbp/sbp_target.c
@@ -1128,8 +1128,10 @@  static int sbp_fetch_command(struct sbp_target_request *req)
 				req->orb_pointer + sizeof(req->orb),
 				req->cmd_buf + sizeof(req->orb.command_block),
 				copy_len);
-		if (ret != RCODE_COMPLETE)
+		if (ret != RCODE_COMPLETE) {
+			kfree(req->cmd_buf);
 			return -EIO;
+		}
 	}
 
 	return 0;