From 6e0f52e40ad5f1fc5882ff240e093c1f93224667 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Tue, 16 Oct 2007 06:22:00 +0000 Subject: [PATCH] * Remove the workaround added for 2.6.20 and 2.6.21 kernels with CONFIG_PARAVIRT enabled. The mistaken GPL-labelling of core interfaces was fixed in 2.6.22, which has now migrated to testing. --- debian/changelog | 5 +- debian/patches/paravirt-workaround | 126 ----------------------------- debian/patches/series | 1 - 3 files changed, 4 insertions(+), 128 deletions(-) delete mode 100644 debian/patches/paravirt-workaround diff --git a/debian/changelog b/debian/changelog index 31fcdccf1..b60a753c8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,8 +7,11 @@ openafs (1.4.5~pre2.dfsg1-1) UNRELEASED; urgency=low - Add support for Linux 2.6.23. - Multiple bug fixes for client tracking in the file server. - Prevent one client from consuming all file server threads. + * Remove the workaround added for 2.6.20 and 2.6.21 kernels with + CONFIG_PARAVIRT enabled. The mistaken GPL-labelling of core + interfaces was fixed in 2.6.22, which has now migrated to testing. - -- Russ Allbery Mon, 15 Oct 2007 23:09:08 -0700 + -- Russ Allbery Mon, 15 Oct 2007 23:24:40 -0700 openafs (1.4.4.dfsg1-7) unstable; urgency=low diff --git a/debian/patches/paravirt-workaround b/debian/patches/paravirt-workaround deleted file mode 100644 index f1d497bd7..000000000 --- a/debian/patches/paravirt-workaround +++ /dev/null @@ -1,126 +0,0 @@ -Work around versions of Linux that don't export the paravirt_ops table -for non-GPL modules, but which redirect core functions through it. This -has been fixed in Linux 2.6.22, so this patch can be dropped when 2.6.22 -makes it into testing. - ---- openafs.orig/src/afs/LINUX/osi_groups.c -+++ openafs/src/afs/LINUX/osi_groups.c -@@ -230,6 +230,7 @@ - struct key *old; - char desc[20]; - unsigned long not_in_quota; -+ unsigned long f; - int code = -EINVAL; - - if (!__key_type_keyring) -@@ -265,11 +266,11 @@ - } - - /* install the keyring */ -- spin_lock_irq(&task->sighand->siglock); -+ SIG_LOCK(task, f); - old = task->signal->session_keyring; - smp_wmb(); - task->signal->session_keyring = keyring; -- spin_unlock_irq(&task->sighand->siglock); -+ SIG_UNLOCK(task, f); - - if (old) - key_put(old); ---- openafs.orig/src/afs/LINUX/osi_machdep.h -+++ openafs/src/afs/LINUX/osi_machdep.h -@@ -55,14 +55,14 @@ - #endif - - #if defined (STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK) --#define SIG_LOCK(X) spin_lock_irq(&X->sigmask_lock) --#define SIG_UNLOCK(X) spin_unlock_irq(&X->sigmask_lock) -+#define SIG_LOCK(X,flags) spin_lock_irqsave(&X->sigmask_lock,flags) -+#define SIG_UNLOCK(X),flags spin_unlock_irqrestore(&X->sigmask_lock,flags) - #elif defined (STRUCT_TASK_STRUCT_HAS_SIGHAND) --#define SIG_LOCK(X) spin_lock_irq(&X->sighand->siglock) --#define SIG_UNLOCK(X) spin_unlock_irq(&X->sighand->siglock) -+#define SIG_LOCK(X,flags) spin_lock_irqsave(&X->sighand->siglock,flags) -+#define SIG_UNLOCK(X,flags) spin_unlock_irqrestore(&X->sighand->siglock,flags) - #else --#define SIG_LOCK(X) spin_lock_irq(&X->sig->siglock) --#define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock) -+#define SIG_LOCK(X,flags) spin_lock_irqsave(&X->sig->siglock,flags) -+#define SIG_UNLOCK(X,flags) spin_unlock_irqrestore(&X->sig->siglock,flags) - #endif - - #if defined (STRUCT_TASK_STRUCT_HAS_RLIM) ---- openafs.orig/src/afs/LINUX/osi_misc.c -+++ openafs/src/afs/LINUX/osi_misc.c -@@ -353,10 +353,11 @@ - void - osi_linux_mask(void) - { -- SIG_LOCK(current); -+ unsigned long f; -+ SIG_LOCK(current, f); - sigfillset(¤t->blocked); - RECALC_SIGPENDING(current); -- SIG_UNLOCK(current); -+ SIG_UNLOCK(current, f); - } - - void ---- openafs.orig/src/afs/LINUX/osi_sleep.c -+++ openafs/src/afs/LINUX/osi_sleep.c -@@ -244,19 +244,20 @@ - afs_osi_Sleep(void *event) - { - sigset_t saved_set; -+ unsigned long f; - -- SIG_LOCK(current); -+ SIG_LOCK(current,f); - saved_set = current->blocked; - sigfillset(¤t->blocked); - RECALC_SIGPENDING(current); -- SIG_UNLOCK(current); -+ SIG_UNLOCK(current,f); - - afs_osi_SleepSig(event); - -- SIG_LOCK(current); -+ SIG_LOCK(current,f); - current->blocked = saved_set; - RECALC_SIGPENDING(current); -- SIG_UNLOCK(current); -+ SIG_UNLOCK(current,f); - } - - /* osi_TimedSleep ---- openafs.orig/src/rx/LINUX/rx_kmutex.c -+++ openafs/src/rx/LINUX/rx_kmutex.c -@@ -104,11 +104,12 @@ - MUTEX_EXIT(l); - - if (!sigok) { -- SIG_LOCK(current); -+ unsigned long f; -+ SIG_LOCK(current,f); - saved_set = current->blocked; - sigfillset(¤t->blocked); - RECALC_SIGPENDING(current); -- SIG_UNLOCK(current); -+ SIG_UNLOCK(current,f); - } - - while(seq == cv->seq) { -@@ -144,10 +145,11 @@ - set_current_state(TASK_RUNNING); - - if (!sigok) { -- SIG_LOCK(current); -+ unsigned long f; -+ SIG_LOCK(current, f); - current->blocked = saved_set; - RECALC_SIGPENDING(current); -- SIG_UNLOCK(current); -+ SIG_UNLOCK(current, f); - } - - if (isAFSGlocked) diff --git a/debian/patches/series b/debian/patches/series index 788df39d8..0179e9a06 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,4 +7,3 @@ bos-permissions compiler-flags no-admin-reference ucontext-everywhere -paravirt-workaround -- 2.39.5