[kernel] r19293 - in dists/sid/linux/debian: . patches patches/bugfix/all patches/bugfix/x86 patches/debian patches/features/all/rt

Ben Hutchings benh at alioth.debian.org
Thu Jul 26 01:04:04 UTC 2012


Author: benh
Date: Thu Jul 26 01:04:02 2012
New Revision: 19293

Log:
Update to 3.2.24

Drop many bugfix patches that passed review in this version.
Resolve conflicts between rt featureset and the leap second fixes.
Add patches to undo various ABI changes.

Added:
   dists/sid/linux/debian/patches/debian/hrtimer-Avoid-ABI-change-in-3.2.24.patch
   dists/sid/linux/debian/patches/debian/libsas-Avoid-ABI-change-in-3.2.24.patch
   dists/sid/linux/debian/patches/debian/net-Avoid-ABI-change-in-3.2.24.patch
   dists/sid/linux/debian/patches/debian/powerpc-cputime-Avoid-ABI-change-in-3.2.24.patch
Deleted:
   dists/sid/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch
   dists/sid/linux/debian/patches/bugfix/all/NFSv4-Further-reduce-the-footprint-of-the-idmapper.patch
   dists/sid/linux/debian/patches/bugfix/all/NFSv4-Rate-limit-the-state-manager-for-lock-reclaim-.patch
   dists/sid/linux/debian/patches/bugfix/all/NFSv4-Reduce-the-footprint-of-the-idmapper.patch
   dists/sid/linux/debian/patches/bugfix/all/atl1c-fix-issue-of-transmit-queue-0-timed-out.patch
   dists/sid/linux/debian/patches/bugfix/all/brcmsmac-INTERMEDIATE-but-not-AMPDU-only-when-tracin.patch
   dists/sid/linux/debian/patches/bugfix/all/epoll-clear-the-tfile_check_list-on-eloop.patch
   dists/sid/linux/debian/patches/bugfix/all/ext4-Report-max_batch_time-option-correctly.patch
   dists/sid/linux/debian/patches/bugfix/all/fifo-do-not-restart-open-if-it-already-found-a-partner.patch
   dists/sid/linux/debian/patches/bugfix/all/hugepages-fix-use-after-free-bug-in-quota-handling.patch
   dists/sid/linux/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch
   dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch
   dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch
   dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch
   dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch
   dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch
   dists/sid/linux/debian/patches/bugfix/all/raid5-delayed-stripe-fix.patch
   dists/sid/linux/debian/patches/bugfix/all/remove-easily-user-triggerable-bug-from-generic_setlease.patch
   dists/sid/linux/debian/patches/bugfix/all/scsi-Silence-unnecessary-warnings-about-ioctl-to-par.patch
   dists/sid/linux/debian/patches/bugfix/all/tcp-drop-syn-fin-messages.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-do-not-enable-RC6p-on-Sandy-Bridge.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-fix-operator-precedence-when-enabling-RC6p.patch
Modified:
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch
   dists/sid/linux/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch
   dists/sid/linux/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch
   dists/sid/linux/debian/patches/features/all/rt/0278-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch
   dists/sid/linux/debian/patches/series

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Wed Jul 25 03:25:11 2012	(r19292)
+++ dists/sid/linux/debian/changelog	Thu Jul 26 01:04:02 2012	(r19293)
@@ -1,5 +1,34 @@
-linux (3.2.23-2) UNRELEASED; urgency=low
+linux (3.2.24-1) UNRELEASED; urgency=low
 
+  * New upstream stable update:
+    http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.24
+    - sched/nohz: Rewrite and fix load-avg computation -- again
+      (Closes: #674153)
+    - libsas: fix taskfile corruption in sas_ata_qc_fill_rtf
+    - md/raid1: fix use-after-free bug in RAID1 data-check code.
+    - PCI: EHCI: fix crash during suspend on ASUS computers
+    - cpufreq / ACPI: Fix not loading acpi-cpufreq driver (regression in 3.2.2)
+    - block: fix infinite loop in __getblk_slow (regression in 3.2.19)
+    - PM / Hibernate: Hibernate/thaw fixes/improvements
+    - tcm_fc: Fix crash seen with aborts and large reads
+    - fifo: Do not restart open() if it already found a partner
+    - cifs: on CONFIG_HIGHMEM machines, limit the rsize/wsize to the kmap space
+    - UBIFS: fix a bug in empty space fix-up
+    - ore: Fix NFS crash by supporting any unaligned RAID IO
+    - ore: Remove support of partial IO request (NFS crash)
+    - pnfs-obj: don't leak objio_state if ore_write/read fails
+    - pnfs-obj: Fix __r4w_get_page when offset is beyond i_size
+    - dm raid1: fix crash with mirror recovery and discard
+    - dm raid1: set discard_zeroes_data_unsupported
+    - time: Fix bugs in leap-second handling (Closes: #679882)
+      + ntp: Fix leap-second hrtimer livelock
+      + timekeeping: Fix leapsecond triggered load spike issue
+    - bnx2x: fix checksum validation
+    - bnx2x: fix panic when TX ring is full
+    - eCryptfs: Gracefully refuse miscdev file ops on inherited/passed files
+    - ACPI / PM: Make acpi_pm_device_sleep_state() follow the specification
+
+  [ Ben Hutchings ]
   * linux-image: Include package version in utsname version string
     ('uname -v' output) (Closes: #638878)
   * linux-source: Drop support for version.$DISTRIBUTION

Added: dists/sid/linux/debian/patches/debian/hrtimer-Avoid-ABI-change-in-3.2.24.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/debian/hrtimer-Avoid-ABI-change-in-3.2.24.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -0,0 +1,36 @@
+From e858f73d794205cfda77ddfb4cbf86a1b5aeb72f Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Wed, 25 Jul 2012 05:00:02 +0100
+Subject: [PATCH 1/4] hrtimer: Avoid ABI change in 3.2.24
+
+struct hrtimer_cpu_base should not be allocated by modules.  Move
+the new member clock_was_set to the end and hide it from genksyms.
+Revert the type change of active_bases.
+---
+ include/linux/hrtimer.h |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
+index cc07d27..c2012e3 100644
+--- a/include/linux/hrtimer.h
++++ b/include/linux/hrtimer.h
+@@ -178,8 +178,7 @@ enum  hrtimer_base_type {
+  */
+ struct hrtimer_cpu_base {
+ 	raw_spinlock_t			lock;
+-	unsigned int			active_bases;
+-	unsigned int			clock_was_set;
++	unsigned long			active_bases;
+ #ifdef CONFIG_HIGH_RES_TIMERS
+ 	ktime_t				expires_next;
+ 	int				hres_active;
+@@ -190,6 +189,9 @@ struct hrtimer_cpu_base {
+ 	ktime_t				max_hang_time;
+ #endif
+ 	struct hrtimer_clock_base	clock_base[HRTIMER_MAX_CLOCK_BASES];
++#ifndef __GENKSYMS__
++	unsigned int			clock_was_set;
++#endif
+ };
+ 
+ static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time)

Added: dists/sid/linux/debian/patches/debian/libsas-Avoid-ABI-change-in-3.2.24.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/debian/libsas-Avoid-ABI-change-in-3.2.24.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -0,0 +1,85 @@
+From 331cf8308dcde22597583c4be4eabdc5d168c703 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Wed, 25 Jul 2012 05:26:58 +0100
+Subject: [PATCH 3/4] libsas: Avoid ABI change in 3.2.24
+
+Revert commit 6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac ('libsas: fix
+taskfile corruption in sas_ata_qc_fill_rtf') and fix the bug in a
+different way.
+
+SATA command results must be converted from FIS to ata_taskfile
+format.  This is done in two stages via a temporary buffer in
+struct sata_device, as the source and target addresses aren't
+known at the same time (?).
+
+The old code does conversion and then memcpy(), which is wrong
+because the conversion only assigns some members and the rest
+of the target structure should be left unchanged.
+
+The upstream fix switches this to memcpy() and conversion, but
+that changes the temporary buffer format and makes it larger
+(the ABI change).
+
+This fix changes the memcpy() to write only the target members
+that would be written by the conversion function.
+---
+ drivers/scsi/libsas/sas_ata.c |   15 +++++++++------
+ include/scsi/libsas.h         |    2 +-
+ 2 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
+index 4868fc9..c707410 100644
+--- a/drivers/scsi/libsas/sas_ata.c
++++ b/drivers/scsi/libsas/sas_ata.c
+@@ -112,12 +112,12 @@ static void sas_ata_task_done(struct sas_task *task)
+ 	if (stat->stat == SAS_PROTO_RESPONSE || stat->stat == SAM_STAT_GOOD ||
+ 	    ((stat->stat == SAM_STAT_CHECK_CONDITION &&
+ 	      dev->sata_dev.command_set == ATAPI_COMMAND_SET))) {
+-		memcpy(dev->sata_dev.fis, resp->ending_fis, ATA_RESP_FIS_SIZE);
++		ata_tf_from_fis(resp->ending_fis, &dev->sata_dev.tf);
+ 
+ 		if (!link->sactive) {
+-			qc->err_mask |= ac_err_mask(dev->sata_dev.fis[2]);
++			qc->err_mask |= ac_err_mask(dev->sata_dev.tf.command);
+ 		} else {
+-			link->eh_info.err_mask |= ac_err_mask(dev->sata_dev.fis[2]);
++			link->eh_info.err_mask |= ac_err_mask(dev->sata_dev.tf.command);
+ 			if (unlikely(link->eh_info.err_mask))
+ 				qc->flags |= ATA_QCFLAG_FAILED;
+ 		}
+@@ -138,8 +138,8 @@ static void sas_ata_task_done(struct sas_task *task)
+ 				qc->flags |= ATA_QCFLAG_FAILED;
+ 			}
+ 
+-			dev->sata_dev.fis[3] = 0x04; /* status err */
+-			dev->sata_dev.fis[2] = ATA_ERR;
++			dev->sata_dev.tf.feature = 0x04; /* status err */
++			dev->sata_dev.tf.command = ATA_ERR;
+ 		}
+ 	}
+ 
+@@ -252,7 +252,10 @@ static bool sas_ata_qc_fill_rtf(struct ata_queued_cmd *qc)
+ {
+ 	struct domain_device *dev = qc->ap->private_data;
+ 
+-	ata_tf_from_fis(dev->sata_dev.fis, &qc->result_tf);
++	/* Copy only those fields that ata_tf_from_fis() sets */
++	memcpy(&qc->result_tf.hob_nsect, &dev->sata_dev.tf.hob_nsect,
++	       sizeof(dev->sata_dev.tf) -
++	       offsetof(struct ata_taskfile, hob_nsect));
+ 	return true;
+ }
+ 
+diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
+index 1e100c6..4cd529d 100644
+--- a/include/scsi/libsas.h
++++ b/include/scsi/libsas.h
+@@ -172,7 +172,7 @@ struct sata_device {
+ 
+ 	struct ata_port *ap;
+ 	struct ata_host ata_host;
+-	u8     fis[ATA_RESP_FIS_SIZE];
++	struct ata_taskfile tf;
+ 	u32 sstatus;
+ 	u32 serror;
+ 	u32 scontrol;

Added: dists/sid/linux/debian/patches/debian/net-Avoid-ABI-change-in-3.2.24.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/debian/net-Avoid-ABI-change-in-3.2.24.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -0,0 +1,23 @@
+From 222f965efd8d504e374758209dcc8f56d37f62fc Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Wed, 25 Jul 2012 05:00:55 +0100
+Subject: [PATCH 2/4] net: Avoid ABI change in 3.2.24
+
+Don't renumber skb_shared_info TX flags.
+---
+ include/linux/skbuff.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
+index 53dc7e7..a3615cc 100644
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -214,7 +214,7 @@ enum {
+ 	SKBTX_IN_PROGRESS = 1 << 2,
+ 
+ 	/* device driver supports TX zero-copy buffers */
+-	SKBTX_DEV_ZEROCOPY = 1 << 3,
++	SKBTX_DEV_ZEROCOPY = 1 << 4,
+ };
+ 
+ /*

Added: dists/sid/linux/debian/patches/debian/powerpc-cputime-Avoid-ABI-change-in-3.2.24.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/debian/powerpc-cputime-Avoid-ABI-change-in-3.2.24.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -0,0 +1,32 @@
+From 70c7bdf78972dd72ceffbf8b88c5d9fec22dae01 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Wed, 25 Jul 2012 05:47:16 +0100
+Subject: [PATCH 4/4] powerpc: cputime: Avoid ABI change in 3.2.24
+
+Restore __cputime_msec_factor.
+---
+ arch/powerpc/kernel/time.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
+index ec8affe..010b325 100644
+--- a/arch/powerpc/kernel/time.c
++++ b/arch/powerpc/kernel/time.c
+@@ -175,6 +175,8 @@ u64 __cputime_jiffies_factor;
+ EXPORT_SYMBOL(__cputime_jiffies_factor);
+ u64 __cputime_usec_factor;
+ EXPORT_SYMBOL(__cputime_usec_factor);
++u64 __cputime_msec_factor;
++EXPORT_SYMBOL(__cputime_msec_factor);
+ u64 __cputime_sec_factor;
+ EXPORT_SYMBOL(__cputime_sec_factor);
+ u64 __cputime_clockt_factor;
+@@ -194,6 +196,8 @@ static void calc_cputime_factors(void)
+ 	__cputime_jiffies_factor = res.result_low;
+ 	div128_by_32(1000000, 0, tb_ticks_per_sec, &res);
+ 	__cputime_usec_factor = res.result_low;
++	div128_by_32(1000, 0, tb_ticks_per_sec, &res);
++	__cputime_msec_factor = res.result_low;
+ 	div128_by_32(1, 0, tb_ticks_per_sec, &res);
+ 	__cputime_sec_factor = res.result_low;
+ 	div128_by_32(USER_HZ, 0, tb_ticks_per_sec, &res);

Modified: dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch	Wed Jul 25 03:25:11 2012	(r19292)
+++ dists/sid/linux/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -9,6 +9,10 @@
 whole mess with raw seqlocks for RT.
 
 Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+[bwh: Forward-ported to 3.2.24: adjust context; drop changes to
+ ntp_leap_second() function removed by commit
+ 6b43ae8a619d17c4935c3320d2ef9e92bdeed05d ('ntp: Fix leap-second hrtimer
+ livelock')]
 ---
  kernel/time/jiffies.c       |    4 +-
  kernel/time/ntp.c           |   24 ++++++++----
@@ -18,8 +22,6 @@
  kernel/time/timekeeping.c   |   90 +++++++++++++++++++++++++------------------
  6 files changed, 88 insertions(+), 59 deletions(-)
 
-diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
-index a470154..21940eb 100644
 --- a/kernel/time/jiffies.c
 +++ b/kernel/time/jiffies.c
 @@ -74,9 +74,9 @@ u64 get_jiffies_64(void)
@@ -34,31 +36,9 @@
  	return ret;
  }
  EXPORT_SYMBOL(get_jiffies_64);
-diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
-index 4b85a7a..419cbaa 100644
 --- a/kernel/time/ntp.c
 +++ b/kernel/time/ntp.c
-@@ -358,7 +358,8 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
- {
- 	enum hrtimer_restart res = HRTIMER_NORESTART;
- 
--	write_seqlock(&xtime_lock);
-+	raw_spin_lock(&xtime_lock);
-+	write_seqcount_begin(&xtime_seq);
- 
- 	switch (time_state) {
- 	case TIME_OK:
-@@ -388,7 +389,8 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
- 		break;
- 	}
- 
--	write_sequnlock(&xtime_lock);
-+	write_seqcount_end(&xtime_seq);
-+	raw_spin_unlock(&xtime_lock);
- 
- 	return res;
- }
-@@ -663,7 +665,8 @@ int do_adjtimex(struct timex *txc)
+@@ -623,7 +623,8 @@ int do_adjtimex(struct timex *txc)
  
  	getnstimeofday(&ts);
  
@@ -68,7 +48,7 @@
  
  	if (txc->modes & ADJ_ADJTIME) {
  		long save_adjust = time_adjust;
-@@ -705,7 +708,8 @@ int do_adjtimex(struct timex *txc)
+@@ -665,7 +666,8 @@ int do_adjtimex(struct timex *txc)
  	/* fill PPS status fields */
  	pps_fill_timex(txc);
  
@@ -78,7 +58,7 @@
  
  	txc->time.tv_sec = ts.tv_sec;
  	txc->time.tv_usec = ts.tv_nsec;
-@@ -903,7 +907,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -863,7 +865,8 @@ void hardpps(const struct timespec *phas
  
  	pts_norm = pps_normalize_ts(*phase_ts);
  
@@ -88,7 +68,7 @@
  
  	/* clear the error bits, they will be set again if needed */
  	time_status &= ~(STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR);
-@@ -916,7 +921,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -876,7 +879,8 @@ void hardpps(const struct timespec *phas
  	 * just start the frequency interval */
  	if (unlikely(pps_fbase.tv_sec == 0)) {
  		pps_fbase = *raw_ts;
@@ -98,7 +78,7 @@
  		return;
  	}
  
-@@ -931,7 +937,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -891,7 +895,8 @@ void hardpps(const struct timespec *phas
  		time_status |= STA_PPSJITTER;
  		/* restart the frequency calibration interval */
  		pps_fbase = *raw_ts;
@@ -108,7 +88,7 @@
  		pr_err("hardpps: PPSJITTER: bad pulse\n");
  		return;
  	}
-@@ -948,7 +955,8 @@ void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+@@ -908,7 +913,8 @@ void hardpps(const struct timespec *phas
  
  	hardpps_update_phase(pts_norm.nsec);
  
@@ -118,8 +98,6 @@
  }
  EXPORT_SYMBOL(hardpps);
  
-diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
-index da6c9ec..39de540 100644
 --- a/kernel/time/tick-common.c
 +++ b/kernel/time/tick-common.c
 @@ -63,13 +63,15 @@ int tick_is_oneshot_available(void)
@@ -140,7 +118,7 @@
  	}
  
  	update_process_times(user_mode(get_irq_regs()));
-@@ -130,9 +132,9 @@ void tick_setup_periodic(struct clock_event_device *dev, int broadcast)
+@@ -130,9 +132,9 @@ void tick_setup_periodic(struct clock_ev
  		ktime_t next;
  
  		do {
@@ -152,22 +130,18 @@
  
  		clockevents_set_mode(dev, CLOCK_EVT_MODE_ONESHOT);
  
-diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
-index 4e265b9..c91100d 100644
 --- a/kernel/time/tick-internal.h
 +++ b/kernel/time/tick-internal.h
-@@ -141,4 +141,5 @@ static inline int tick_device_is_functional(struct clock_event_device *dev)
+@@ -141,4 +141,5 @@ static inline int tick_device_is_functio
  #endif
  
  extern void do_timer(unsigned long ticks);
 -extern seqlock_t xtime_lock;
 +extern raw_spinlock_t xtime_lock;
 +extern seqcount_t xtime_seq;
-diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
-index c923640..d7abd2f 100644
 --- a/kernel/time/tick-sched.c
 +++ b/kernel/time/tick-sched.c
-@@ -56,7 +56,8 @@ static void tick_do_update_jiffies64(ktime_t now)
+@@ -56,7 +56,8 @@ static void tick_do_update_jiffies64(kti
  		return;
  
  	/* Reevalute with xtime_lock held */
@@ -177,7 +151,7 @@
  
  	delta = ktime_sub(now, last_jiffies_update);
  	if (delta.tv64 >= tick_period.tv64) {
-@@ -79,7 +80,8 @@ static void tick_do_update_jiffies64(ktime_t now)
+@@ -79,7 +80,8 @@ static void tick_do_update_jiffies64(kti
  		/* Keep the tick_next_period variable up to date */
  		tick_next_period = ktime_add(last_jiffies_update, tick_period);
  	}
@@ -187,7 +161,7 @@
  }
  
  /*
-@@ -89,12 +91,14 @@ static ktime_t tick_init_jiffy_update(void)
+@@ -89,12 +91,14 @@ static ktime_t tick_init_jiffy_update(vo
  {
  	ktime_t period;
  
@@ -204,7 +178,7 @@
  	return period;
  }
  
-@@ -345,11 +349,11 @@ void tick_nohz_stop_sched_tick(int inidle)
+@@ -345,11 +349,11 @@ void tick_nohz_stop_sched_tick(int inidl
  	ts->idle_calls++;
  	/* Read jiffies and the time when jiffies were updated last */
  	do {
@@ -218,11 +192,9 @@
  
  	if (rcu_needs_cpu(cpu) || printk_needs_cpu(cpu) ||
  	    arch_needs_cpu(cpu)) {
-diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
-index 2378413..da9e1f9 100644
 --- a/kernel/time/timekeeping.c
 +++ b/kernel/time/timekeeping.c
-@@ -139,8 +139,8 @@ static inline s64 timekeeping_get_ns_raw(void)
+@@ -139,8 +139,8 @@ static inline s64 timekeeping_get_ns_raw
   * This read-write spinlock protects us from races in SMP while
   * playing with xtime.
   */
@@ -233,7 +205,7 @@
  
  /*
   * The current time
-@@ -222,7 +222,7 @@ void getnstimeofday(struct timespec *ts)
+@@ -242,7 +242,7 @@ void getnstimeofday(struct timespec *ts)
  	WARN_ON(timekeeping_suspended);
  
  	do {
@@ -242,7 +214,7 @@
  
  		*ts = xtime;
  		nsecs = timekeeping_get_ns();
-@@ -230,7 +230,7 @@ void getnstimeofday(struct timespec *ts)
+@@ -250,7 +250,7 @@ void getnstimeofday(struct timespec *ts)
  		/* If arch requires, add in gettimeoffset() */
  		nsecs += arch_gettimeoffset();
  
@@ -251,7 +223,7 @@
  
  	timespec_add_ns(ts, nsecs);
  }
-@@ -245,14 +245,14 @@ ktime_t ktime_get(void)
+@@ -265,14 +265,14 @@ ktime_t ktime_get(void)
  	WARN_ON(timekeeping_suspended);
  
  	do {
@@ -268,7 +240,7 @@
  	/*
  	 * Use ktime_set/ktime_add_ns to create a proper ktime on
  	 * 32-bit architectures without CONFIG_KTIME_SCALAR.
-@@ -278,14 +278,14 @@ void ktime_get_ts(struct timespec *ts)
+@@ -298,14 +298,14 @@ void ktime_get_ts(struct timespec *ts)
  	WARN_ON(timekeeping_suspended);
  
  	do {
@@ -285,7 +257,7 @@
  
  	set_normalized_timespec(ts, ts->tv_sec + tomono.tv_sec,
  				ts->tv_nsec + tomono.tv_nsec + nsecs);
-@@ -313,7 +313,7 @@ void getnstime_raw_and_real(struct timespec *ts_raw, struct timespec *ts_real)
+@@ -333,7 +333,7 @@ void getnstime_raw_and_real(struct times
  	do {
  		u32 arch_offset;
  
@@ -294,7 +266,7 @@
  
  		*ts_raw = raw_time;
  		*ts_real = xtime;
-@@ -326,7 +326,7 @@ void getnstime_raw_and_real(struct timespec *ts_raw, struct timespec *ts_real)
+@@ -346,7 +346,7 @@ void getnstime_raw_and_real(struct times
  		nsecs_raw += arch_offset;
  		nsecs_real += arch_offset;
  
@@ -303,7 +275,7 @@
  
  	timespec_add_ns(ts_raw, nsecs_raw);
  	timespec_add_ns(ts_real, nsecs_real);
-@@ -365,7 +365,8 @@ int do_settimeofday(const struct timespec *tv)
+@@ -385,7 +385,8 @@ int do_settimeofday(const struct timespe
  	if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
  		return -EINVAL;
  
@@ -313,9 +285,9 @@
  
  	timekeeping_forward_now();
  
-@@ -381,7 +382,8 @@ int do_settimeofday(const struct timespec *tv)
- 	update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock,
- 				timekeeper.mult);
+@@ -397,7 +398,8 @@ int do_settimeofday(const struct timespe
+ 
+ 	timekeeping_update(true);
  
 -	write_sequnlock_irqrestore(&xtime_lock, flags);
 +	write_seqcount_end(&xtime_seq);
@@ -323,7 +295,7 @@
  
  	/* signal hrtimers about time change */
  	clock_was_set();
-@@ -405,7 +407,8 @@ int timekeeping_inject_offset(struct timespec *ts)
+@@ -421,7 +423,8 @@ int timekeeping_inject_offset(struct tim
  	if ((unsigned long)ts->tv_nsec >= NSEC_PER_SEC)
  		return -EINVAL;
  
@@ -333,9 +305,9 @@
  
  	timekeeping_forward_now();
  
-@@ -418,7 +421,8 @@ int timekeeping_inject_offset(struct timespec *ts)
- 	update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock,
- 				timekeeper.mult);
+@@ -430,7 +433,8 @@ int timekeeping_inject_offset(struct tim
+ 
+ 	timekeeping_update(true);
  
 -	write_sequnlock_irqrestore(&xtime_lock, flags);
 +	write_seqcount_end(&xtime_seq);
@@ -343,7 +315,7 @@
  
  	/* signal hrtimers about time change */
  	clock_was_set();
-@@ -490,11 +494,11 @@ void getrawmonotonic(struct timespec *ts)
+@@ -502,11 +506,11 @@ void getrawmonotonic(struct timespec *ts
  	s64 nsecs;
  
  	do {
@@ -357,7 +329,7 @@
  
  	timespec_add_ns(ts, nsecs);
  }
-@@ -510,11 +514,11 @@ int timekeeping_valid_for_hres(void)
+@@ -522,11 +526,11 @@ int timekeeping_valid_for_hres(void)
  	int ret;
  
  	do {
@@ -371,7 +343,7 @@
  
  	return ret;
  }
-@@ -572,7 +576,8 @@ void __init timekeeping_init(void)
+@@ -584,7 +588,8 @@ void __init timekeeping_init(void)
  	read_persistent_clock(&now);
  	read_boot_clock(&boot);
  
@@ -381,8 +353,8 @@
  
  	ntp_init();
  
-@@ -593,7 +598,8 @@ void __init timekeeping_init(void)
- 				-boot.tv_sec, -boot.tv_nsec);
+@@ -606,7 +611,8 @@ void __init timekeeping_init(void)
+ 	update_rt_offset();
  	total_sleep_time.tv_sec = 0;
  	total_sleep_time.tv_nsec = 0;
 -	write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -391,7 +363,7 @@
  }
  
  /* time in seconds when suspend began */
-@@ -640,7 +646,8 @@ void timekeeping_inject_sleeptime(struct timespec *delta)
+@@ -659,14 +665,16 @@ void timekeeping_inject_sleeptime(struct
  	if (!(ts.tv_sec == 0 && ts.tv_nsec == 0))
  		return;
  
@@ -401,9 +373,8 @@
  	timekeeping_forward_now();
  
  	__timekeeping_inject_sleeptime(delta);
-@@ -650,7 +657,8 @@ void timekeeping_inject_sleeptime(struct timespec *delta)
- 	update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock,
- 				timekeeper.mult);
+ 
+ 	timekeeping_update(true);
  
 -	write_sequnlock_irqrestore(&xtime_lock, flags);
 +	write_seqcount_end(&xtime_seq);
@@ -411,7 +382,7 @@
  
  	/* signal hrtimers about time change */
  	clock_was_set();
-@@ -673,7 +681,8 @@ static void timekeeping_resume(void)
+@@ -689,7 +697,8 @@ static void timekeeping_resume(void)
  
  	clocksource_resume();
  
@@ -421,17 +392,17 @@
  
  	if (timespec_compare(&ts, &timekeeping_suspend_time) > 0) {
  		ts = timespec_sub(ts, timekeeping_suspend_time);
-@@ -683,7 +692,8 @@ static void timekeeping_resume(void)
- 	timekeeper.clock->cycle_last = timekeeper.clock->read(timekeeper.clock);
+@@ -700,7 +709,8 @@ static void timekeeping_resume(void)
  	timekeeper.ntp_error = 0;
  	timekeeping_suspended = 0;
+ 	timekeeping_update(false);
 -	write_sequnlock_irqrestore(&xtime_lock, flags);
 +	write_seqcount_end(&xtime_seq);
 +	raw_spin_unlock_irqrestore(&xtime_lock, flags);
  
  	touch_softlockup_watchdog();
  
-@@ -701,7 +711,8 @@ static int timekeeping_suspend(void)
+@@ -718,7 +728,8 @@ static int timekeeping_suspend(void)
  
  	read_persistent_clock(&timekeeping_suspend_time);
  
@@ -441,7 +412,7 @@
  	timekeeping_forward_now();
  	timekeeping_suspended = 1;
  
-@@ -724,7 +735,8 @@ static int timekeeping_suspend(void)
+@@ -741,7 +752,8 @@ static int timekeeping_suspend(void)
  		timekeeping_suspend_time =
  			timespec_add(timekeeping_suspend_time, delta_delta);
  	}
@@ -451,7 +422,7 @@
  
  	clockevents_notify(CLOCK_EVT_NOTIFY_SUSPEND, NULL);
  	clocksource_suspend();
-@@ -1101,13 +1113,13 @@ void get_monotonic_boottime(struct timespec *ts)
+@@ -1126,13 +1138,13 @@ void get_monotonic_boottime(struct times
  	WARN_ON(timekeeping_suspended);
  
  	do {
@@ -467,7 +438,7 @@
  
  	set_normalized_timespec(ts, ts->tv_sec + tomono.tv_sec + sleep.tv_sec,
  			ts->tv_nsec + tomono.tv_nsec + sleep.tv_nsec + nsecs);
-@@ -1158,10 +1170,10 @@ struct timespec current_kernel_time(void)
+@@ -1183,10 +1195,10 @@ struct timespec current_kernel_time(void
  	unsigned long seq;
  
  	do {
@@ -480,7 +451,7 @@
  
  	return now;
  }
-@@ -1173,11 +1185,11 @@ struct timespec get_monotonic_coarse(void)
+@@ -1198,11 +1210,11 @@ struct timespec get_monotonic_coarse(voi
  	unsigned long seq;
  
  	do {
@@ -494,7 +465,7 @@
  
  	set_normalized_timespec(&now, now.tv_sec + mono.tv_sec,
  				now.tv_nsec + mono.tv_nsec);
-@@ -1209,11 +1221,11 @@ void get_xtime_and_monotonic_and_sleep_offset(struct timespec *xtim,
+@@ -1234,11 +1246,11 @@ void get_xtime_and_monotonic_and_sleep_o
  	unsigned long seq;
  
  	do {
@@ -507,8 +478,8 @@
 +	} while (read_seqcount_retry(&xtime_seq, seq));
  }
  
- /**
-@@ -1225,9 +1237,9 @@ ktime_t ktime_get_monotonic_offset(void)
+ #ifdef CONFIG_HIGH_RES_TIMERS
+@@ -1284,9 +1296,9 @@ ktime_t ktime_get_monotonic_offset(void)
  	struct timespec wtom;
  
  	do {
@@ -520,7 +491,7 @@
  	return timespec_to_ktime(wtom);
  }
  
-@@ -1239,7 +1251,9 @@ ktime_t ktime_get_monotonic_offset(void)
+@@ -1298,7 +1310,9 @@ ktime_t ktime_get_monotonic_offset(void)
   */
  void xtime_update(unsigned long ticks)
  {
@@ -532,6 +503,3 @@
 +	write_seqcount_end(&xtime_seq);
 +	raw_spin_unlock(&xtime_lock);
  }
--- 
-1.7.10
-

Modified: dists/sid/linux/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch	Wed Jul 25 03:25:11 2012	(r19292)
+++ dists/sid/linux/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -8,6 +8,7 @@
 
 Signed-off-by: Ingo Molnar <mingo at elte.hu>
 Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+[bwh: Adjust context for ABI bodge in struct hrtimer_cpu_base]
 ---
  include/linux/hrtimer.h |   10 ++++++++++
  kernel/hrtimer.c        |   33 ++++++++++++++++++++++++++++++++-
@@ -15,11 +16,9 @@
  kernel/posix-timers.c   |   33 +++++++++++++++++++++++++++++++++
  4 files changed, 76 insertions(+), 1 deletion(-)
 
-diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
-index fd0dc30..e8b395d 100644
 --- a/include/linux/hrtimer.h
 +++ b/include/linux/hrtimer.h
-@@ -187,6 +187,9 @@ struct hrtimer_cpu_base {
+@@ -188,6 +188,9 @@ struct hrtimer_cpu_base {
  	unsigned long			nr_hangs;
  	ktime_t				max_hang_time;
  #endif
@@ -27,9 +26,9 @@
 +	wait_queue_head_t		wait;
 +#endif
  	struct hrtimer_clock_base	clock_base[HRTIMER_MAX_CLOCK_BASES];
- };
- 
-@@ -374,6 +377,13 @@ static inline int hrtimer_restart(struct hrtimer *timer)
+ #ifndef __GENKSYMS__
+ 	unsigned int			clock_was_set;
+@@ -384,6 +387,13 @@ static inline int hrtimer_restart(struct
  	return hrtimer_start_expires(timer, HRTIMER_MODE_ABS);
  }
  
@@ -43,11 +42,9 @@
  /* Query timers: */
  extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer);
  extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp);
-diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
-index 1a3695e..905e2cd2 100644
 --- a/kernel/hrtimer.c
 +++ b/kernel/hrtimer.c
-@@ -847,6 +847,32 @@ u64 hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval)
+@@ -857,6 +857,32 @@ u64 hrtimer_forward(struct hrtimer *time
  }
  EXPORT_SYMBOL_GPL(hrtimer_forward);
  
@@ -80,7 +77,7 @@
  /*
   * enqueue_hrtimer - internal function to (re)start a timer
   *
-@@ -1073,7 +1099,7 @@ int hrtimer_cancel(struct hrtimer *timer)
+@@ -1083,7 +1109,7 @@ int hrtimer_cancel(struct hrtimer *timer
  
  		if (ret >= 0)
  			return ret;
@@ -89,7 +86,7 @@
  	}
  }
  EXPORT_SYMBOL_GPL(hrtimer_cancel);
-@@ -1476,6 +1502,8 @@ void hrtimer_run_queues(void)
+@@ -1497,6 +1523,8 @@ void hrtimer_run_queues(void)
  		}
  		raw_spin_unlock(&cpu_base->lock);
  	}
@@ -98,7 +95,7 @@
  }
  
  /*
-@@ -1638,6 +1666,9 @@ static void __cpuinit init_hrtimers_cpu(int cpu)
+@@ -1659,6 +1687,9 @@ static void __cpuinit init_hrtimers_cpu(
  	}
  
  	hrtimer_init_hres(cpu_base);
@@ -108,8 +105,6 @@
  }
  
  #ifdef CONFIG_HOTPLUG_CPU
-diff --git a/kernel/itimer.c b/kernel/itimer.c
-index d802883..2c582fc 100644
 --- a/kernel/itimer.c
 +++ b/kernel/itimer.c
 @@ -214,6 +214,7 @@ again:
@@ -120,11 +115,9 @@
  			goto again;
  		}
  		expires = timeval_to_ktime(value->it_value);
-diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
-index 7b73c34..6a74800 100644
 --- a/kernel/posix-timers.c
 +++ b/kernel/posix-timers.c
-@@ -766,6 +766,20 @@ SYSCALL_DEFINE1(timer_getoverrun, timer_t, timer_id)
+@@ -766,6 +766,20 @@ SYSCALL_DEFINE1(timer_getoverrun, timer_
  	return overrun;
  }
  
@@ -182,7 +175,7 @@
  
  	spin_lock(&current->sighand->siglock);
  	list_del(&timer->list);
-@@ -920,8 +943,18 @@ static void itimer_delete(struct k_itimer *timer)
+@@ -920,8 +943,18 @@ static void itimer_delete(struct k_itime
  retry_delete:
  	spin_lock_irqsave(&timer->it_lock, flags);
  
@@ -201,6 +194,3 @@
  		goto retry_delete;
  	}
  	list_del(&timer->list);
--- 
-1.7.10
-

Modified: dists/sid/linux/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch	Wed Jul 25 03:25:11 2012	(r19292)
+++ dists/sid/linux/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -12,6 +12,9 @@
 
 Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
 Signed-off-by: Ingo Molnar <mingo at elte.hu>
+[bwh: Forward-ported to 3.2.24: move the code added to run_hrtimer_softirq()
+ by commit f55a6faa384304c89cfef162768e88374d3312cb ('hrtimer: Provide
+ clock_was_set_delayed()')]
 ---
  include/linux/hrtimer.h  |    3 +
  kernel/hrtimer.c         |  190 +++++++++++++++++++++++++++++++++++++++++-----
@@ -292,12 +295,19 @@
  		return;
  	}
  
-@@ -1430,17 +1580,17 @@ void hrtimer_peek_ahead_timers(void)
+@@ -1430,24 +1580,24 @@ void hrtimer_peek_ahead_timers(void)
  	local_irq_restore(flags);
  }
  
 -static void run_hrtimer_softirq(struct softirq_action *h)
 -{
+-	struct hrtimer_cpu_base *cpu_base = &__get_cpu_var(hrtimer_bases);
+-
+-	if (cpu_base->clock_was_set) {
+-		cpu_base->clock_was_set = 0;
+-		clock_was_set();
+-	}
+-
 -	hrtimer_peek_ahead_timers();
 -}
 -
@@ -309,6 +319,13 @@
  
 +static void run_hrtimer_softirq(struct softirq_action *h)
 +{
++	struct hrtimer_cpu_base *cpu_base = &__get_cpu_var(hrtimer_bases);
++
++	if (cpu_base->clock_was_set) {
++		cpu_base->clock_was_set = 0;
++		clock_was_set();
++	}
++
 +	hrtimer_rt_run_pending();
 +}
 +

Modified: dists/sid/linux/debian/patches/features/all/rt/0278-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/rt/0278-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch	Wed Jul 25 03:25:11 2012	(r19292)
+++ dists/sid/linux/debian/patches/features/all/rt/0278-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch	Thu Jul 26 01:04:02 2012	(r19293)
@@ -54,11 +54,9 @@
  kernel/sched.c        |   82 ++++++++++++++++-
  3 files changed, 285 insertions(+), 40 deletions(-)
 
-diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 0174e3a..9ca3172 100644
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -1933,6 +1933,10 @@ extern void do_set_cpus_allowed(struct task_struct *p,
+@@ -1933,6 +1933,10 @@ extern void do_set_cpus_allowed(struct t
  
  extern int set_cpus_allowed_ptr(struct task_struct *p,
  				const struct cpumask *new_mask);
@@ -69,7 +67,7 @@
  #else
  static inline void do_set_cpus_allowed(struct task_struct *p,
  				      const struct cpumask *new_mask)
-@@ -1945,6 +1949,9 @@ static inline int set_cpus_allowed_ptr(struct task_struct *p,
+@@ -1945,6 +1949,9 @@ static inline int set_cpus_allowed_ptr(s
  		return -EINVAL;
  	return 0;
  }
@@ -78,9 +76,7 @@
 +static inline void tell_sched_cpu_down_done(int cpu) { }
  #endif
  
- #ifndef CONFIG_CPUMASK_OFFSTACK
-diff --git a/kernel/cpu.c b/kernel/cpu.c
-index 66dfb74..0964e93 100644
+ #ifdef CONFIG_NO_HZ
 --- a/kernel/cpu.c
 +++ b/kernel/cpu.c
 @@ -46,12 +46,7 @@ static int cpu_hotplug_disabled;
@@ -147,7 +143,7 @@
  static DEFINE_PER_CPU(struct hotplug_pcp, hotplug_pcp);
  
  /**
-@@ -94,18 +111,40 @@ static DEFINE_PER_CPU(struct hotplug_pcp, hotplug_pcp);
+@@ -94,18 +111,40 @@ static DEFINE_PER_CPU(struct hotplug_pcp
  void pin_current_cpu(void)
  {
  	struct hotplug_pcp *hp;
@@ -284,7 +280,7 @@
  /*
   * Start the sync_unplug_thread on the target cpu and wait for it to
   * complete.
-@@ -154,23 +251,83 @@ static int sync_unplug_thread(void *data)
+@@ -154,23 +251,83 @@ static int sync_unplug_thread(void *data
  static int cpu_unplug_begin(unsigned int cpu)
  {
  	struct hotplug_pcp *hp = &per_cpu(hotplug_pcp, cpu);
@@ -423,7 +419,7 @@
  }
  
  #else /* #if CONFIG_HOTPLUG_CPU */
-@@ -371,6 +528,9 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen)
+@@ -371,6 +528,9 @@ static int __ref _cpu_down(unsigned int
  		goto out_release;
  	}
  
@@ -433,11 +429,9 @@
  	err = __stop_machine(take_cpu_down, &tcd_param, cpumask_of(cpu));
  	if (err) {
  		/* CPU didn't die: tell everyone.  Can't complain. */
-diff --git a/kernel/sched.c b/kernel/sched.c
-index 4dd1fff..bc2375e 100644
 --- a/kernel/sched.c
 +++ b/kernel/sched.c
-@@ -4403,7 +4403,7 @@ void migrate_disable(void)
+@@ -4533,7 +4533,7 @@ void migrate_disable(void)
  {
  	struct task_struct *p = current;
  
@@ -446,7 +440,7 @@
  #ifdef CONFIG_SCHED_DEBUG
  		p->migrate_disable_atomic++;
  #endif
-@@ -4434,7 +4434,7 @@ void migrate_enable(void)
+@@ -4564,7 +4564,7 @@ void migrate_enable(void)
  	unsigned long flags;
  	struct rq *rq;
  
@@ -455,7 +449,7 @@
  #ifdef CONFIG_SCHED_DEBUG
  		p->migrate_disable_atomic--;
  #endif
-@@ -6360,6 +6360,84 @@ void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
+@@ -6490,6 +6490,84 @@ void do_set_cpus_allowed(struct task_str
  	cpumask_copy(&p->cpus_allowed, new_mask);
  }
  
@@ -540,6 +534,3 @@
  /*
   * This is how migration works:
   *
--- 
-1.7.10
-

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Wed Jul 25 03:25:11 2012	(r19292)
+++ dists/sid/linux/debian/patches/series	Thu Jul 26 01:04:02 2012	(r19293)
@@ -62,15 +62,11 @@
 
 features/all/hwmon-it87-Add-IT8728F-support.patch
 
-bugfix/x86/drm-i915-do-not-enable-RC6p-on-Sandy-Bridge.patch
-bugfix/x86/drm-i915-fix-operator-precedence-when-enabling-RC6p.patch
-
 features/all/fs-symlink-restrictions-on-sticky-directories.patch
 features/all/fs-symlink-restrictions-on-sticky-directories-fix-2.patch
 features/all/fs-hardlink-creation-restrictions.patch
 features/all/fs-hardlink-creation-restrictions-fix.patch
 features/all/fs-hardlink-creation-restriction-cleanup.patch
-bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch
 
 # Update all Hyper-V drivers to 3.4-rc1 (no longer staging)
 features/x86/hyperv/0001-NLS-improve-UTF8-UTF16-string-conversion-routine.patch
@@ -171,11 +167,6 @@
 features/x86/efi-stub/0016-x86-boot-Correct-CFLAGS-for-hostprogs.patch
 features/x86/efi-stub/0017-x86-efi-Add-dedicated-EFI-stub-entry-point.patch
 
-bugfix/all/brcmsmac-INTERMEDIATE-but-not-AMPDU-only-when-tracin.patch
-bugfix/all/NFSv4-Rate-limit-the-state-manager-for-lock-reclaim-.patch
-
-bugfix/all/ext4-Report-max_batch_time-option-correctly.patch
-
 # Update wacom driver to 3.5ish
 features/all/wacom/0001-Input-wacom-cleanup-feature-report-for-bamboos.patch
 features/all/wacom/0002-Input-wacom-remove-unused-bamboo-HID-parsing.patch
@@ -287,8 +278,6 @@
 features/all/AppArmor-compatibility-patch-for-v5-interface.patch
 bugfix/all/apparmor-remove-advertising-the-support-of-network-r.patch
 
-bugfix/all/hugepages-fix-use-after-free-bug-in-quota-handling.patch
-
 # netdev features, probably useful for other backports but not needed yet
 #features/all/define-netdev_features_t.patch
 #features/all/filter-Allow-to-create-sk-unattached-filters.patch
@@ -299,17 +288,6 @@
 features/all/hidepid/0003-proc-fix-null-pointer-deref-in-proc_pid_permission.patch
 features/all/hidepid/0004-proc-fix-mount-t-proc-o-AAA.patch
 
-bugfix/all/NFSv4-Reduce-the-footprint-of-the-idmapper.patch
-bugfix/all/NFSv4-Further-reduce-the-footprint-of-the-idmapper.patch
-
-bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch
-bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch
-bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch
-bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch
-bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch
-
-bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch
-
 # CPU sysdev removal from 3.3 and x86 CPU auto-loading from 3.4
 features/all/cpu-devices/driver-core-implement-sysdev-functionality-for-regul.patch
 features/all/cpu-devices/cpu-convert-cpu-and-machinecheck-sysdev_class-to-a-r.patch
@@ -365,9 +343,7 @@
 # Until next ABI bump
 debian/driver-core-avoid-ABI-change-for-removal-of-__must_check.patch
 
-bugfix/all/scsi-Silence-unnecessary-warnings-about-ioctl-to-par.patch
 bugfix/all/udf-Improve-table-length-check-to-avoid-possible-underflow.patch
-bugfix/all/epoll-clear-the-tfile_check_list-on-eloop.patch
 
 # nouveau update to support Fermi (NVC0+) acceleration
 features/all/fermi-accel/drm-nouveau-ttm-always-do-buffer-moves-on-kernel-cha.patch
@@ -383,8 +359,9 @@
 bugfix/all/net-e100-ucode-is-optional-in-some-cases.patch
 bugfix/x86/drm-i915-prefer-wide-slow-to-fast-narrow-in-DP-confi.patch
 bugfix/all/cipso-don-t-follow-a-NULL-pointer-when-setsockopt-is.patch
-bugfix/all/atl1c-fix-issue-of-transmit-queue-0-timed-out.patch
-bugfix/all/raid5-delayed-stripe-fix.patch
-bugfix/all/remove-easily-user-triggerable-bug-from-generic_setlease.patch
-bugfix/all/tcp-drop-syn-fin-messages.patch
-bugfix/all/fifo-do-not-restart-open-if-it-already-found-a-partner.patch
+
+# Until next ABI bump
+debian/hrtimer-Avoid-ABI-change-in-3.2.24.patch
+debian/net-Avoid-ABI-change-in-3.2.24.patch
+debian/libsas-Avoid-ABI-change-in-3.2.24.patch
+debian/powerpc-cputime-Avoid-ABI-change-in-3.2.24.patch



More information about the Kernel-svn-changes mailing list