--- patch-2.6.20-rt8 2007-02-16 10:48:03.000000000 +0100 +++ patch-2.6.20.5-rt8 2007-04-06 17:55:30.000000000 +0200 @@ -770,8 +770,8 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 20 --EXTRAVERSION = -+EXTRAVERSION = -rt8 +-EXTRAVERSION = .5 ++EXTRAVERSION = .5-rt8 NAME = Homicidal Dwarf Hamster # *DOCUMENTATION* @@ -19927,15 +19927,6 @@ unsigned long segment_base(u16 selector); void kvm_mmu_pre_write(struct kvm_vcpu *vcpu, gpa_t gpa, int bytes); -@@ -558,7 +587,7 @@ static inline void load_gs(u16 sel) - #ifndef load_ldt - static inline void load_ldt(u16 sel) - { -- asm ("lldt %0" : : "g"(sel)); -+ asm ("lldt %0" : : "rm"(sel)); - } - #endif - @@ -627,4 +656,6 @@ static inline u32 get_rdx_init_val(void) #define TSS_REDIRECTION_SIZE (256 / 8) #define RMODE_TSS_SIZE (TSS_BASE_SIZE + TSS_REDIRECTION_SIZE + TSS_IOPB_SIZE + 1) @@ -38197,7 +38188,7 @@ if (q->filp) send_sigio(&q->filp->f_owner, q->fd, POLL_IN); /* -@@ -561,10 +608,12 @@ static int wake_futex_pi(u32 __user *uad +@@ -561,11 +608,12 @@ static int wake_futex_pi(u32 __user *uad struct task_struct *new_owner; struct futex_pi_state *pi_state = this->pi_state; u32 curval, newval; @@ -38206,11 +38197,12 @@ if (!pi_state) return -EINVAL; +- spin_lock(&pi_state->pi_mutex.wait_lock); + spin_lock_irqsave(&pi_state->pi_mutex.wait_lock, flags); new_owner = rt_mutex_next_owner(&pi_state->pi_mutex); /* -@@ -583,27 +632,40 @@ static int wake_futex_pi(u32 __user *uad +@@ -583,28 +632,40 @@ static int wake_futex_pi(u32 __user *uad */ if (!(uval & FUTEX_OWNER_DIED)) { newval = FUTEX_WAITERS | new_owner->pid; @@ -38253,6 +38245,7 @@ - spin_unlock_irq(&new_owner->pi_lock); + spin_unlock(&new_owner->pi_lock); +- spin_unlock(&pi_state->pi_mutex.wait_lock); + spin_unlock_irqrestore(&pi_state->pi_mutex.wait_lock, flags); rt_mutex_unlock(&pi_state->pi_mutex); @@ -54910,9 +54903,9 @@ --- linux.orig/kernel/time/clocksource.c +++ linux/kernel/time/clocksource.c @@ -28,6 +28,7 @@ - #include #include #include + #include /* for spin_unlock_irq() using preempt_count() m68k */ +#include /* XXX - Would like a better way for initializing curr_clocksource */ @@ -66089,27 +66082,6 @@ } /* When dgram socket disconnects (or changes its peer), we clear its receive -Index: linux/net/xfrm/xfrm_user.c -=================================================================== ---- linux.orig/net/xfrm/xfrm_user.c -+++ linux/net/xfrm/xfrm_user.c -@@ -1273,13 +1273,12 @@ static int xfrm_get_policy(struct sk_buf - xp = xfrm_policy_bysel_ctx(type, p->dir, &p->sel, tmp.security, delete); - security_xfrm_policy_free(&tmp); - } -- if (delete) -- xfrm_audit_log(NETLINK_CB(skb).loginuid, NETLINK_CB(skb).sid, -- AUDIT_MAC_IPSEC_DELSPD, (xp) ? 1 : 0, xp, NULL); -- - if (xp == NULL) - return -ENOENT; - -+ xfrm_audit_log(NETLINK_CB(skb).loginuid, NETLINK_CB(skb).sid, -+ AUDIT_MAC_IPSEC_DELSPD, delete, xp, NULL); -+ - if (!delete) { - struct sk_buff *resp_skb; - Index: linux/scripts/Makefile =================================================================== --- linux.orig/scripts/Makefile