Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > e13bdbccf28aef9f5083a287bdaf7b69 > files > 9

openafs.SLx-1.4.3-0.rc2.36.src.rpm

diff -ur openafs-1.4.2.orig/src/afs/LINUX/osi_module.c openafs-1.4.2/src/afs/LINUX/osi_module.c
--- openafs-1.4.2.orig/src/afs/LINUX/osi_module.c	2006-09-16 21:19:36.000000000 +0200
+++ openafs-1.4.2/src/afs/LINUX/osi_module.c	2006-11-18 12:24:18.000000000 +0100
@@ -423,9 +423,7 @@
     struct task_struct *p, *q;
 
     /* search backward thru the circular list */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
-    read_lock(&tasklist_lock);
-#endif
+    rcu_read_lock();
     /* search backward thru the circular list */
 #ifdef DEFINED_PREV_TASK
     for (q = current; p = q; q = prev_task(p)) {
@@ -433,16 +431,12 @@
     for (p = current; p; p = p->prev_task) {
 #endif
 	if (p->pid == 1) {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
-	    read_unlock(&tasklist_lock);
-#endif
+            rcu_read_unlock();
 	    return p->addr_limit.seg;
 	}
     }
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
-    read_unlock(&tasklist_lock);
-#endif
+    rcu_read_unlock();
     return 0;
 #endif
 }
diff -ur openafs-1.4.2.orig/src/afs/LINUX/osi_probe.c openafs-1.4.2/src/afs/LINUX/osi_probe.c
--- openafs-1.4.2.orig/src/afs/LINUX/osi_probe.c	2006-10-06 16:01:19.000000000 +0200
+++ openafs-1.4.2/src/afs/LINUX/osi_probe.c	2006-11-18 12:26:03.000000000 +0100
@@ -245,7 +245,6 @@
 extern asmlinkage long sys_open (const char *, int, int) __attribute__((weak));
 #endif
 extern asmlinkage long sys_ioctl(unsigned int, unsigned int, unsigned long) __attribute__((weak));
-extern rwlock_t tasklist_lock __attribute__((weak));
 
 
 /* Structures used to control probing.  We put all the details of which
@@ -511,9 +510,6 @@
     /* symbol in section to try scanning */
 #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV)
     (unsigned long)&sys_close,
-#elif defined(AFS_AMD64_LINUX20_ENV)
-    /* On this platform, it's in a different section! */
-    (unsigned long)&tasklist_lock,
 #else
     (unsigned long)&init_mm,
 #endif
@@ -534,10 +530,6 @@
     (unsigned long)(&init_mm),
     0x1fffff,
     0x30000,
-#elif defined(AFS_AMD64_LINUX20_ENV)
-    (unsigned long)(&tasklist_lock) - 0x30000,
-    0,
-    0x6000,
 #elif defined(AFS_PPC64_LINUX26_ENV)
     (unsigned long)(&do_signal),
     0xfff,
diff -ur openafs-1.4.2.orig/src/afs/afs_osi.c openafs-1.4.2/src/afs/afs_osi.c
--- openafs-1.4.2.orig/src/afs/afs_osi.c	2006-09-27 23:14:27.000000000 +0200
+++ openafs-1.4.2/src/afs/afs_osi.c	2006-11-18 12:28:53.000000000 +0100
@@ -809,15 +809,9 @@
 afs_osi_TraverseProcTable()
 {
 #if !defined(LINUX_KEYRING_SUPPORT)
-    extern rwlock_t tasklist_lock __attribute__((weak));
     struct task_struct *p;
 
-    if (&tasklist_lock)
-       read_lock(&tasklist_lock);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
-    else
-	rcu_read_lock();
-#endif
+    rcu_read_lock();
 
 #ifdef DEFINED_FOR_EACH_PROCESS
     for_each_process(p) if (p->pid) {
@@ -842,12 +836,7 @@
 	afs_GCPAGs_perproc_func(p);
     }
 #endif
-    if (&tasklist_lock)
-       read_unlock(&tasklist_lock);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
-    else
-	rcu_read_unlock();
-#endif
+    rcu_read_unlock();
 #endif
 }
 #endif
diff -ur openafs-1.4.2.orig/src/rx/LINUX/rx_knet.c openafs-1.4.2/src/rx/LINUX/rx_knet.c
--- openafs-1.4.2.orig/src/rx/LINUX/rx_knet.c	2006-09-22 13:20:35.000000000 +0200
+++ openafs-1.4.2/src/rx/LINUX/rx_knet.c	2006-11-18 12:29:45.000000000 +0100
@@ -200,26 +200,15 @@
 
     return code;
 }
-extern rwlock_t tasklist_lock __attribute__((weak));
 void
 osi_StopListener(void)
 {
     struct task_struct *listener;
     extern int rxk_ListenerPid;
 
-    if (&tasklist_lock)
-      read_lock(&tasklist_lock);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
-    else
-      rcu_read_lock();
-#endif
+    rcu_read_lock();
     listener = find_task_by_pid(rxk_ListenerPid);
-    if (&tasklist_lock)
-       read_unlock(&tasklist_lock);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
-    else
-      rcu_read_unlock();
-#endif
+    rcu_read_unlock();
     while (rxk_ListenerPid) {
 	flush_signals(listener);
 	force_sig(SIGKILL, listener);