]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
* Apply additional upstream patch for AMD64 2.6.18 kernel module build debian/1.4.2.fc4-2
authorRuss Allbery <rra@debian.org>
Sat, 30 Sep 2006 07:36:21 +0000 (07:36 +0000)
committerRuss Allbery <rra@debian.org>
Sat, 30 Sep 2006 07:36:21 +0000 (07:36 +0000)
  issues.  (Closes:  #389729)

debian/changelog
src/afs/LINUX/osi_probe.c
src/afs/afs_osi.c
src/rx/LINUX/rx_knet.c

index e5d081e125c98cc9c6443ef041478d70ee6e29a8..6bdf6ffbe191d94423cd2b6edb10acbf810627d8 100644 (file)
@@ -1,3 +1,10 @@
+openafs (1.4.2~fc4-2) unstable; urgency=low
+
+  * Apply additional upstream patch for AMD64 2.6.18 kernel module build
+    issues.  (Closes:  #389729)
+
+ -- Russ Allbery <rra@debian.org>  Sat, 30 Sep 2006 00:34:33 -0700
+
 openafs (1.4.2~fc4-1) unstable; urgency=low
 
   * New upstream release candidate.
index 3b30fdd61ad5237694300d8d3e27fa1d997e2ef2..20acb39e103bf45935fbc212339bf604810ce413 100644 (file)
@@ -245,6 +245,7 @@ extern asmlinkage long sys_exit (int) __attribute__((weak));
 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
index dc31c18daee07d2f2558ef40d2b5012090ed2058..2d052bc36b87060297ce0aaad837c67ac67bcf35 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.7 2006/05/22 19:08:45 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.8 2006/09/22 11:20:34 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -812,6 +812,11 @@ afs_osi_TraverseProcTable()
     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
+
 #ifdef DEFINED_FOR_EACH_PROCESS
     for_each_process(p) if (p->pid) {
 #ifdef STRUCT_TASK_STRUCT_HAS_EXIT_STATE
@@ -837,6 +842,10 @@ afs_osi_TraverseProcTable()
 #endif
     if (&tasklist_lock)
        read_unlock(&tasklist_lock);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+    else
+       rcu_read_unlock();
+#endif
 }
 #endif
 
index 0749567f6a6e7bab5482cc4953b9284f73ade178..c81c47a05f77b960ff231b34265e4a1f06f07782 100644 (file)
@@ -16,7 +16,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.9 2006/03/02 06:41:23 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.10 2006/09/22 11:20:35 shadow Exp $");
 
 #include <linux/version.h>
 #ifdef AFS_LINUX22_ENV
@@ -209,9 +209,17 @@ osi_StopListener(void)
 
     if (&tasklist_lock)
       read_lock(&tasklist_lock);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+    else
+      rcu_read_lock();
+#endif
     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
     while (rxk_ListenerPid) {
        flush_signals(listener);
        force_sig(SIGKILL, listener);