--- openafs-1.2.8/src/afs/LINUX/osi_sleep.c	2003-01-03 11:26:46.000000000 -0800
+++ openafs-1.2.8.new/src/afs/LINUX/osi_sleep.c	2003-01-03 11:22:21.000000000 -0800
@@ -192,18 +192,18 @@
 	set_current_state(TASK_INTERRUPTIBLE);
 	AFS_ASSERT_GLOCK();
 	AFS_GUNLOCK();
+	spin_lock_irq(&current->sig->siglock);
-	spin_lock_irq(&current->sigmask_lock);
 	saved_set = current->blocked;
 	sigfillset(&current->blocked);
+	recalc_sigpending();
+	spin_unlock_irq(&current->sig->siglock);
-	recalc_sigpending(current);
-	spin_unlock_irq(&current->sigmask_lock);
 
 	schedule();
 
+	spin_lock_irq(&current->sig->siglock);
-	spin_lock_irq(&current->sigmask_lock);
 	current->blocked = saved_set;
+	recalc_sigpending();
+	spin_unlock_irq(&current->sig->siglock);
-	recalc_sigpending(current);
-	spin_unlock_irq(&current->sigmask_lock);
 	AFS_GLOCK();
     }
     remove_wait_queue(&evp->cond, &wait);
--- openafs-1.2.8.old/src/afs/afs_osi.c	2002-11-14 15:53:36.000000000 -0800
+++ openafs-1.2.8/src/afs/afs_osi.c	2003-01-02 17:26:38.000000000 -0800
@@ -798,7 +798,7 @@
 #ifdef EXPORTED_TASKLIST_LOCK
     read_lock(&tasklist_lock);
 #endif
-    for_each_task(p) if (p->pid) {
+    for_each_process(p) if (p->pid) {
         if (p->state & TASK_ZOMBIE)
             continue;
 	afs_GCPAGs_perproc_func(p);
--- openafs-1.2.8.old/src/afs/LINUX/osi_groups.c	2002-10-15 20:58:21.000000000 -0700
+++ openafs-1.2.8/src/afs/LINUX/osi_groups.c	2003-01-03 09:29:31.000000000 -0800
@@ -33,13 +33,13 @@
  */
 int set_pag_in_parent(int pag, int g0, int g1)
 {
-    gid_t *gp = current->p_pptr->groups;
+    gid_t *gp = current->parent->groups;
     int ngroups;
     int i;
 
     
-    ngroups = current->p_pptr->ngroups;
-    gp = current->p_pptr->groups;
+    ngroups = current->parent->ngroups;
+    gp = current->parent->groups;
 
 
     if ((ngroups < 2) || (afs_get_pag_from_groups(gp[0], gp[1]) == NOPAG)) {
@@ -57,7 +57,7 @@
     if (ngroups < NGROUPS)
 	gp[ngroups] = NOGROUP;
 
-    current->p_pptr->ngroups = ngroups;
+    current->parent->ngroups = ngroups;
     return 0;
 }
 
--- openafs-1.2.8.old/src/afs/LINUX/osi_machdep.h	2002-10-15 20:58:21.000000000 -0700
+++ openafs-1.2.8/src/afs/LINUX/osi_machdep.h	2003-01-03 09:25:19.000000000 -0800
@@ -24,7 +24,7 @@
 #undef getuerror
 
 #define getpid() current->pid
-#define getppid() current->p_opptr->pid
+#define getppid() current->real_parent->pid
 
 
 #define afs_hz HZ
--- openafs-1.2.8.old/src/afs/LINUX/osi_misc.c	2002-10-15 20:58:21.000000000 -0700
+++ openafs-1.2.8/src/afs/LINUX/osi_misc.c	2003-01-03 09:37:28.000000000 -0800
@@ -445,17 +445,19 @@
 
 void osi_linux_mask() {
-    spin_lock_irq(&current->sigmask_lock);
+    spin_lock_irq(&current->sig->siglock);
     sigfillset(&current->blocked);
-    recalc_sigpending(current);
-    spin_unlock_irq(&current->sigmask_lock);
+    recalc_sigpending_tsk(current);
+    spin_unlock_irq(&current->sig->siglock);
 }
 
 void osi_linux_unmask() {
+    extern void recalc_sigpending_tsk(struct task_struct *t);
+
-    spin_lock_irq(&rxk_ListenerTask->sigmask_lock);
+    spin_lock_irq(&rxk_ListenerTask->sig->siglock);
     sigemptyset(&rxk_ListenerTask->blocked);
     flush_signals(rxk_ListenerTask);
-    recalc_sigpending(rxk_ListenerTask);
-    spin_unlock_irq(&rxk_ListenerTask->sigmask_lock);
+    recalc_sigpending_tsk(rxk_ListenerTask);
+    spin_unlock_irq(&rxk_ListenerTask->sig->siglock);
 }
 
 void osi_linux_rxkreg() {
--- openafs-1.2.8.old/src/afs/LINUX/osi_module.c	2002-12-09 20:16:21.000000000 -0800
+++ openafs-1.2.8/src/afs/LINUX/osi_module.c	2003-01-03 09:43:00.000000000 -0800
@@ -437,7 +437,7 @@
     struct task_struct *p;
 
     /* search backward thru the circular list */
-    for(p = current; p; p = p->prev_task)
+    for(p = current; p; p = prev_task(p))
 	if (p->pid == 1)
 	    return p->addr_limit.seg;
 
--- openafs-1.2.8/src/rx/LINUX/rx_kmutex.h	2003-01-03 13:48:16.000000000 -0800
+++ openafs-1.2.8/src/rx/LINUX/rx_kmutex.h.old	2003-01-03 13:49:50.000000000 -0800
@@ -125,19 +125,19 @@
     if (isAFSGlocked) AFS_GUNLOCK();
     MUTEX_EXIT(l);
 
-    spin_lock_irq(&current->sigmask_lock);
+    spin_lock_irq(&current->sig->siglock);
     saved_set = current->blocked;
     sigfillset(&current->blocked);
-    recalc_sigpending(current);
-    spin_unlock_irq(&current->sigmask_lock);
+    recalc_sigpending();
+    spin_unlock_irq(&current->sig->siglock);
 
     schedule();
     remove_wait_queue(cv, &wait);
 
-    spin_lock_irq(&current->sigmask_lock);
+    spin_lock_irq(&current->sig->siglock);
     current->blocked = saved_set;
-    recalc_sigpending(current);
-    spin_unlock_irq(&current->sigmask_lock);
+    recalc_sigpending();
+    spin_unlock_irq(&current->sig->siglock);
 
     if (isAFSGlocked) AFS_GLOCK();
     MUTEX_ENTER(l);
@@ -162,19 +162,19 @@
     if (isAFSGlocked) AFS_GUNLOCK();
     MUTEX_EXIT(l);
     
-    spin_lock_irq(&current->sigmask_lock);
+    spin_lock_irq(&current->sig->siglock);
     saved_set = current->blocked;
     sigfillset(&current->blocked);
-    recalc_sigpending(current);
-    spin_unlock_irq(&current->sigmask_lock);
+    recalc_sigpending();
+    spin_unlock_irq(&current->sig->siglock);
 
     t = schedule_timeout(t);
     remove_wait_queue(cv, &wait);
     
-    spin_lock_irq(&current->sigmask_lock);
+    spin_lock_irq(&current->sig->siglock);
     current->blocked = saved_set;
-    recalc_sigpending(current);
-    spin_unlock_irq(&current->sigmask_lock);
+    recalc_sigpending();
+    spin_unlock_irq(&current->sig->siglock);
 
     if (isAFSGlocked) AFS_GLOCK();
     MUTEX_ENTER(l);
