--- openafs-1.4.3rc2/src/rx/LINUX/rx_knet.c.orig 2007-02-25 14:35:51.000000000 +0100 +++ openafs-1.4.3rc2/src/rx/LINUX/rx_knet.c 2007-02-25 14:37:55.000000000 +0100 @@ -204,24 +204,34 @@ return code; } +#ifdef EXPORTED_TASKLIST_LOCK extern rwlock_t tasklist_lock __attribute__((weak)); +#endif void osi_StopListener(void) { struct task_struct *listener; extern int rxk_ListenerPid; +#ifdef EXPORTED_TASKLIST_LOCK if (&tasklist_lock) read_lock(&tasklist_lock); +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) +#ifdef EXPORTED_TASKLIST_LOCK else +#endif rcu_read_lock(); #endif listener = find_task_by_pid(rxk_ListenerPid); +#ifdef EXPORTED_TASKLIST_LOCK if (&tasklist_lock) read_unlock(&tasklist_lock); +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) +#ifdef EXPORTED_TASKLIST_LOCK else +#endif rcu_read_unlock(); #endif while (rxk_ListenerPid) {