public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] edac: sb_edac: add sanity check to silence static checker
@ 2011-11-01  6:28 Dan Carpenter
  2011-11-01 12:32 ` walter harms
  0 siblings, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2011-11-01  6:28 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Mark A. Grondona, linux-kernel, kernel-janitors

I assume the the check on if (limit <= prv) prevents n_tads from
actually reaching MAX_TAD.  The problem with that is that it relies
on the hardware returning the right value and Smatch complains that
if it doesn't we could have a buffer overflow.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
Feel free to ignore this patch if you want.  I don't have very stong
feelings about this either way.

diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 7a402bf..ebf386c 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -970,6 +970,12 @@ static int get_memory_error_data(struct mem_ctl_info *mci,
 			break;
 		prv = limit;
 	}
+	if (n_tads == MAX_TAD) {
+		sprintf(msg, "Could not discover the memory channel");
+		edac_mc_handle_ce_no_info(mci, msg);
+		return -EINVAL;
+	}
+
 	ch_way = TAD_CH(reg) + 1;
 	sck_way = TAD_SOCK(reg) + 1;
 	/*

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-11-01 13:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-01  6:28 [patch] edac: sb_edac: add sanity check to silence static checker Dan Carpenter
2011-11-01 12:32 ` walter harms
2011-11-01 12:53   ` Mauro Carvalho Chehab
2011-11-01 13:59     ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox