EDAC/mc: Do not BUG_ON() in edac_mc_alloc()
authorRobert Richter <rrichter@marvell.com>
Wed, 6 Nov 2019 09:33:09 +0000 (09:33 +0000)
committerBorislav Petkov <bp@suse.de>
Sun, 10 Nov 2019 11:40:14 +0000 (12:40 +0100)
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
drivers/edac/edac_mc.c

index 88e24ece3e1e418d3f74e3ae28817e440a5af6e8..6b3c4a65c9c857e8caee58ca7814f90555bc124b 100644 (file)
@@ -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