summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-10-14 22:54:40 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-10-30 17:21:28 +1100
commitfd62c6c448669a946e94fbb0ad179918b2233e3d (patch)
tree3067f9abbfeea2a41a0a183057bcf76d7ddaba3d
parentae7dd0208f62f1d6db4c49b85e54fa7bbed0ea4e (diff)
downloadkernel-crypto-fd62c6c448669a946e94fbb0ad179918b2233e3d.tar.gz
kernel-crypto-fd62c6c448669a946e94fbb0ad179918b2233e3d.tar.xz
kernel-crypto-fd62c6c448669a946e94fbb0ad179918b2233e3d.zip
powerpc/nvram_64: Check nvram_error_log_index in nvram_clear_error_log()
nvram_clear_error_log() calls ppc_md.nvram_write() even when nvram_error_log_index is -1 (invalid). The nvram_write() function does not check for a negative offset. Check nvram_error_log_index as the other nvram log functions do. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/kernel/nvram_64.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
index c67e0102df9..89d4af2a13e 100644
--- a/arch/powerpc/kernel/nvram_64.c
+++ b/arch/powerpc/kernel/nvram_64.c
@@ -681,6 +681,9 @@ int nvram_clear_error_log(void)
int clear_word = ERR_FLAG_ALREADY_LOGGED;
int rc;
+ if (nvram_error_log_index == -1)
+ return -1;
+
tmp_index = nvram_error_log_index;
rc = ppc_md.nvram_write((char *)&clear_word, sizeof(int), &tmp_index);