From: linas@austin.ibm.com
To: paulus@au1.ibm.com, paulus@samba.org
Cc: linuxppc64-dev@lists.linuxppc.org, linux-kernel@vger.kernel.org
Subject: [PATCH] PPC64: lockfix for rtas error log
Date: Tue, 29 Jun 2004 17:50:07 -0500 [thread overview]
Message-ID: <20040629175007.P21634@forte.austin.ibm.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 420 bytes --]
Paul,
Could you please apply the following path to the ameslab tree, and/or
forward it to the main 2.6 kernel maintainers.
This patch moves the location of a lock in order to protect
the contents of a buffer until it has been copied to its final
destination. Prior to this, a race existed whereby the buffer
could be filled even while it was being emptied.
Signed-off-by: Linas Vepstas <linas@linas.org>
--linas
[-- Attachment #2: rtas-erbbuf-lockfix.patch --]
[-- Type: text/plain, Size: 857 bytes --]
--- arch/ppc64/kernel/rtas.c.orig-pre-lockfix 2004-06-29 17:02:12.000000000 -0500
+++ arch/ppc64/kernel/rtas.c 2004-06-29 17:14:05.000000000 -0500
@@ -134,9 +134,10 @@ log_rtas_error(void)
spin_lock_irqsave(&rtas.lock, s);
rc = __log_rtas_error();
- spin_unlock_irqrestore(&rtas.lock, s);
- if (rc == 0)
+ if (rc == 0) {
log_error(rtas_err_buf, ERR_TYPE_RTAS_LOG, 0);
+ }
+ spin_unlock_irqrestore(&rtas.lock, s);
}
int
@@ -193,12 +194,13 @@ rtas_call(int token, int nargs, int nret
outputs[i] = rtas_args->rets[i+1];
ret = (int)((nret > 0) ? rtas_args->rets[0] : 0);
+ if (logit) {
+ log_error(rtas_err_buf, ERR_TYPE_RTAS_LOG, 0);
+ }
+
/* Gotta do something different here, use global lock for now... */
spin_unlock_irqrestore(&rtas.lock, s);
- if (logit)
- log_error(rtas_err_buf, ERR_TYPE_RTAS_LOG, 0);
-
return ret;
}
next reply other threads:[~2004-06-30 0:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-29 22:50 linas [this message]
2004-06-30 1:17 ` [PATCH] PPC64: lockfix for rtas error log David Gibson
2004-06-30 16:58 ` linas
2004-06-30 1:44 ` Benjamin Herrenschmidt
2004-06-30 17:36 ` linas
2004-06-30 18:47 ` Benjamin Herrenschmidt
2004-06-30 19:02 ` Olof Johansson
2004-06-30 19:02 ` Benjamin Herrenschmidt
2004-06-30 20:31 ` [PATCH] 2.6 PPC64: lockfix for rtas error log (third-times-a-charm?) linas
2004-06-30 11:27 ` [PATCH] PPC64: lockfix for rtas error log Paul Mackerras
2004-06-30 17:50 ` linas
2004-06-30 23:07 ` Paul Mackerras
2004-07-01 16:31 ` Jake Moilanen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040629175007.P21634@forte.austin.ibm.com \
--to=linas@austin.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc64-dev@lists.linuxppc.org \
--cc=paulus@au1.ibm.com \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.