Blob Blame History Raw
From: Robert Richter <rrichter@marvell.com>
Date: Wed, 6 Nov 2019 09:33:09 +0000
Subject: EDAC/mc: Do not BUG_ON() in edac_mc_alloc()
Git-commit: d260e8ff5195d3080cc11ae1f35cf4e6eb1a5d24
Patch-mainline: v5.5-rc1
References: jsc#SLE-9482

No need to crash the system in case edac_mc_alloc() is called with
invalid arguments, just warn and return. This would cause a checkpatch
warning when touching the code later, so just fix it.

Signed-off-by: Robert Richter <rrichter@marvell.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Cc: "linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20191106093239.25517-5-rrichter@marvell.com
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
 drivers/edac/edac_mc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 88e24ece3e1e..6b3c4a65c9c8 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -323,7 +323,8 @@ struct mem_ctl_info *edac_mc_alloc(unsigned int mc_num,
 	int i, j, row, chn, n, len;
 	bool per_rank = false;
 
-	BUG_ON(n_layers > EDAC_MAX_LAYERS || n_layers == 0);
+	if (WARN_ON(n_layers > EDAC_MAX_LAYERS || n_layers == 0))
+		return NULL;
 
 	/*
 	 * Calculate the total amount of dimms and csrows/cschannels while
-- 
2.24.1