public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org,
	"Trond Myklebust" <Trond.Myklebust@netapp.com>
Subject: [PATCH 3.2 042/185] SUNRPC: Fix a data corruption issue when retransmitting RPC calls
Date: Sun, 29 Dec 2013 03:08:43 +0100	[thread overview]
Message-ID: <lsq.1388282923.378009929@decadent.org.uk> (raw)
In-Reply-To: <lsq.1388282923.751256928@decadent.org.uk>

3.2.54-rc1 review patch.  If anyone has any objections, please let me know.

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

From: Trond Myklebust <Trond.Myklebust@netapp.com>

commit a6b31d18b02ff9d7915c5898c9b5ca41a798cd73 upstream.

The following scenario can cause silent data corruption when doing
NFS writes. It has mainly been observed when doing database writes
using O_DIRECT.

1) The RPC client uses sendpage() to do zero-copy of the page data.
2) Due to networking issues, the reply from the server is delayed,
   and so the RPC client times out.

3) The client issues a second sendpage of the page data as part of
   an RPC call retransmission.

4) The reply to the first transmission arrives from the server
   _before_ the client hardware has emptied the TCP socket send
   buffer.
5) After processing the reply, the RPC state machine rules that
   the call to be done, and triggers the completion callbacks.
6) The application notices the RPC call is done, and reuses the
   pages to store something else (e.g. a new write).

7) The client NIC drains the TCP socket send buffer. Since the
   page data has now changed, it reads a corrupted version of the
   initial RPC call, and puts it on the wire.

This patch fixes the problem in the following manner:

The ordering guarantees of TCP ensure that when the server sends a
reply, then we know that the _first_ transmission has completed. Using
zero-copy in that situation is therefore safe.
If a time out occurs, we then send the retransmission using sendmsg()
(i.e. no zero-copy), We then know that the socket contains a full copy of
the data, and so it will retransmit a faithful reproduction even if the
RPC call completes, and the application reuses the O_DIRECT buffer in
the meantime.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 net/sunrpc/xprtsock.c | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -390,8 +390,10 @@ static int xs_send_kvec(struct socket *s
 	return kernel_sendmsg(sock, &msg, NULL, 0, 0);
 }
 
-static int xs_send_pagedata(struct socket *sock, struct xdr_buf *xdr, unsigned int base, int more)
+static int xs_send_pagedata(struct socket *sock, struct xdr_buf *xdr, unsigned int base, int more, bool zerocopy)
 {
+	ssize_t (*do_sendpage)(struct socket *sock, struct page *page,
+			int offset, size_t size, int flags);
 	struct page **ppage;
 	unsigned int remainder;
 	int err, sent = 0;
@@ -400,6 +402,9 @@ static int xs_send_pagedata(struct socke
 	base += xdr->page_base;
 	ppage = xdr->pages + (base >> PAGE_SHIFT);
 	base &= ~PAGE_MASK;
+	do_sendpage = sock->ops->sendpage;
+	if (!zerocopy)
+		do_sendpage = sock_no_sendpage;
 	for(;;) {
 		unsigned int len = min_t(unsigned int, PAGE_SIZE - base, remainder);
 		int flags = XS_SENDMSG_FLAGS;
@@ -407,7 +412,7 @@ static int xs_send_pagedata(struct socke
 		remainder -= len;
 		if (remainder != 0 || more)
 			flags |= MSG_MORE;
-		err = sock->ops->sendpage(sock, *ppage, base, len, flags);
+		err = do_sendpage(sock, *ppage, base, len, flags);
 		if (remainder == 0 || err != len)
 			break;
 		sent += err;
@@ -428,9 +433,10 @@ static int xs_send_pagedata(struct socke
  * @addrlen: UDP only -- length of destination address
  * @xdr: buffer containing this request
  * @base: starting position in the buffer
+ * @zerocopy: true if it is safe to use sendpage()
  *
  */
-static int xs_sendpages(struct socket *sock, struct sockaddr *addr, int addrlen, struct xdr_buf *xdr, unsigned int base)
+static int xs_sendpages(struct socket *sock, struct sockaddr *addr, int addrlen, struct xdr_buf *xdr, unsigned int base, bool zerocopy)
 {
 	unsigned int remainder = xdr->len - base;
 	int err, sent = 0;
@@ -458,7 +464,7 @@ static int xs_sendpages(struct socket *s
 	if (base < xdr->page_len) {
 		unsigned int len = xdr->page_len - base;
 		remainder -= len;
-		err = xs_send_pagedata(sock, xdr, base, remainder != 0);
+		err = xs_send_pagedata(sock, xdr, base, remainder != 0, zerocopy);
 		if (remainder == 0 || err != len)
 			goto out;
 		sent += err;
@@ -561,7 +567,7 @@ static int xs_local_send_request(struct
 			req->rq_svec->iov_base, req->rq_svec->iov_len);
 
 	status = xs_sendpages(transport->sock, NULL, 0,
-						xdr, req->rq_bytes_sent);
+						xdr, req->rq_bytes_sent, true);
 	dprintk("RPC:       %s(%u) = %d\n",
 			__func__, xdr->len - req->rq_bytes_sent, status);
 	if (likely(status >= 0)) {
@@ -617,7 +623,7 @@ static int xs_udp_send_request(struct rp
 	status = xs_sendpages(transport->sock,
 			      xs_addr(xprt),
 			      xprt->addrlen, xdr,
-			      req->rq_bytes_sent);
+			      req->rq_bytes_sent, true);
 
 	dprintk("RPC:       xs_udp_send_request(%u) = %d\n",
 			xdr->len - req->rq_bytes_sent, status);
@@ -688,6 +694,7 @@ static int xs_tcp_send_request(struct rp
 	struct rpc_xprt *xprt = req->rq_xprt;
 	struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt);
 	struct xdr_buf *xdr = &req->rq_snd_buf;
+	bool zerocopy = true;
 	int status;
 
 	xs_encode_stream_record_marker(&req->rq_snd_buf);
@@ -695,13 +702,20 @@ static int xs_tcp_send_request(struct rp
 	xs_pktdump("packet data:",
 				req->rq_svec->iov_base,
 				req->rq_svec->iov_len);
+	/* Don't use zero copy if this is a resend. If the RPC call
+	 * completes while the socket holds a reference to the pages,
+	 * then we may end up resending corrupted data.
+	 */
+	if (task->tk_flags & RPC_TASK_SENT)
+		zerocopy = false;
 
 	/* Continue transmitting the packet/record. We must be careful
 	 * to cope with writespace callbacks arriving _after_ we have
 	 * called sendmsg(). */
 	while (1) {
 		status = xs_sendpages(transport->sock,
-					NULL, 0, xdr, req->rq_bytes_sent);
+					NULL, 0, xdr, req->rq_bytes_sent,
+					zerocopy);
 
 		dprintk("RPC:       xs_tcp_send_request(%u) = %d\n",
 				xdr->len - req->rq_bytes_sent, status);


  parent reply	other threads:[~2013-12-29  2:16 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-29  2:08 [PATCH 3.2 000/185] 3.2.54-rc1 review Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 065/185] ARM: integrator_cp: Set LCD{0,1} enable lines when turning on CLCD Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 005/185] usb: hub: Clear Port Reset Change during init/resume Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 090/185] mac80211: don't attempt to reorder multicast frames Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 068/185] rtlwifi: rtl8192cu: Fix more pointer arithmetic errors Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 040/185] loop: fix crash if blk_alloc_queue fails Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 080/185] powerpc/pseries: Duplicate dtl entries sometimes sent to userspace Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 076/185] avr32: fix out-of-range jump in large kernels Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 036/185] qeth: avoid buffer overflow in snmp ioctl Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 022/185] ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 016/185] usb: wusbcore: change WA_SEGS_MAX to a legal value Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 050/185] mwifiex: correct packet length for packets from SDIO interface Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 035/185] mtd: m25p80: fix allocation size Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 002/185] NFSv4: Fix a use-after-free situation in _nfs4_proc_getlk() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 023/185] ASoC: ak4642: prevent un-necessary changes to SG_SL1 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 006/185] rt2400pci: fix RSSI read Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 019/185] dm: allocate buffer for messages with small number of arguments using GFP_NOIO Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 044/185] IB/qib: Convert qib_user_sdma_pin_pages() to use get_user_pages_fast() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 001/185] selinux: correct locking in selinux_netlbl_socket_connect) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 070/185] setfacl removes part of ACL when setting POSIX ACLs to Samba Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 052/185] prism54: set netdev type to "wlan" Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 007/185] rt2x00: check if device is still available on rt2x00mac_flush() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 024/185] ahci: Add Device IDs for Intel Wildcat Point-LP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 043/185] IB/ipath: Convert ipath_user_sdma_pin_pages() to use get_user_pages_fast() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 008/185] alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn't exist Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 063/185] drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 056/185] mm: ensure get_unmapped_area() returns higher address than mmap_min_addr Ben Hutchings
2014-01-03  4:26   ` Ben Hutchings
2014-01-06 10:19     ` Akira Takeuchi
2014-01-06 12:32       ` Luis Henriques
2014-01-07  2:25         ` Akira Takeuchi
2014-01-07 10:50           ` Luis Henriques
2014-02-09 18:19       ` Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 033/185] mtd: nand: hack ONFI for non-power-of-2 dimensions Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 030/185] drm/ttm: Fix memory type compatibility check Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 055/185] cris: media platform drivers: fix build Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 054/185] x86/microcode/amd: Tone down printk(), don't treat a missing firmware file as an error Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 021/185] dm mpath: fix race condition between multipath_dtr and pg_init_done Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 004/185] usb: Disable USB 2.0 Link PM before device reset Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 026/185] crypto: s390 - Fix aes-cbc IV corruption Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 089/185] ASoC: wm8990: Mark the register map as dirty when powering down Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 010/185] libata: Fix display of sata speed Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 077/185] NFSv4 wait on recovery for async session errors Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 037/185] x86/apic: Disable I/O APIC before shutdown of the local APIC Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 083/185] iscsi-target: chap auth shouldn't match username with trailing garbage Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 014/185] ARM: sa11x0/assabet: ensure CS2 is configured appropriately Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 072/185] nfsd: split up nfsd_setattr Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 081/185] powerpc/signals: Mark VSX not saved with small contexts Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 067/185] drm/i915: flush cursors harder Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 059/185] backlight: atmel-pwm-bl: fix gpio polarity in remove Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 087/185] ahci: add Marvell 9230 to the AHCI PCI device list Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 025/185] KVM: IOMMU: hva align mapping page size Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 009/185] USB:add new zte 3g-dongle's pid to option.c Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 053/185] ALSA: msnd: Avoid duplicated driver name Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 034/185] mtd: map: fixed bug in 64-bit systems Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 078/185] NFSv4: Update list of irrecoverable errors on DELEGRETURN Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 028/185] audit: fix info leak in AUDIT_GET requests Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 085/185] ahci: add support for IBM Akebono platform device Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 071/185] dm delay: fix a possible deadlock due to shared workqueue Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 027/185] audit: printk USER_AVC messages when audit isn't enabled Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 086/185] PCI: Define macro for Marvell vendor ID Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 061/185] devpts: plug the memory leak in kill_sb Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 082/185] iscsi-target: fix extract_param to handle buffer length corner case Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 069/185] radeon: workaround pinning failure on low ram gpu Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 060/185] exec/ptrace: fix get_dumpable() incorrect tests Ben Hutchings
2013-12-29  2:08 ` Ben Hutchings [this message]
2013-12-29  2:08 ` [PATCH 3.2 012/185] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 051/185] mtd: gpmi: fix kernel BUG due to racing DMA operations Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 058/185] backlight: atmel-pwm-bl: fix reported brightness Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 041/185] block: fix a probe argument to blk_register_region Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 011/185] ahci: disabled FBS prior to issuing software reset Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 031/185] PM / hibernate: Avoid overflow in hibernate_preallocate_memory() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 066/185] hwmon: (lm90) Fix max6696 alarm handling Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 047/185] rtlwifi: rtl8192se: Fix incorrect signal strength for unassociated AP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 057/185] vsprintf: check real user/group id for %pK Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 073/185] nfsd: make sure to balance get/put_write_access Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 015/185] usb: wusbcore: set the RPIPE wMaxPacketSize value correctly Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 062/185] ipc, msg: fix message length check for negative values Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 075/185] avr32: setup crt for early panic() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 046/185] rtlwifi: Fix endian error in extracting packet type Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 013/185] ALSA: 6fire: Fix probe of multiple cards Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 017/185] powerpc/vio: Fix modalias_show return values Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 029/185] audit: use nlmsg_len() to get message payload length Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 084/185] configfs: fix race between dentry put and lookup Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 049/185] rtlwifi: rtl8192de: Fix incorrect signal strength for unassociated AP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 039/185] blk-core: Fix memory corruption if blkcg_init_queue fails Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 074/185] nfsd4: fix xdr decoding of large non-write compounds Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 020/185] can: c_can: Fix RX message handling, handle lost message before EOB Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 064/185] ALSA: pcsp: Fix the order of input device unregistration Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 079/185] PCI: Remove duplicate pci_disable_device() from pcie_portdrv_remove() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 045/185] rtlwifi: rtl8192se: Fix wrong assignment Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 032/185] ALSA: hda - Add support for CX20952 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 038/185] block: fix race between request completion and timeout handling Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 018/185] powerpc/vio: use strcpy in modalias_show Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 088/185] powerpc/signals: Improved mark VSX not saved with small contexts fix Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 003/185] USB: mos7840: fix tiocmget error handling Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 048/185] rtlwifi: rtl8192cu: Fix incorrect signal strength for unassociated AP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 158/185] inet: prevent leakage of uninitialized memory to user in recv syscalls Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 133/185] x86, build, icc: Remove uninitialized_var() from compiler-intel.h Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 094/185] Staging: zram: Fix access of NULL pointer Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 114/185] [SCSI] enclosure: fix WARN_ON in dual path device removing Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 132/185] dm table: fail dm_table_create on dm_round_up overflow Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 157/185] ipv4: fix possible seqlock deadlock Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 115/185] USB: serial: option: blacklist interface 1 for Huawei E173s-6 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 091/185] USB: serial: fix race in generic write Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 101/185] [SCSI] libsas: fix usage of ata_tf_to_fis Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 177/185] libertas: potential oops in debugfs Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 109/185] net: smc91: fix crash regression on the versatile Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 097/185] irq: Enable all irqs unconditionally in irq_resume Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 174/185] KVM: perform an invalid memslot step for gpa base change Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 141/185] futex: fix handling of read-only-mapped hugepages Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 185/185] mmc: block: fix a bug of error handling in MMC driver Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 137/185] ARM: pxa: prevent PXA270 occasional reboot freezes Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 095/185] Staging: zram: Fix memory leak by refcount mismatch Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 172/185] HID: multitouch: validate indexes details Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 100/185] tracing: Allow events to have NULL strings Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 096/185] can: sja1000: fix {pre,post}_irq() handling and IRQ handler return value Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 140/185] hwmon: Prevent some divide by zeros in FAN_TO_REG() Ben Hutchings
2013-12-30  9:15   ` vt8231
2013-12-29  2:08 ` [PATCH 3.2 120/185] USB: pl2303: fixed handling of CS5 setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 162/185] net: clamp ->msg_namelen instead of returning an error Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 164/185] atm: idt77252: fix dev refcnt leak Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 119/185] USB: ftdi_sio: fixed handling of unsupported CSIZE setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 126/185] crypto: scatterwalk - Use sg_chain_ptr on chain entries Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 121/185] powerpc/gpio: Fix the wrong GPIO input data on MPC8572/MPC8536 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 143/185] KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 111/185] ARM: footbridge: fix VGA initialisation Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 155/185] isdnloop: use strlcpy() instead of strcpy() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 184/185] ftrace: Fix function graph with loading of modules Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 168/185] af_packet: block BH in prb_shutdown_retire_blk_timer() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 108/185] [media] saa7164: fix return value check in saa7164_initdev() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 146/185] drivers/rtc/rtc-at91rm9200.c: correct alarm over day/month wrap Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 138/185] hwmon: (w83l786ng) Fix fan speed control mode setting and reporting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 113/185] [SCSI] hpsa: return 0 from driver probe function on success, not 1 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 153/185] 6lowpan: Uncompression of traffic class field was incorrect Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 092/185] usb: gadget: composite: reset delayed_status on reset_config Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 104/185] crypto: authenc - Find proper IV address in ablkcipher callback Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 103/185] cpuset: Fix memory allocator deadlock Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 102/185] Staging: tidspbridge: disable driver Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 159/185] net: rework recvmsg handler msg_name and msg_namelen logic Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 129/185] x86, build: Pass in additional -mno-mmx, -mno-sse options Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 154/185] bonding: fix two race conditions in bond_store_updelay/downdelay Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 150/185] ipv6: use rt6_get_dflt_router to get default router in rt6_route_rcv Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 098/185] ALSA: hda/realtek - Add support of ALC231 codec Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 136/185] ARM: pxa: tosa: fix keys mapping Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 122/185] ASoC: wm8731: fix dsp mode configuration Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 130/185] ALSA: memalloc.h - fix wrong truncation of dma_addr_t Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 181/185] ftrace: Fix ftrace hash record update with notrace Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 145/185] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_postroute() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 139/185] hwmon: (w83l768ng) Fix fan speed control range Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 127/185] ARM: 7912/1: check stack pointer in get_wchan Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 166/185] bridge: flush br's address entry in fdb when remove the bridge dev Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 134/185] x86, efi: Don't use (U)EFI time services on 32 bit Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 160/185] net: add BUG_ON if kernel advertises msg_namelen > sizeof(struct sockaddr_storage) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 152/185] bonding: don't permit to use ARP monitoring in 802.3ad mode Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 182/185] ftrace: Create ftrace_hash_empty() helper routine Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 178/185] aacraid: prevent invalid pointer dereference Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 105/185] crypto: scatterwalk - Set the chain pointer indication bit Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 135/185] dm bufio: initialize read-only module parameters Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 142/185] KVM: Improve create VCPU parameter (CVE-2013-4587) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 176/185] ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 180/185] net: flow_dissector: fail on evil iph->ihl Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 125/185] drivers/char/i8k.c: add Dell XPLS L421X Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 179/185] xfs: underflow bug in xfs_attrlist_by_handle() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 106/185] crypto: s390 - Fix aes-xts parameter corruption Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 147/185] sched: Avoid throttle_cfs_rq() racing with period_timer stopping Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 131/185] dm snapshot: avoid snapshot space leak on crash Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 099/185] ALSA: hda/realtek - Set pcbeep amp for ALC668 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 165/185] net: core: Always propagate flag changes to interfaces Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 124/185] usb: hub: Use correct reset for wedged USB3 devices that are NOTATTACHED Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 116/185] USB: option: support new huawei devices Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 118/185] USB: mos7840: correct handling of CS5 setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 171/185] {pktgen, xfrm} Update IPv4 header total len and checksum after tranformation Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 107/185] crypto: ccm - Fix handling of zero plaintext when computing mac Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 144/185] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_output() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 169/185] inet: fix possible seqlock deadlocks Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 170/185] ipv6: fix possible seqlock deadlock in ip6_finish_output2 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 110/185] net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 093/185] usb: dwc3: fix implementation of endpoint wedge Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 163/185] ipv6: fix leaking uninitialized port number of offender sockaddr Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 112/185] [SCSI] hpsa: do not discard scsi status on aborted commands Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 151/185] random32: fix off-by-one in seeding requirement Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 161/185] inet: fix addr_len/msg->msg_namelen assignment in recv_error and rxpmtu functions Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 128/185] ARM: 7913/1: fix framepointer check in unwind_frame Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 156/185] connector: improved unaligned access error fix Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 117/185] USB: spcp8x5: correct handling of CS5 setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 175/185] KVM: Fix iommu map/unmap to handle memory slot moves Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 149/185] net: Fix "ip rule delete table 256" Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 183/185] ftrace: Check module functions being traced on reload Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 173/185] crypto: ansi_cprng - Fix off by one error in non-block size request Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 148/185] um: add missing declaration of 'getrlimit()' and friends Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 123/185] USB: cdc-acm: Added support for the Lenovo RD02-D400 USB Modem Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 167/185] packet: fix use after free race in send path when dev is released Ben Hutchings
2013-12-29  2:19 ` [PATCH 3.2 000/185] 3.2.54-rc1 review Ben Hutchings
2013-12-29 13:54 ` Guenter Roeck
2013-12-29 14:50   ` Ben Hutchings

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=lsq.1388282923.378009929@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=Trond.Myklebust@netapp.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --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