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,
	Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Jorgen S. Hansen" <jhansen@vmware.com>
Subject: [PATCH 4.4 06/96] AF_VSOCK: Shrink the area influenced by prepare_to_wait
Date: Tue, 28 Nov 2017 11:22:15 +0100	[thread overview]
Message-ID: <20171128100503.496649857@linuxfoundation.org> (raw)
In-Reply-To: <20171128100503.067621614@linuxfoundation.org>

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

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

From: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>

commit f7f9b5e7f8eccfd68ffa7b8d74b07c478bb9e7f0 upstream.

When a thread is prepared for waiting by calling prepare_to_wait, sleeping
is not allowed until either the wait has taken place or finish_wait has
been called.  The existing code in af_vsock imposed unnecessary no-sleep
assumptions to a broad list of backend functions.
This patch shrinks the influence of prepare_to_wait to the area where it
is strictly needed, therefore relaxing the no-sleep restriction there.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: "Jorgen S. Hansen" <jhansen@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 net/vmw_vsock/af_vsock.c |  158 +++++++++++++++++++++++++----------------------
 1 file changed, 85 insertions(+), 73 deletions(-)

--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -1209,10 +1209,14 @@ static int vsock_stream_connect(struct s
 
 		if (signal_pending(current)) {
 			err = sock_intr_errno(timeout);
-			goto out_wait_error;
+			sk->sk_state = SS_UNCONNECTED;
+			sock->state = SS_UNCONNECTED;
+			goto out_wait;
 		} else if (timeout == 0) {
 			err = -ETIMEDOUT;
-			goto out_wait_error;
+			sk->sk_state = SS_UNCONNECTED;
+			sock->state = SS_UNCONNECTED;
+			goto out_wait;
 		}
 
 		prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
@@ -1220,20 +1224,17 @@ static int vsock_stream_connect(struct s
 
 	if (sk->sk_err) {
 		err = -sk->sk_err;
-		goto out_wait_error;
-	} else
+		sk->sk_state = SS_UNCONNECTED;
+		sock->state = SS_UNCONNECTED;
+	} else {
 		err = 0;
+	}
 
 out_wait:
 	finish_wait(sk_sleep(sk), &wait);
 out:
 	release_sock(sk);
 	return err;
-
-out_wait_error:
-	sk->sk_state = SS_UNCONNECTED;
-	sock->state = SS_UNCONNECTED;
-	goto out_wait;
 }
 
 static int vsock_accept(struct socket *sock, struct socket *newsock, int flags)
@@ -1270,18 +1271,20 @@ static int vsock_accept(struct socket *s
 	       listener->sk_err == 0) {
 		release_sock(listener);
 		timeout = schedule_timeout(timeout);
+		finish_wait(sk_sleep(listener), &wait);
 		lock_sock(listener);
 
 		if (signal_pending(current)) {
 			err = sock_intr_errno(timeout);
-			goto out_wait;
+			goto out;
 		} else if (timeout == 0) {
 			err = -EAGAIN;
-			goto out_wait;
+			goto out;
 		}
 
 		prepare_to_wait(sk_sleep(listener), &wait, TASK_INTERRUPTIBLE);
 	}
+	finish_wait(sk_sleep(listener), &wait);
 
 	if (listener->sk_err)
 		err = -listener->sk_err;
@@ -1301,19 +1304,15 @@ static int vsock_accept(struct socket *s
 		 */
 		if (err) {
 			vconnected->rejected = true;
-			release_sock(connected);
-			sock_put(connected);
-			goto out_wait;
+		} else {
+			newsock->state = SS_CONNECTED;
+			sock_graft(connected, newsock);
 		}
 
-		newsock->state = SS_CONNECTED;
-		sock_graft(connected, newsock);
 		release_sock(connected);
 		sock_put(connected);
 	}
 
-out_wait:
-	finish_wait(sk_sleep(listener), &wait);
 out:
 	release_sock(listener);
 	return err;
@@ -1557,11 +1556,11 @@ static int vsock_stream_sendmsg(struct s
 	if (err < 0)
 		goto out;
 
-	prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
 
 	while (total_written < len) {
 		ssize_t written;
 
+		prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
 		while (vsock_stream_has_space(vsk) == 0 &&
 		       sk->sk_err == 0 &&
 		       !(sk->sk_shutdown & SEND_SHUTDOWN) &&
@@ -1570,27 +1569,33 @@ static int vsock_stream_sendmsg(struct s
 			/* Don't wait for non-blocking sockets. */
 			if (timeout == 0) {
 				err = -EAGAIN;
-				goto out_wait;
+				finish_wait(sk_sleep(sk), &wait);
+				goto out_err;
 			}
 
 			err = transport->notify_send_pre_block(vsk, &send_data);
-			if (err < 0)
-				goto out_wait;
+			if (err < 0) {
+				finish_wait(sk_sleep(sk), &wait);
+				goto out_err;
+			}
 
 			release_sock(sk);
 			timeout = schedule_timeout(timeout);
 			lock_sock(sk);
 			if (signal_pending(current)) {
 				err = sock_intr_errno(timeout);
-				goto out_wait;
+				finish_wait(sk_sleep(sk), &wait);
+				goto out_err;
 			} else if (timeout == 0) {
 				err = -EAGAIN;
-				goto out_wait;
+				finish_wait(sk_sleep(sk), &wait);
+				goto out_err;
 			}
 
 			prepare_to_wait(sk_sleep(sk), &wait,
 					TASK_INTERRUPTIBLE);
 		}
+		finish_wait(sk_sleep(sk), &wait);
 
 		/* These checks occur both as part of and after the loop
 		 * conditional since we need to check before and after
@@ -1598,16 +1603,16 @@ static int vsock_stream_sendmsg(struct s
 		 */
 		if (sk->sk_err) {
 			err = -sk->sk_err;
-			goto out_wait;
+			goto out_err;
 		} else if ((sk->sk_shutdown & SEND_SHUTDOWN) ||
 			   (vsk->peer_shutdown & RCV_SHUTDOWN)) {
 			err = -EPIPE;
-			goto out_wait;
+			goto out_err;
 		}
 
 		err = transport->notify_send_pre_enqueue(vsk, &send_data);
 		if (err < 0)
-			goto out_wait;
+			goto out_err;
 
 		/* Note that enqueue will only write as many bytes as are free
 		 * in the produce queue, so we don't need to ensure len is
@@ -1620,7 +1625,7 @@ static int vsock_stream_sendmsg(struct s
 				len - total_written);
 		if (written < 0) {
 			err = -ENOMEM;
-			goto out_wait;
+			goto out_err;
 		}
 
 		total_written += written;
@@ -1628,14 +1633,13 @@ static int vsock_stream_sendmsg(struct s
 		err = transport->notify_send_post_enqueue(
 				vsk, written, &send_data);
 		if (err < 0)
-			goto out_wait;
+			goto out_err;
 
 	}
 
-out_wait:
+out_err:
 	if (total_written > 0)
 		err = total_written;
-	finish_wait(sk_sleep(sk), &wait);
 out:
 	release_sock(sk);
 	return err;
@@ -1716,21 +1720,61 @@ vsock_stream_recvmsg(struct socket *sock
 	if (err < 0)
 		goto out;
 
-	prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
 
 	while (1) {
-		s64 ready = vsock_stream_has_data(vsk);
+		s64 ready;
 
-		if (ready < 0) {
-			/* Invalid queue pair content. XXX This should be
-			 * changed to a connection reset in a later change.
-			 */
+		prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
+		ready = vsock_stream_has_data(vsk);
 
-			err = -ENOMEM;
-			goto out_wait;
-		} else if (ready > 0) {
+		if (ready == 0) {
+			if (sk->sk_err != 0 ||
+			    (sk->sk_shutdown & RCV_SHUTDOWN) ||
+			    (vsk->peer_shutdown & SEND_SHUTDOWN)) {
+				finish_wait(sk_sleep(sk), &wait);
+				break;
+			}
+			/* Don't wait for non-blocking sockets. */
+			if (timeout == 0) {
+				err = -EAGAIN;
+				finish_wait(sk_sleep(sk), &wait);
+				break;
+			}
+
+			err = transport->notify_recv_pre_block(
+					vsk, target, &recv_data);
+			if (err < 0) {
+				finish_wait(sk_sleep(sk), &wait);
+				break;
+			}
+			release_sock(sk);
+			timeout = schedule_timeout(timeout);
+			lock_sock(sk);
+
+			if (signal_pending(current)) {
+				err = sock_intr_errno(timeout);
+				finish_wait(sk_sleep(sk), &wait);
+				break;
+			} else if (timeout == 0) {
+				err = -EAGAIN;
+				finish_wait(sk_sleep(sk), &wait);
+				break;
+			}
+		} else {
 			ssize_t read;
 
+			finish_wait(sk_sleep(sk), &wait);
+
+			if (ready < 0) {
+				/* Invalid queue pair content. XXX This should
+				* be changed to a connection reset in a later
+				* change.
+				*/
+
+				err = -ENOMEM;
+				goto out;
+			}
+
 			err = transport->notify_recv_pre_dequeue(
 					vsk, target, &recv_data);
 			if (err < 0)
@@ -1750,42 +1794,12 @@ vsock_stream_recvmsg(struct socket *sock
 					vsk, target, read,
 					!(flags & MSG_PEEK), &recv_data);
 			if (err < 0)
-				goto out_wait;
+				goto out;
 
 			if (read >= target || flags & MSG_PEEK)
 				break;
 
 			target -= read;
-		} else {
-			if (sk->sk_err != 0 || (sk->sk_shutdown & RCV_SHUTDOWN)
-			    || (vsk->peer_shutdown & SEND_SHUTDOWN)) {
-				break;
-			}
-			/* Don't wait for non-blocking sockets. */
-			if (timeout == 0) {
-				err = -EAGAIN;
-				break;
-			}
-
-			err = transport->notify_recv_pre_block(
-					vsk, target, &recv_data);
-			if (err < 0)
-				break;
-
-			release_sock(sk);
-			timeout = schedule_timeout(timeout);
-			lock_sock(sk);
-
-			if (signal_pending(current)) {
-				err = sock_intr_errno(timeout);
-				break;
-			} else if (timeout == 0) {
-				err = -EAGAIN;
-				break;
-			}
-
-			prepare_to_wait(sk_sleep(sk), &wait,
-					TASK_INTERRUPTIBLE);
 		}
 	}
 
@@ -1797,8 +1811,6 @@ vsock_stream_recvmsg(struct socket *sock
 	if (copied > 0)
 		err = copied;
 
-out_wait:
-	finish_wait(sk_sleep(sk), &wait);
 out:
 	release_sock(sk);
 	return err;

  parent reply	other threads:[~2017-11-28 10:22 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-28 10:22 [PATCH 4.4 00/96] 4.4.103-stable review Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 02/96] s390/runtime instrumention: fix possible memory corruption Greg Kroah-Hartman
2017-12-05 17:02   ` Ben Hutchings
2017-12-05 17:08     ` Greg Kroah-Hartman
2017-12-05 18:15       ` Heiko Carstens
2017-12-06  7:44         ` Greg Kroah-Hartman
2017-12-06 13:30           ` Heiko Carstens
2017-12-06 13:53             ` Greg Kroah-Hartman
2017-12-06 13:31           ` Heiko Carstens
2017-11-28 10:22 ` [PATCH 4.4 03/96] s390/disassembler: add missing end marker for e7 table Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 04/96] s390/disassembler: increase show_code buffer size Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 05/96] ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER Greg Kroah-Hartman
2017-11-28 10:22 ` Greg Kroah-Hartman [this message]
2017-11-28 10:22 ` [PATCH 4.4 07/96] vsock: use new wait API for vsock_stream_sendmsg() Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 08/96] sched: Make resched_cpu() unconditional Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 09/96] lib/mpi: call cond_resched() from mpi_powm() loop Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 10/96] x86/decoder: Add new TEST instruction pattern Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 11/96] ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 12/96] ARM: 8721/1: mm: dump: check hardware RO bit " Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 13/96] MIPS: ralink: Fix MT7628 pinmux Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 14/96] MIPS: ralink: Fix typo in mt7628 pinmux function Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 15/96] ALSA: hda: Add Raven PCI ID Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 16/96] dm bufio: fix integer overflow when limiting maximum cache size Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 17/96] dm: fix race between dm_get_from_kobject() and __dm_destroy() Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 18/96] MIPS: Fix an n32 core file generation regset support regression Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 20/96] autofs: dont fail mount for transient error Greg Kroah-Hartman
2017-12-05 21:59   ` Ben Hutchings
2017-12-05 22:22     ` NeilBrown
2017-11-28 10:22 ` [PATCH 4.4 21/96] nilfs2: fix race condition that causes file system corruption Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 22/96] eCryptfs: use after free in ecryptfs_release_messaging() Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 23/96] bcache: check ca->alloc_thread initialized before wake up it Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 24/96] isofs: fix timestamps beyond 2027 Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 25/96] NFS: Fix typo in nomigration mount option Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 26/96] nfs: Fix ugly referral attributes Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 27/96] nfsd: deal with revoked delegations appropriately Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 28/96] rtlwifi: rtl8192ee: Fix memory leak when loading firmware Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 29/96] rtlwifi: fix uninitialized rtlhal->last_suspend_sec time Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 30/96] ata: fixes kernel crash while tracing ata_eh_link_autopsy event Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 31/96] ext4: fix interaction between i_size, fallocate, and delalloc after a crash Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 32/96] ALSA: pcm: update tstamp only if audio_tstamp changed Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 33/96] ALSA: usb-audio: Add sanity checks to FE parser Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 34/96] ALSA: usb-audio: Fix potential out-of-bound access at parsing SU Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 35/96] ALSA: usb-audio: Add sanity checks in v2 clock parsers Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 36/96] ALSA: timer: Remove kernel warning at compat ioctl error paths Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 37/96] ALSA: hda/realtek - Fix ALC700 family no sound issue Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 38/96] fix a page leak in vhost_scsi_iov_to_sgl() error recovery Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 39/96] fs/9p: Compare qid.path in v9fs_test_inode Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 40/96] iscsi-target: Fix non-immediate TMR reference leak Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 41/96] target: Fix QUEUE_FULL + SCSI task attribute handling Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 42/96] KVM: nVMX: set IDTR and GDTR limits when loading L1 host state Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 44/96] SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 45/96] clk: ti: dra7-atl-clock: Fix of_node reference counting Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 46/96] clk: ti: dra7-atl-clock: fix child-node lookups Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 47/96] libnvdimm, namespace: fix label initialization to use valid seq numbers Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 48/96] libnvdimm, namespace: make resource attribute only readable by root Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 49/96] IB/srpt: Do not accept invalid initiator port names Greg Kroah-Hartman
2017-11-28 10:22 ` [PATCH 4.4 50/96] IB/srp: Avoid that a cable pull can trigger a kernel crash Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 51/96] NFC: fix device-allocation error return Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 52/96] i40e: Use smp_rmb rather than read_barrier_depends Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 53/96] igb: " Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 54/96] igbvf: " Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 55/96] ixgbevf: " Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 56/96] i40evf: " Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 57/96] fm10k: " Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 58/96] ixgbe: Fix skb list corruption on Power systems Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 59/96] parisc: Fix validity check of pointer size argument in new CAS implementation Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 60/96] powerpc/signal: Properly handle return value from uprobe_deny_signal() Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 61/96] media: Dont do DMA on stack for firmware upload in the AS102 driver Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 62/96] media: rc: check for integer overflow Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 63/96] [media] cx231xx-cards: fix NULL-deref on missing association descriptor Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 64/96] media: v4l2-ctrl: Fix flags field on Control events Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 65/96] sched/rt: Simplify the IPI based RT balancing logic Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 66/96] fscrypt: lock mutex before checking for bounce page pool Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 67/96] net/9p: Switch to wait_event_killable() Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 68/96] PM / OPP: Add missing of_node_put(np) Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 69/96] e1000e: Fix error path in link detection Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 70/96] e1000e: Fix return value test Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 71/96] e1000e: Separate signaling for link check/link up Greg Kroah-Hartman
2017-12-07 20:02   ` Ben Hutchings
2017-12-08  8:34     ` Benjamin Poirier
2017-12-08 10:45       ` Christian Hesse
2017-12-11  7:26         ` [PATCH] e1000e: Fix e1000_check_for_copper_link_ich8lan return value Benjamin Poirier
2017-12-21  6:57           ` [Intel-wired-lan] " Neftin, Sasha
2017-12-22 22:00             ` Brown, Aaron F
2017-11-28 10:23 ` [PATCH 4.4 72/96] RDS: RDMA: return appropriate error on rdma map failures Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 73/96] PCI: Apply _HPX settings only to relevant devices Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 74/96] dmaengine: zx: set DMA_CYCLIC cap_mask bit Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 75/96] net: Allow IP_MULTICAST_IF to set index to L3 slave Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 76/96] net: 3com: typhoon: typhoon_init_one: make return values more specific Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 77/96] net: 3com: typhoon: typhoon_init_one: fix incorrect return values Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 78/96] drm/armada: Fix compile fail Greg Kroah-Hartman
2017-12-07 20:16   ` Ben Hutchings
2017-12-09  5:39     ` alexander.levin
2017-11-28 10:23 ` [PATCH 4.4 79/96] ath10k: fix incorrect txpower set by P2P_DEVICE interface Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 80/96] ath10k: ignore configuring the incorrect board_id Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 81/96] ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 82/96] ath10k: set CTS protection VDEV param only if VDEV is up Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 83/96] ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 84/96] drm: Apply range restriction after color adjustment when allocation Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 85/96] mac80211: Remove invalid flag operations in mesh TSF synchronization Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 86/96] mac80211: Suppress NEW_PEER_CANDIDATE event if no room Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 87/96] iio: light: fix improper return value Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 88/96] staging: iio: cdc: " Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 89/96] spi: SPI_FSL_DSPI should depend on HAS_DMA Greg Kroah-Hartman
2017-12-07 20:41   ` Ben Hutchings
2017-12-09  5:40     ` alexander.levin
2017-11-28 10:23 ` [PATCH 4.4 90/96] netfilter: nft_queue: use raw_smp_processor_id() Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 91/96] netfilter: nf_tables: fix oob access Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 92/96] ASoC: rsnd: dont double free kctrl Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 93/96] btrfs: return the actual error value from from btrfs_uuid_tree_iterate Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 94/96] ASoC: wm_adsp: Dont overrun firmware file buffer when reading region data Greg Kroah-Hartman
2017-11-28 10:23 ` [PATCH 4.4 95/96] s390/kbuild: enable modversions for symbols exported from asm Greg Kroah-Hartman
2017-12-07 21:21   ` Ben Hutchings
2017-12-09  5:40     ` alexander.levin
2017-11-28 10:23 ` [PATCH 4.4 96/96] xen: xenbus driver must not accept invalid transaction ids Greg Kroah-Hartman
2017-11-28 17:26 ` [PATCH 4.4 00/96] 4.4.103-stable review Naresh Kamboju
2017-11-29  8:07   ` Greg Kroah-Hartman
2017-11-29  9:53     ` Naresh Kamboju
2017-11-29 10:36       ` Greg Kroah-Hartman
2017-11-29 13:51         ` Naresh Kamboju
2017-11-28 18:27 ` Nathan Chancellor
2017-11-29  8:07   ` Greg Kroah-Hartman
2017-11-28 19:46 ` Shuah Khan
2017-11-28 21:51 ` 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=20171128100503.496649857@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=imbrenda@linux.vnet.ibm.com \
    --cc=jhansen@vmware.com \
    --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;
as well as URLs for NNTP newsgroup(s).