<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: David Howells &lt;dhowells@redhat.com&gt;

I've updated the patch to be against 2.6.11-mm2; and removed the extraneous
preempt disablement from __key_link().

Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 25-akpm/security/keys/keyring.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff -puN security/keys/keyring.c~keys-discard-key-spinlock-and-use-rcu-for-key-payload-try-4 security/keys/keyring.c
--- 25/security/keys/keyring.c~keys-discard-key-spinlock-and-use-rcu-for-key-payload-try-4	Thu Mar 10 16:16:00 2005
+++ 25-akpm/security/keys/keyring.c	Thu Mar 10 16:16:00 2005
@@ -710,7 +710,6 @@ int __key_link(struct key *keyring, stru
 	if (ret &lt; 0)
 		goto error2;
 
-	preempt_disable();
 	klist = keyring-&gt;payload.subscriptions;
 
 	if (klist &amp;&amp; klist-&gt;nkeys &lt; klist-&gt;maxkeys) {
@@ -718,15 +717,13 @@ int __key_link(struct key *keyring, stru
 		atomic_inc(&amp;key-&gt;usage);
 
 		klist-&gt;keys[klist-&gt;nkeys] = key;
-		wmb();
+		smp_wmb();
 		klist-&gt;nkeys++;
-		preempt_enable();
+		smp_wmb();
 
 		ret = 0;
 	}
 	else {
-		preempt_enable();
-
 		/* grow the key list */
 		max = 4;
 		if (klist)
_
</pre></body></html>