stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
	Jakub Zawadzki <darkjames-ws@darkjames.pl>,
	Mircea Gherzan <mgherzan@gmail.com>,
	Daniel Borkmann <dxchgb@gmail.com>,
	Hannes Frederic Sowa <hannes@stressinduktion.org>,
	Matt Evans <matt@ozlabs.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 3.12 108/133] bpf: do not use reciprocal divide
Date: Tue,  4 Feb 2014 13:08:29 -0800	[thread overview]
Message-ID: <20140204210740.083438304@linuxfoundation.org> (raw)
In-Reply-To: <20140204210737.008598235@linuxfoundation.org>

3.12-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Eric Dumazet <edumazet@google.com>

[ Upstream commit aee636c4809fa54848ff07a899b326eb1f9987a2 ]

At first Jakub Zawadzki noticed that some divisions by reciprocal_divide
were not correct. (off by one in some cases)
http://www.wireshark.org/~darkjames/reciprocal-buggy.c

He could also show this with BPF:
http://www.wireshark.org/~darkjames/set-and-dump-filter-k-bug.c

The reciprocal divide in linux kernel is not generic enough,
lets remove its use in BPF, as it is not worth the pain with
current cpus.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Cc: Mircea Gherzan <mgherzan@gmail.com>
Cc: Daniel Borkmann <dxchgb@gmail.com>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: Matt Evans <matt@ozlabs.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/arm/net/bpf_jit_32.c       |    6 +++---
 arch/powerpc/net/bpf_jit_comp.c |    7 ++++---
 arch/s390/net/bpf_jit_comp.c    |   17 ++++++++++++-----
 arch/sparc/net/bpf_jit_comp.c   |   17 ++++++++++++++---
 arch/x86/net/bpf_jit_comp.c     |   14 ++++++++++----
 net/core/filter.c               |   30 ++----------------------------
 6 files changed, 45 insertions(+), 46 deletions(-)

--- a/arch/arm/net/bpf_jit_32.c
+++ b/arch/arm/net/bpf_jit_32.c
@@ -637,10 +637,10 @@ load_ind:
 			emit(ARM_MUL(r_A, r_A, r_X), ctx);
 			break;
 		case BPF_S_ALU_DIV_K:
-			/* current k == reciprocal_value(userspace k) */
+			if (k == 1)
+				break;
 			emit_mov_i(r_scratch, k, ctx);
-			/* A = top 32 bits of the product */
-			emit(ARM_UMULL(r_scratch, r_A, r_A, r_scratch), ctx);
+			emit_udiv(r_A, r_A, r_scratch, ctx);
 			break;
 		case BPF_S_ALU_DIV_X:
 			update_on_xread(ctx);
--- a/arch/powerpc/net/bpf_jit_comp.c
+++ b/arch/powerpc/net/bpf_jit_comp.c
@@ -209,10 +209,11 @@ static int bpf_jit_build_body(struct sk_
 			}
 			PPC_DIVWU(r_A, r_A, r_X);
 			break;
-		case BPF_S_ALU_DIV_K: /* A = reciprocal_divide(A, K); */
+		case BPF_S_ALU_DIV_K: /* A /= K */
+			if (K == 1)
+				break;
 			PPC_LI32(r_scratch1, K);
-			/* Top 32 bits of 64bit result -> A */
-			PPC_MULHWU(r_A, r_A, r_scratch1);
+			PPC_DIVWU(r_A, r_A, r_scratch1);
 			break;
 		case BPF_S_ALU_AND_X:
 			ctx->seen |= SEEN_XREG;
--- a/arch/s390/net/bpf_jit_comp.c
+++ b/arch/s390/net/bpf_jit_comp.c
@@ -371,11 +371,13 @@ static int bpf_jit_insn(struct bpf_jit *
 		/* dr %r4,%r12 */
 		EMIT2(0x1d4c);
 		break;
-	case BPF_S_ALU_DIV_K: /* A = reciprocal_divide(A, K) */
-		/* m %r4,<d(K)>(%r13) */
-		EMIT4_DISP(0x5c40d000, EMIT_CONST(K));
-		/* lr %r5,%r4 */
-		EMIT2(0x1854);
+	case BPF_S_ALU_DIV_K: /* A /= K */
+		if (K == 1)
+			break;
+		/* lhi %r4,0 */
+		EMIT4(0xa7480000);
+		/* d %r4,<d(K)>(%r13) */
+		EMIT4_DISP(0x5d40d000, EMIT_CONST(K));
 		break;
 	case BPF_S_ALU_MOD_X: /* A %= X */
 		jit->seen |= SEEN_XREG | SEEN_RET0;
@@ -391,6 +393,11 @@ static int bpf_jit_insn(struct bpf_jit *
 		EMIT2(0x1854);
 		break;
 	case BPF_S_ALU_MOD_K: /* A %= K */
+		if (K == 1) {
+			/* lhi %r5,0 */
+			EMIT4(0xa7580000);
+			break;
+		}
 		/* lhi %r4,0 */
 		EMIT4(0xa7480000);
 		/* d %r4,<d(K)>(%r13) */
--- a/arch/sparc/net/bpf_jit_comp.c
+++ b/arch/sparc/net/bpf_jit_comp.c
@@ -497,9 +497,20 @@ void bpf_jit_compile(struct sk_filter *f
 			case BPF_S_ALU_MUL_K:	/* A *= K */
 				emit_alu_K(MUL, K);
 				break;
-			case BPF_S_ALU_DIV_K:	/* A /= K */
-				emit_alu_K(MUL, K);
-				emit_read_y(r_A);
+			case BPF_S_ALU_DIV_K:	/* A /= K with K != 0*/
+				if (K == 1)
+					break;
+				emit_write_y(G0);
+#ifdef CONFIG_SPARC32
+				/* The Sparc v8 architecture requires
+				 * three instructions between a %y
+				 * register write and the first use.
+				 */
+				emit_nop();
+				emit_nop();
+				emit_nop();
+#endif
+				emit_alu_K(DIV, K);
 				break;
 			case BPF_S_ALU_DIV_X:	/* A /= X; */
 				emit_cmpi(r_X, 0);
--- a/arch/x86/net/bpf_jit_comp.c
+++ b/arch/x86/net/bpf_jit_comp.c
@@ -359,15 +359,21 @@ void bpf_jit_compile(struct sk_filter *f
 				EMIT2(0x89, 0xd0);	/* mov %edx,%eax */
 				break;
 			case BPF_S_ALU_MOD_K: /* A %= K; */
+				if (K == 1) {
+					CLEAR_A();
+					break;
+				}
 				EMIT2(0x31, 0xd2);	/* xor %edx,%edx */
 				EMIT1(0xb9);EMIT(K, 4);	/* mov imm32,%ecx */
 				EMIT2(0xf7, 0xf1);	/* div %ecx */
 				EMIT2(0x89, 0xd0);	/* mov %edx,%eax */
 				break;
-			case BPF_S_ALU_DIV_K: /* A = reciprocal_divide(A, K); */
-				EMIT3(0x48, 0x69, 0xc0); /* imul imm32,%rax,%rax */
-				EMIT(K, 4);
-				EMIT4(0x48, 0xc1, 0xe8, 0x20); /* shr $0x20,%rax */
+			case BPF_S_ALU_DIV_K: /* A /= K */
+				if (K == 1)
+					break;
+				EMIT2(0x31, 0xd2);	/* xor %edx,%edx */
+				EMIT1(0xb9);EMIT(K, 4);	/* mov imm32,%ecx */
+				EMIT2(0xf7, 0xf1);	/* div %ecx */
 				break;
 			case BPF_S_ALU_AND_X:
 				seen |= SEEN_XREG;
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -36,7 +36,6 @@
 #include <asm/uaccess.h>
 #include <asm/unaligned.h>
 #include <linux/filter.h>
-#include <linux/reciprocal_div.h>
 #include <linux/ratelimit.h>
 #include <linux/seccomp.h>
 #include <linux/if_vlan.h>
@@ -166,7 +165,7 @@ unsigned int sk_run_filter(const struct
 			A /= X;
 			continue;
 		case BPF_S_ALU_DIV_K:
-			A = reciprocal_divide(A, K);
+			A /= K;
 			continue;
 		case BPF_S_ALU_MOD_X:
 			if (X == 0)
@@ -553,11 +552,6 @@ int sk_chk_filter(struct sock_filter *fi
 		/* Some instructions need special checks */
 		switch (code) {
 		case BPF_S_ALU_DIV_K:
-			/* check for division by zero */
-			if (ftest->k == 0)
-				return -EINVAL;
-			ftest->k = reciprocal_value(ftest->k);
-			break;
 		case BPF_S_ALU_MOD_K:
 			/* check for division by zero */
 			if (ftest->k == 0)
@@ -853,27 +847,7 @@ void sk_decode_filter(struct sock_filter
 	to->code = decodes[code];
 	to->jt = filt->jt;
 	to->jf = filt->jf;
-
-	if (code == BPF_S_ALU_DIV_K) {
-		/*
-		 * When loaded this rule user gave us X, which was
-		 * translated into R = r(X). Now we calculate the
-		 * RR = r(R) and report it back. If next time this
-		 * value is loaded and RRR = r(RR) is calculated
-		 * then the R == RRR will be true.
-		 *
-		 * One exception. X == 1 translates into R == 0 and
-		 * we can't calculate RR out of it with r().
-		 */
-
-		if (filt->k == 0)
-			to->k = 1;
-		else
-			to->k = reciprocal_value(filt->k);
-
-		BUG_ON(reciprocal_value(to->k) != filt->k);
-	} else
-		to->k = filt->k;
+	to->k = filt->k;
 }
 
 int sk_get_filter(struct sock *sk, struct sock_filter __user *ubuf, unsigned int len)



  parent reply	other threads:[~2014-02-04 21:08 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04 21:06 [PATCH 3.12 000/133] 3.12.10-stable review Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 002/133] md/raid5: fix long-standing problem with bitmap handling on write failure Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 003/133] drm/nouveau/bios: fix offset calculation for BMPv1 bioses Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 004/133] mm: hugetlbfs: fix hugetlbfs optimization Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 005/133] e752x_edac: Fix pci_dev usage count Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 006/133] e1000e: fix compiler warnings Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 007/133] mm/mempolicy.c: fix mempolicy printing in numa_maps Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 008/133] x86, x32: Correct invalid use of user timespec in the kernel Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 009/133] x86/efi: Fix off-by-one bug in EFI Boot Services reservation Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 010/133] x86: Add check for number of available vectors before CPU down Greg Kroah-Hartman
2014-02-04 22:46   ` Prarit Bhargava
2014-02-04 23:42     ` Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 011/133] KVM: x86: limit PIT timer frequency Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 012/133] x86, kvm: cache the base of the KVM cpuid leaves Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 013/133] x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101 Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 014/133] usb: chipidea: add freescale imx28 special write register method Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 015/133] usb: chipidea: imx: set CI_HDRC_IMX28_WRITE_FIX for imx28 Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 016/133] usb: chipidea: need to mask INT_STATUS when write otgsc Greg Kroah-Hartman
2014-02-04 21:06 ` [PATCH 3.12 017/133] usb: chipidea: udc: using MultO at TD as real mult value for ISO-TX Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 019/133] usb: option: add new zte 3g modem pids to option driver Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 021/133] USB: cypress_m8: fix ring-indicator detection and reporting Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 022/133] USB: ftdi_sio: added CS5 quirk for broken smartcard readers Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 023/133] USB: Nokia 502 is an unusual device Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 024/133] usb: xhci: Check for XHCI_PLAT in xhci_cleanup_msix() Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 025/133] USB: fix race between hub_disconnect and recursively_mark_NOTATTACHED Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 026/133] usb: ehci: add freescale imx28 special write register method Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 027/133] rtlwifi: rtl8192cu: Add new device ID Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 028/133] rtlwifi: Update beacon statistics for USB driver Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 029/133] rtlwifi: rtl8192c: Prevent reconnect attempts if not connected Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 030/133] rtlwifi: rtl8192cu: Add new firmware Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 031/133] rtlwifi: Redo register save locations Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 032/133] rtlwifi: Set the link state Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 033/133] rtlwifi: rtl8192c: Add new definitions in the dm_common header Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 034/133] rtlwifi: Increase the RX queue length for USB drivers Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 035/133] rtlwifi: rtl8192c: Add routines to save/restore power index registers Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 036/133] rtlwifi: rtl8192cu: Update the " Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 037/133] rtlwifi: rtl8192cu: Fix some code in RF handling Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 038/133] rtlwifi: Add missing code to PWDB statics routine Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 039/133] rtlwifi: rtl8188ee: Fix typo in code Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 040/133] mwifiex: add missing endian conversion for fw_tsf Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 041/133] mwifiex: fix wrong 11ac bits setting in fw_cap_info Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 042/133] iwlwifi: pcie: enable oscillator for L1 exit Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 043/133] iwlwifi: mvm: fix missing cleanup in .start() error path Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 044/133] b43: Fix lockdep splat Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 045/133] b43: Fix unload oops if firmware is not available Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 046/133] b43legacy: " Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 047/133] b43: fix the wrong assignment of status.freq in b43_rx() Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 048/133] ath9k: Use correct channel for RX packets Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 049/133] ath9k: Disable cross-band FCC Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 050/133] staging/lustre/ptlrpc: Fix a crash when dereferencing NULL pointer Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 051/133] staging: r8712u: Set device type to wlan Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 052/133] staging: vt6656: [BUG] BBvUpdatePreEDThreshold Always set sensitivity on bScanning Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 053/133] staging: vt6656: CARDqGetNextTBTT correct uLowNextTBTT Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 054/133] mei: use hbm idle state to prevent spurious resets Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 055/133] tty/serial: at91: Handle shutdown more safely Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 056/133] tty/serial: at91: fix race condition in atmel_serial_remove Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 057/133] tty/serial: at91: reset rx_ring when port is shutdown Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 058/133] tty/serial: at91: disable uart timer at start of shutdown Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 059/133] ARM: at91: at91sam9g45: set default mmc pinctrl-names Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 060/133] ARM: at91: smc: bug fix in sam9_smc_cs_read() Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 061/133] hwmon: (k10temp) Add support for Kaveri CPUs Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 062/133] xhci: Avoid infinite loop when sg urb requires too many trbs Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 063/133] xhci: Set scatter-gather limit to avoid failed block writes Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 064/133] serial: add support for 200 v3 series Titan card Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 065/133] serial: 8250: Fix initialisation of Quatech cards with the AMCC PCI chip Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 066/133] serial: 8250: enable UART_BUG_NOMSR for Tegra Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 067/133] KVM: s390: fix diagnose code extraction Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 068/133] KVM: s390: ioeventfd: ignore leftmost bits Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 069/133] s390/uapi: fix struct statfs64 definition Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 070/133] parport: parport_pc: remove double PCI ID for NetMos Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 071/133] rtc-cmos: Add an alarm disable quirk Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 072/133] rtc: max8907: weekday encoding fixes Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 073/133] pinctrl: sunxi: Honor GPIO output initial vaules Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 074/133] perf kvm: Fix kvm report without guestmount Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 075/133] mfd: max77686: Fix regmap resource leak on driver remove Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 076/133] ASoC: adau1701: Fix ADAU1701_SEROCTL_WORD_LEN_16 constant Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 077/133] ASoC: wm5110: Extend SYSCLK patch file for rev D Greg Kroah-Hartman
2014-02-04 21:07 ` [PATCH 3.12 078/133] ALSA: rme9652: fix a missing comma in channel_map_9636_ds[] Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 079/133] ALSA: hda - Correct AD1986A 3stack pin configs Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 080/133] ALSA: hda - Dont create duplicated ctls for loopback paths Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 081/133] ALSA: Enable CONFIG_ZONE_DMA for smaller PCI DMA masks Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 082/133] ALSA: bits vs bytes bug in snd_card_create() Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 084/133] tpm/tpm_i2c_stm_st33: Check return code of get_burstcount Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 085/133] tpm/tpm_ppi: Do not compare strcmp(a,b) == -1 Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 086/133] ata: sata_mv: introduce compatible string "marvell, armada-370-sata" Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 087/133] ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 088/133] ARM: mvebu: update the SATA compatible string for Armada 370/XP Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 089/133] libata: disable LPM for some WD SATA-I devices Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 090/133] ext4: avoid clearing beyond i_blocks when truncating an inline data file Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 091/133] vfs: Remove second variable named error in __dentry_path Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 092/133] vfs: Is mounted should be testing mnt_ns for NULL or error Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 093/133] bcache: Data corruption fix Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 094/133] zram: fix race between reset and flushing pending work Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 096/133] ARM: mvebu: Add support to get the ID and the revision of a SoC Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 097/133] ARM: mvebu: Add quirk for i2c for the OpenBlocks AX3-4 board Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 098/133] i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 099/133] i2c: mv64xxx: Document the newly introduced Armada XP A0 compatible Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 100/133] i2c: piix4: Add support for AMD ML and CZ SMBus changes Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 101/133] bnx2x: fix DMA unmapping of TSO split BDs Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 103/133] ieee802154: Fix memory leak in ieee802154_add_iface() Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 104/133] net: avoid reference counter overflows on fib_rules in multicast forwarding Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 105/133] net,via-rhine: Fix tx_timeout handling Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 106/133] net: rds: fix per-cpu helper usage Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 107/133] tcp: metrics: Avoid duplicate entries with the same destination-IP Greg Kroah-Hartman
2014-02-04 21:08 ` Greg Kroah-Hartman [this message]
2014-02-04 21:08 ` [PATCH 3.12 109/133] s390/bpf,jit: fix 32 bit divisions, use unsigned divide instructions Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 110/133] ip_tunnel: clear IPCB in ip_tunnel_xmit() in case dst_link_failure() is called Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 111/133] net/vxlan: Share RX skb de-marking and checksum checks with ovs Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 112/133] fib_frontend: fix possible NULL pointer dereference Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 113/133] net: Fix memory leak if TPROXY used with TCP early demux Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 114/133] xen-netfront: fix resource leak in netfront Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 115/133] net: gre: use icmp_hdr() to get inner ip header Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 116/133] inet_diag: fix inet_diag_dump_icsk() timewait socket state logic Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 117/133] alpha: fix broken network checksum Greg Kroah-Hartman
2014-02-06  4:38   ` Michael Cree
2014-02-06  9:18     ` Mikulas Patocka
2014-02-17 17:40     ` Mikulas Patocka
2014-02-04 21:08 ` [PATCH 3.12 118/133] parisc: fix cache-flushing Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 119/133] KVM: PPC: Book3S HV: use xics_wake_cpu only when defined Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 120/133] KVM: PPC: e500: Fix bad address type in deliver_tlb_misss() Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 121/133] ALSA: hda - Dont set indep_hp flag for old AD codecs Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 122/133] ALSA: hda - hdmi: introduce patch_nvhdmi() Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 123/133] ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 124/133] hpfs: remember free space Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 125/133] usb: core: get config and string descriptors for unauthorized devices Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 126/133] SCSI: bfa: Chinook quad port 16G FC HBA claim issue Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 127/133] virtio-scsi: Fix hotcpu_notifier use-after-free with virtscsi_freeze Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 128/133] iscsi-target: Pre-allocate more tags to avoid ack starvation Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 129/133] target/iscsi: Fix network portal creation race Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 130/133] Btrfs: handle EAGAIN case properly in btrfs_drop_snapshot() Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 131/133] btrfs: restrict snapshotting to own subvolumes Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 132/133] powerpc: Fix the setup of CPU-to-Node mappings during CPU online Greg Kroah-Hartman
2014-02-04 21:08 ` [PATCH 3.12 133/133] powerpc: Make sure "cache" directory is removed when offlining cpu Greg Kroah-Hartman
2014-02-05  6:39 ` [PATCH 3.12 000/133] 3.12.10-stable review Guenter Roeck
2014-02-05 20:41   ` Shuah Khan
2014-02-05 21:05     ` Guenter Roeck

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=20140204210740.083438304@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=darkjames-ws@darkjames.pl \
    --cc=davem@davemloft.net \
    --cc=dxchgb@gmail.com \
    --cc=edumazet@google.com \
    --cc=hannes@stressinduktion.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt@ozlabs.org \
    --cc=mgherzan@gmail.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=stable@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).