diff -urN oldtree/kernel/acct.c newtree/kernel/acct.c
--- oldtree/kernel/acct.c	2006-07-20 10:47:10.000000000 -0400
+++ newtree/kernel/acct.c	2006-07-20 11:03:06.677006500 -0400
@@ -549,7 +549,7 @@
 		up_read(&current->mm->mmap_sem);
 	}
 
-	spin_lock(&current->sighand->siglock);
+	spin_lock_irq(&current->sighand->siglock);
 	if (group_dead)
 		pacct->ac_mem = vsize / 1024;
 	if (thread_group_leader(current)) {
@@ -567,7 +567,7 @@
 	pacct->ac_stime = cputime_add(pacct->ac_stime, current->stime);
 	pacct->ac_minflt += current->min_flt;
 	pacct->ac_majflt += current->maj_flt;
-	spin_unlock(&current->sighand->siglock);
+	spin_unlock_irq(&current->sighand->siglock);
 }
 
 /**
