mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: <stable@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: John Stultz <john.stultz@linaro.org>,
	Sasha Levin <levinsasha928@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Prarit Bhargava <prarit@redhat.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>
Subject: [v2.6.34-stable 109/165] ntp: Fix leap-second hrtimer livelock
Date: Wed, 15 Aug 2012 15:47:33 -0400	[thread overview]
Message-ID: <1345060109-9187-110-git-send-email-paul.gortmaker@windriver.com> (raw)
In-Reply-To: <1345060109-9187-1-git-send-email-paul.gortmaker@windriver.com>

From: John Stultz <john.stultz@linaro.org>

                   -------------------
    This is a commit scheduled for the next v2.6.34 longterm release.
    http://git.kernel.org/?p=linux/kernel/git/paulg/longterm-queue-2.6.34.git
    If you see a problem with using this for longterm, please comment.
                   -------------------

commit 6b43ae8a619d17c4935c3320d2ef9e92bdeed05d upstream.

This should have been backported when it was commited, but I
mistook the problem as requiring the ntp_lock changes
that landed in 3.4 in order for it to occur.

Unfortunately the same issue can happen (with only one cpu)
as follows:
do_adjtimex()
 write_seqlock_irq(&xtime_lock);
  process_adjtimex_modes()
   process_adj_status()
    ntp_start_leap_timer()
     hrtimer_start()
      hrtimer_reprogram()
       tick_program_event()
        clockevents_program_event()
         ktime_get()
          seq = req_seqbegin(xtime_lock); [DEADLOCK]

This deadlock will no always occur, as it requires the
leap_timer to force a hrtimer_reprogram which only happens
if its set and there's no sooner timer to expire.

NOTE: This patch, being faithful to the original commit,
introduces a bug (we don't update wall_to_monotonic),
which will be resovled by backporting a following fix.

Original commit message below:

Since commit 7dffa3c673fbcf835cd7be80bb4aec8ad3f51168 the ntp
subsystem has used an hrtimer for triggering the leapsecond
adjustment. However, this can cause a potential livelock.

Thomas diagnosed this as the following pattern:
CPU 0                                                    CPU 1
do_adjtimex()
  spin_lock_irq(&ntp_lock);
    process_adjtimex_modes();				 timer_interrupt()
      process_adj_status();                                do_timer()
        ntp_start_leap_timer();                             write_lock(&xtime_lock);
          hrtimer_start();                                  update_wall_time();
             hrtimer_reprogram();                            ntp_tick_length()
               tick_program_event()                            spin_lock(&ntp_lock);
                 clockevents_program_event()
		   ktime_get()
                     seq = req_seqbegin(xtime_lock);

This patch tries to avoid the problem by reverting back to not using
an hrtimer to inject leapseconds, and instead we handle the leapsecond
processing in the second_overflow() function.

The downside to this change is that on systems that support highres
timers, the leap second processing will occur on a HZ tick boundary,
(ie: ~1-10ms, depending on HZ)  after the leap second instead of
possibly sooner (~34us in my tests w/ x86_64 lapic).

This patch applies on top of tip/timers/core.

CC: Sasha Levin <levinsasha928@gmail.com>
CC: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Sasha Levin <levinsasha928@gmail.com>
Diagnoised-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Sasha Levin <levinsasha928@gmail.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 include/linux/timex.h     |   2 +-
 kernel/time/ntp.c         | 122 +++++++++++++++-------------------------------
 kernel/time/timekeeping.c |  12 ++---
 3 files changed, 44 insertions(+), 92 deletions(-)

diff --git a/include/linux/timex.h b/include/linux/timex.h
index 7a082b3..5674a08 100644
--- a/include/linux/timex.h
+++ b/include/linux/timex.h
@@ -267,7 +267,7 @@ static inline int ntp_synced(void)
 /* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */
 extern u64 tick_length;
 
-extern void second_overflow(void);
+extern int second_overflow(unsigned long secs);
 extern void update_ntp_one_tick(void);
 extern int do_adjtimex(struct timex *);
 
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 7c0f180..2522ab8 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -28,8 +28,6 @@ unsigned long			tick_nsec;
 u64				tick_length;
 static u64			tick_length_base;
 
-static struct hrtimer		leap_timer;
-
 #define MAX_TICKADJ		500LL		/* usecs */
 #define MAX_TICKADJ_SCALED \
 	(((MAX_TICKADJ * NSEC_PER_USEC) << NTP_SCALE_SHIFT) / NTP_INTERVAL_FREQ)
@@ -180,60 +178,60 @@ void ntp_clear(void)
 }
 
 /*
- * Leap second processing. If in leap-insert state at the end of the
- * day, the system clock is set back one second; if in leap-delete
- * state, the system clock is set ahead one second.
+ * this routine handles the overflow of the microsecond field
+ *
+ * The tricky bits of code to handle the accurate clock support
+ * were provided by Dave Mills (Mills@UDEL.EDU) of NTP fame.
+ * They were originally developed for SUN and DEC kernels.
+ * All the kudos should go to Dave for this stuff.
+ *
+ * Also handles leap second processing, and returns leap offset
  */
-static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
+int second_overflow(unsigned long secs)
 {
-	enum hrtimer_restart res = HRTIMER_NORESTART;
-
-	write_seqlock(&xtime_lock);
+	int leap = 0;
+	s64 delta;
 
+	/*
+	 * Leap second processing. If in leap-insert state at the end of the
+	 * day, the system clock is set back one second; if in leap-delete
+	 * state, the system clock is set ahead one second.
+	 */
 	switch (time_state) {
 	case TIME_OK:
+		if (time_status & STA_INS)
+			time_state = TIME_INS;
+		else if (time_status & STA_DEL)
+			time_state = TIME_DEL;
 		break;
 	case TIME_INS:
-		timekeeping_leap_insert(-1);
-		time_state = TIME_OOP;
-		printk(KERN_NOTICE
-			"Clock: inserting leap second 23:59:60 UTC\n");
-		hrtimer_add_expires_ns(&leap_timer, NSEC_PER_SEC);
-		res = HRTIMER_RESTART;
+		if (secs % 86400 == 0) {
+			leap = -1;
+			time_state = TIME_OOP;
+			printk(KERN_NOTICE
+				"Clock: inserting leap second 23:59:60 UTC\n");
+		}
 		break;
 	case TIME_DEL:
-		timekeeping_leap_insert(1);
-		time_tai--;
-		time_state = TIME_WAIT;
-		printk(KERN_NOTICE
-			"Clock: deleting leap second 23:59:59 UTC\n");
+		if ((secs + 1) % 86400 == 0) {
+			leap = 1;
+			time_tai--;
+			time_state = TIME_WAIT;
+			printk(KERN_NOTICE
+				"Clock: deleting leap second 23:59:59 UTC\n");
+		}
 		break;
 	case TIME_OOP:
 		time_tai++;
 		time_state = TIME_WAIT;
-		/* fall through */
+		break;
+
 	case TIME_WAIT:
 		if (!(time_status & (STA_INS | STA_DEL)))
 			time_state = TIME_OK;
 		break;
 	}
 
-	write_sequnlock(&xtime_lock);
-
-	return res;
-}
-
-/*
- * this routine handles the overflow of the microsecond field
- *
- * The tricky bits of code to handle the accurate clock support
- * were provided by Dave Mills (Mills@UDEL.EDU) of NTP fame.
- * They were originally developed for SUN and DEC kernels.
- * All the kudos should go to Dave for this stuff.
- */
-void second_overflow(void)
-{
-	s64 delta;
 
 	/* Bump the maxerror field */
 	time_maxerror += MAXFREQ / NSEC_PER_USEC;
@@ -253,23 +251,25 @@ void second_overflow(void)
 	tick_length	+= delta;
 
 	if (!time_adjust)
-		return;
+		goto out;
 
 	if (time_adjust > MAX_TICKADJ) {
 		time_adjust -= MAX_TICKADJ;
 		tick_length += MAX_TICKADJ_SCALED;
-		return;
+		goto out;
 	}
 
 	if (time_adjust < -MAX_TICKADJ) {
 		time_adjust += MAX_TICKADJ;
 		tick_length -= MAX_TICKADJ_SCALED;
-		return;
+		goto out;
 	}
 
 	tick_length += (s64)(time_adjust * NSEC_PER_USEC / NTP_INTERVAL_FREQ)
 							 << NTP_SCALE_SHIFT;
 	time_adjust = 0;
+out:
+	return leap;
 }
 
 #ifdef CONFIG_GENERIC_CMOS_UPDATE
@@ -331,27 +331,6 @@ static void notify_cmos_timer(void)
 static inline void notify_cmos_timer(void) { }
 #endif
 
-/*
- * Start the leap seconds timer:
- */
-static inline void ntp_start_leap_timer(struct timespec *ts)
-{
-	long now = ts->tv_sec;
-
-	if (time_status & STA_INS) {
-		time_state = TIME_INS;
-		now += 86400 - now % 86400;
-		hrtimer_start(&leap_timer, ktime_set(now, 0), HRTIMER_MODE_ABS);
-
-		return;
-	}
-
-	if (time_status & STA_DEL) {
-		time_state = TIME_DEL;
-		now += 86400 - (now + 1) % 86400;
-		hrtimer_start(&leap_timer, ktime_set(now, 0), HRTIMER_MODE_ABS);
-	}
-}
 
 /*
  * Propagate a new txc->status value into the NTP state:
@@ -374,22 +353,6 @@ static inline void process_adj_status(struct timex *txc, struct timespec *ts)
 	time_status &= STA_RONLY;
 	time_status |= txc->status & ~STA_RONLY;
 
-	switch (time_state) {
-	case TIME_OK:
-		ntp_start_leap_timer(ts);
-		break;
-	case TIME_INS:
-	case TIME_DEL:
-		time_state = TIME_OK;
-		ntp_start_leap_timer(ts);
-	case TIME_WAIT:
-		if (!(time_status & (STA_INS | STA_DEL)))
-			time_state = TIME_OK;
-		break;
-	case TIME_OOP:
-		hrtimer_restart(&leap_timer);
-		break;
-	}
 }
 /*
  * Called with the xtime lock held, so we can access and modify
@@ -469,9 +432,6 @@ int do_adjtimex(struct timex *txc)
 		    (txc->tick <  900000/USER_HZ ||
 		     txc->tick > 1100000/USER_HZ))
 			return -EINVAL;
-
-		if (txc->modes & ADJ_STATUS && time_state != TIME_OK)
-			hrtimer_cancel(&leap_timer);
 	}
 
 	getnstimeofday(&ts);
@@ -549,6 +509,4 @@ __setup("ntp_tick_adj=", ntp_tick_adj_setup);
 void __init ntp_init(void)
 {
 	ntp_clear();
-	hrtimer_init(&leap_timer, CLOCK_REALTIME, HRTIMER_MODE_ABS);
-	leap_timer.function = ntp_leap_second;
 }
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 268020d..df1e939 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -176,14 +176,6 @@ void update_xtime_cache(u64 nsec)
 	timespec_add_ns(&xtime_cache, nsec);
 }
 
-/* must hold xtime_lock */
-void timekeeping_leap_insert(int leapsecond)
-{
-	xtime.tv_sec += leapsecond;
-	wall_to_monotonic.tv_sec -= leapsecond;
-	update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult);
-}
-
 #ifdef CONFIG_GENERIC_TIME
 
 /**
@@ -762,9 +754,11 @@ static cycle_t logarithmic_accumulation(cycle_t offset, int shift)
 
 	timekeeper.xtime_nsec += timekeeper.xtime_interval << shift;
 	while (timekeeper.xtime_nsec >= nsecps) {
+		int leap;
 		timekeeper.xtime_nsec -= nsecps;
 		xtime.tv_sec++;
-		second_overflow();
+		leap = second_overflow(xtime.tv_sec);
+		xtime.tv_sec += leap;
 	}
 
 	/* Accumulate into raw time */
-- 
1.7.12.rc2


  parent reply	other threads:[~2012-08-15 19:51 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-15 19:45 [v2.6.34-stable 000/165] v2.6.34.13 longterm review Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 001/165] net_sched: Fix qdisc_notify() Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 002/165] nl80211: fix overflow in ssid_len Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 003/165] fs: assign sb->s_bdi to default_backing_dev_info if the bdi is going away Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 004/165] vm: fix vm_pgoff wrap in stack expansion Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 005/165] rose: Add length checks to CALL_REQUEST parsing Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 006/165] drm: integer overflow in drm_mode_dirtyfb_ioctl() Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 007/165] perf: overflow/perf_count_sw_cpu_clock crashes recent kernels Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 008/165] regset: Prevent null pointer reference on readonly regsets Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 009/165] ext4: fix undefined behavior in ext4_fill_flex_info() Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 010/165] cifs: fix possible memory corruption in CIFSFindNext Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 011/165] cifs: fix dentry refcount leak when opening a FIFO on lookup Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 012/165] hfsplus: Fix potential buffer overflows Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 013/165] xfs: Fix possible memory corruption in xfs_readlink Paul Gortmaker
2012-08-17 15:38   ` Herton Ronaldo Krzesinski
2012-08-17 18:46     ` Paul Gortmaker
2012-08-17 19:25       ` Herton Ronaldo Krzesinski
2012-08-15 19:45 ` [v2.6.34-stable 014/165] KVM: Remove ability to assign a device without iommu support Paul Gortmaker
2012-08-15 19:45 ` [v2.6.34-stable 015/165] KVM: Device assignment permission checks Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 016/165] KVM: Ensure all vcpus are consistent with in-kernel irqchip settings Paul Gortmaker
2012-08-16 19:30   ` Herton Ronaldo Krzesinski
2012-08-16 22:45     ` Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 017/165] security: fix compile error in commoncap.c Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 018/165] fcaps: clear the same personality flags as suid when fcaps are used Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 019/165] KEYS: Fix a NULL pointer deref in the user-defined key type Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 020/165] locks: fix checking of fcntl_setlease argument Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 021/165] USB: ftdi_sio: add Calao reference board support Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 022/165] USB: EHCI: Do not rely on PORT_SUSPEND to stop USB resuming in ehci_bus_resume() Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 023/165] rt2x00: do not drop usb dev reference counter on suspend Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 024/165] atm: br2684: Fix oops due to skb->dev being NULL Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 025/165] sparc: Allow handling signals when stack is corrupted Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 026/165] sparc: fix array bounds error setting up PCIC NMI trap Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 027/165] ipv6: Add GSO support on forwarding path Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 028/165] GRO: fix merging a paged skb after non-paged skbs Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 029/165] xen-blkfront: fix data size for xenbus_gather in blkfront_connect Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 030/165] md/linear: avoid corrupting structure while waiting for rcu_free to complete Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 031/165] powerpc/pci: Check devices status property when scanning OF tree Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 032/165] xen: x86_32: do not enable iterrupts when returning from exception in interrupt context Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 033/165] xen/smp: Warn user why they keel over - nosmp or noapic and what to use instead Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 034/165] ARM: davinci: da850 EVM: read mac address from SPI flash Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 035/165] md: Fix handling for devices from 2TB to 4TB in 0.90 metadata Paul Gortmaker
2012-08-15 20:46   ` NeilBrown
2012-08-15 20:52     ` Paul Gortmaker
2012-08-16  4:24     ` Ben Hutchings
2012-08-16  6:47       ` NeilBrown
2012-08-15 19:46 ` [v2.6.34-stable 036/165] net/9p: fix client code to fail more gracefully on protocol error Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 037/165] fs/9p: Fid is not valid after a failed clunk Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 038/165] net/9p: Fix the msize calculation Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 039/165] irda: fix smsc-ircc2 section mismatch warning Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 040/165] qla2xxx: Correct inadvertent loop state transitions during port-update handling Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 041/165] e1000: Fix driver to be used on PA RISC C8000 workstations Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 042/165] ASoC: Fix reporting of partial jack updates Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 043/165] ALSA: HDA: Cirrus - fix "Surround Speaker" volume control name Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 044/165] b43: Fix beacon problem in ad-hoc mode Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 045/165] wireless: Reset beacon_found while updating regulatory Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 046/165] USB: PL2303: correctly handle baudrates above 115200 Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 047/165] ASIX: Add AX88772B USB ID Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 048/165] hvc_console: Improve tty/console put_chars handling Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 049/165] TPM: Call tpm_transmit with correct size Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 050/165] TPM: Zero buffer after copying to userspace Paul Gortmaker
2012-08-17 15:48   ` Herton Ronaldo Krzesinski
2012-08-17 18:27     ` Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 051/165] libiscsi_tcp: fix LLD data allocation Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 052/165] cnic: Improve NETDEV_UP event handling Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 053/165] ALSA: hda/realtek - Avoid bogus HP-pin assignment Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 054/165] 3w-9xxx: fix iommu_iova leak Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 055/165] aacraid: reset should disable MSI interrupt Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 056/165] libsas: fix failure to revalidate domain for anything but the first expander child Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 057/165] cfg80211: Fix validation of AKM suites Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 058/165] libsas: fix panic when single phy is disabled on a wide port Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 059/165] ahci: Enable SB600 64bit DMA on Asus M3A Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 060/165] HID: usbhid: Add support for SiGma Micro chip Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 061/165] hwmon: (w83627ehf) Properly report thermal diode sensors Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 062/165] x25: Prevent skb overreads when checking call user data Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 063/165] staging: quatech_usb2: Potential lost wakeup scenario in TIOCMIWAIT Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 064/165] USB: qcserial: add device ID for "HP un2430 Mobile Broadband Module" Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 065/165] xhci-mem.c: Check for ring->first_seg != NULL Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 066/165] ipr: Always initiate hard reset in kdump kernel Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 067/165] libsas: set sas_address and device type of rphy Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 068/165] ALSA: HDA: Add new revision for ALC662 Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 069/165] x86: Fix compilation bug in kprobes' twobyte_is_boostable Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 070/165] epoll: fix spurious lockdep warnings Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 071/165] usbmon vs. tcpdump: fix dropped packet count Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 072/165] USB: storage: Use normalized sense when emulating autosense Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 073/165] USB: pid_ns: ensure pid is not freed during kill_pid_info_as_uid Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 074/165] usb: cdc-acm: Owen SI-30 support Paul Gortmaker
2012-08-15 19:46 ` [v2.6.34-stable 075/165] USB: add RESET_RESUME for webcams shown to be quirky Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 076/165] USB: pl2303: add id for SMART device Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 077/165] USB: ftdi_sio: add PID for Sony Ericsson Urban Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 078/165] USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 079/165] QE/FHCI: fixed the CONTROL bug Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 080/165] Update email address for stable patch submission Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 081/165] kobj_uevent: Ignore if some listeners cannot handle message Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 082/165] kmod: prevent kmod_loop_msg overflow in __request_module() Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 083/165] time: Change jiffies_to_clock_t() argument type to unsigned long Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 084/165] nfsd4: Remove check for a 32-bit cookie in nfsd4_readdir() Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 085/165] nfsd4: ignore WANT bits in open downgrade Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 086/165] ASoC: wm8940: Properly set codec->dapm.bias_level Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 087/165] ASoC: ak4642: fixup cache register table Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 088/165] ASoC: ak4535: " Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 089/165] KVM: s390: check cpu_id prior to using it Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 090/165] [S390] ccwgroup: move attributes to attribute group Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 091/165] iommu/amd: Fix wrong shift direction Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 092/165] carminefb: Fix module parameters permissions Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 093/165] uvcvideo: Set alternate setting 0 on resume if the bus has been reset Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 094/165] tuner_xc2028: Allow selection of the frequency adjustment code for XC3028 Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 095/165] plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 096/165] um: fix ubd cow size Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 097/165] xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 098/165] thinkpad-acpi: module autoloading for newer Lenovo ThinkPads Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 099/165] scm: lower SCM_MAX_FD Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 100/165] deal with races in /proc/*/{syscall,stack,personality} Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 101/165] NLM: Don't hang forever on NLM unlock requests Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 102/165] Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 103/165] vm: fix vm_pgoff wrap in upward expansion Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 104/165] drivers/net/rionet.c: fix ethernet address macros for LE platforms Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 105/165] ext2,ext3,ext4: don't inherit APPEND_FL or IMMUTABLE_FL for new inodes Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 106/165] USB: Serial: Add device ID for Sierra Wireless MC8305 Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 107/165] USB: Serial: Add PID(0xF7C0) to FTDI SIO driver for a zeitcontrol-device Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 108/165] ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check Paul Gortmaker
2012-08-15 19:47 ` Paul Gortmaker [this message]
2012-08-17 16:17   ` [v2.6.34-stable 109/165] ntp: Fix leap-second hrtimer livelock Herton Ronaldo Krzesinski
2012-08-17 16:43     ` John Stultz
2012-08-17 21:13       ` Willy Tarreau
2012-08-17 18:35     ` Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 110/165] ntp: Correct TAI offset during leap second Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 111/165] timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 112/165] time: Move common updates to a function Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 113/165] hrtimer: Provide clock_was_set_delayed() Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 114/165] timekeeping: Fix leapsecond triggered load spike issue Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 115/165] timekeeping: Maintain ktime_t based offsets for hrtimers Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 116/165] hrtimers: Move lock held region in hrtimer_interrupt() Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 117/165] timekeeping: Provide hrtimer update function Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 118/165] hrtimer: Update hrtimer base offsets each hrtimer_interrupt Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 119/165] timekeeping: Add missing update call in timekeeping_resume() Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 120/165] [SCSI] st: fix race in st_scsi_execute_end Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 121/165] [SCSI] Make scsi_free_queue() kill pending SCSI commands Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 122/165] NFS/sunrpc: don't use a credential with extra groups Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 123/165] netlink: validate NLA_MSECS length Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 124/165] mtd: mtdchar: add missing initializer on raw write Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 125/165] PM / Suspend: Off by one in pm_suspend() Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 126/165] hfs: add sanity check for file name length Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 127/165] kbuild: Add extra gcc checks Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 128/165] kbuild: implement several W= levels Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 129/165] kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0 Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 130/165] md/raid5: abort any pending parity operations when array fails Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 131/165] [media] Remove the old V4L1 v4lgrab.c file Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 132/165] drm/i915: Sanity check pread/pwrite Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 133/165] drm/i915: Rephrase pwrite bounds checking to avoid any potential overflow Paul Gortmaker
2012-08-15 19:47 ` [v2.6.34-stable 134/165] mm: avoid null pointer access in vm_struct via /proc/vmallocinfo Paul Gortmaker
2012-08-17 15:22   ` Herton Ronaldo Krzesinski
2012-08-17 18:26     ` Paul Gortmaker
2012-08-17 21:02       ` Willy Tarreau
2012-08-15 19:47 ` [v2.6.34-stable 135/165] kbuild: Fix passing -Wno-* options to gcc 4.4+ Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 136/165] USB: serial: pl2303: rm duplicate id Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 137/165] USB: Fix Corruption issue in USB ftdi driver ftdi_sio.c Paul Gortmaker
2012-08-17 14:36   ` Herton Ronaldo Krzesinski
2012-08-17 15:12     ` Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 138/165] usb-storage: Accept 8020i-protocol commands longer than 12 bytes Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 139/165] USB: add quirk for Logitech C600 web cam Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 140/165] USB: quirks: adding more quirky webcams to avoid squeaky audio Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 141/165] random: simplify fips mode Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 142/165] x86, cpu: Add CPU flags for F16C and RDRND Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 143/165] x86, cpufeature: Update CPU feature RDRND to RDRAND Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 144/165] random: Add support for architectural random hooks Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 145/165] x86, random: Architectural inlines to get random integers with RDRAND Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 146/165] fix typo/thinko in get_random_bytes() Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 147/165] random: Use arch_get_random_int instead of cycle counter if avail Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 148/165] random: Use arch-specific RNG to initialize the entropy store Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 149/165] random: Adjust the number of loops when initializing Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 150/165] drivers/char/random.c: fix boot id uniqueness race Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 151/165] random: make 'add_interrupt_randomness()' do something sane Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 152/165] random: use lockless techniques in the interrupt path Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 153/165] random: create add_device_randomness() interface Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 154/165] random: use the arch-specific rng in xfer_secondary_pool Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 155/165] random: add new get_random_bytes_arch() function Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 156/165] random: add tracepoints for easier debugging and verification Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 157/165] random: mix in architectural randomness in extract_buf() Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 158/165] MAINTAINERS: Theodore Ts'o is taking over the random driver Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 159/165] usb: feed USB device information to the /dev/random driver Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 160/165] net: feed /dev/random with the MAC address when registering a device Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 161/165] random: remove rand_initialize_irq() Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 162/165] random: Add comment to random_initialize() Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 163/165] rtc: wm831x: Feed the write counter into device_add_randomness() Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 164/165] mfd: wm831x: Feed the device UUID " Paul Gortmaker
2012-08-15 19:48 ` [v2.6.34-stable 165/165] dmi: Feed DMI table to /dev/random driver Paul Gortmaker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1345060109-9187-110-git-send-email-paul.gortmaker@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=john.stultz@linaro.org \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=prarit@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome