lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <dbebaea7-289c-47d9-ba06-cd58a10ea662@web.de>
Date: Thu, 29 Feb 2024 19:55:46 +0100
From: Markus Elfring <Markus.Elfring@....de>
To: linux-staging@...ts.linux.dev, linux-tegra@...r.kernel.org,
 linux-media@...r.kernel.org, kernel-janitors@...r.kernel.org,
 Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
 Jonathan Hunter <jonathanh@...dia.com>,
 Luca Ceresoli <luca.ceresoli@...tlin.com>,
 Mauro Carvalho Chehab <mchehab@...nel.org>,
 Sowjanya Komatineni <skomatineni@...dia.com>,
 Thierry Reding <thierry.reding@...il.com>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH] staging: media: tegra-video: Use common error handling code
 in tegra_vi_graph_parse_one()

From: Markus Elfring <elfring@...rs.sourceforge.net>
Date: Thu, 29 Feb 2024 19:44:36 +0100

Add a jump target so that a bit of exception handling can be better reused
at the end of this function implementation.

Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
---
 drivers/staging/media/tegra-video/vi.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media/tegra-video/vi.c
index af6e3a0d8df4..5a08d9551f8b 100644
--- a/drivers/staging/media/tegra-video/vi.c
+++ b/drivers/staging/media/tegra-video/vi.c
@@ -1730,21 +1730,20 @@ static int tegra_vi_graph_parse_one(struct tegra_vi_channel *chan,
 			ret = PTR_ERR(tvge);
 			dev_err(vi->dev,
 				"failed to add subdev to notifier: %d\n", ret);
-			fwnode_handle_put(remote);
-			goto cleanup;
+			goto put_fwnode;
 		}

 		ret = tegra_vi_graph_parse_one(chan, remote);
-		if (ret < 0) {
-			fwnode_handle_put(remote);
-			goto cleanup;
-		}
+		if (ret < 0)
+			goto put_fwnode;

 		fwnode_handle_put(remote);
 	}

 	return 0;

+put_fwnode:
+	fwnode_handle_put(remote);
 cleanup:
 	dev_err(vi->dev, "failed parsing the graph: %d\n", ret);
 	v4l2_async_nf_cleanup(&chan->notifier);
--
2.44.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ