Blob Blame History Raw
From 359afaccd97e6257bcda29efa4e83375d9a2cc34 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Fri, 26 May 2017 00:26:20 +0200
Subject: [PATCH] staging: vchiq_core: Bailout if VCHIQ state is already initialized
Git-commit: 359afaccd97e6257bcda29efa4e83375d9a2cc34
Patch-mainline: v4.13-rc1
References: FATE#324827

In case VCHIQ state is already initialized we need to bailout
in order to aovid a memory leak.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
@@ -2348,6 +2348,11 @@ vchiq_init_state(VCHIQ_STATE_T *state, V
 		"%s: slot_zero = %pK, is_master = %d",
 		__func__, slot_zero, is_master);
 
+	if (vchiq_states[0]) {
+		pr_err("%s: VCHIQ state already initialized\n", __func__);
+		return VCHIQ_ERROR;
+	}
+
 	/* Check the input configuration */
 
 	if (slot_zero->magic != VCHIQ_MAGIC) {