All of lore.kernel.org
 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, David Howells <dhowells@redhat.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.18 039/150] rxrpc: Fix error distribution
Date: Fri,  2 Nov 2018 19:33:21 +0100	[thread overview]
Message-ID: <20181102182906.065771667@linuxfoundation.org> (raw)
In-Reply-To: <20181102182902.250560510@linuxfoundation.org>

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

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

[ Upstream commit f334430316e7fd37c4821ebec627e27714bb5d76 ]

Fix error distribution by immediately delivering the errors to all the
affected calls rather than deferring them to a worker thread.  The problem
with the latter is that retries and things can happen in the meantime when we
want to stop that sooner.

To this end:

 (1) Stop the error distributor from removing calls from the error_targets
     list so that peer->lock isn't needed to synchronise against other adds
     and removals.

 (2) Require the peer's error_targets list to be accessed with RCU, thereby
     avoiding the need to take peer->lock over distribution.

 (3) Don't attempt to affect a call's state if it is already marked complete.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/trace/events/rxrpc.h |  4 +---
 net/rxrpc/ar-internal.h      |  5 ----
 net/rxrpc/call_object.c      |  2 +-
 net/rxrpc/conn_client.c      |  4 ++--
 net/rxrpc/conn_object.c      |  2 +-
 net/rxrpc/peer_event.c       | 46 +++++++++---------------------------
 net/rxrpc/peer_object.c      | 17 -------------
 7 files changed, 16 insertions(+), 64 deletions(-)

diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index 4fff00e9da8a..0a774b64fc29 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -56,7 +56,6 @@ enum rxrpc_peer_trace {
 	rxrpc_peer_new,
 	rxrpc_peer_processing,
 	rxrpc_peer_put,
-	rxrpc_peer_queued_error,
 };
 
 enum rxrpc_conn_trace {
@@ -257,8 +256,7 @@ enum rxrpc_tx_fail_trace {
 	EM(rxrpc_peer_got,			"GOT") \
 	EM(rxrpc_peer_new,			"NEW") \
 	EM(rxrpc_peer_processing,		"PRO") \
-	EM(rxrpc_peer_put,			"PUT") \
-	E_(rxrpc_peer_queued_error,		"QER")
+	E_(rxrpc_peer_put,			"PUT")
 
 #define rxrpc_conn_traces \
 	EM(rxrpc_conn_got,			"GOT") \
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
index 5069193d2cc1..4718d08c0af1 100644
--- a/net/rxrpc/ar-internal.h
+++ b/net/rxrpc/ar-internal.h
@@ -293,7 +293,6 @@ struct rxrpc_peer {
 	struct hlist_node	hash_link;
 	struct rxrpc_local	*local;
 	struct hlist_head	error_targets;	/* targets for net error distribution */
-	struct work_struct	error_distributor;
 	struct rb_root		service_conns;	/* Service connections */
 	struct list_head	keepalive_link;	/* Link in net->peer_keepalive[] */
 	time64_t		last_tx_at;	/* Last time packet sent here */
@@ -304,8 +303,6 @@ struct rxrpc_peer {
 	unsigned int		maxdata;	/* data size (MTU - hdrsize) */
 	unsigned short		hdrsize;	/* header size (IP + UDP + RxRPC) */
 	int			debug_id;	/* debug ID for printks */
-	int			error_report;	/* Net (+0) or local (+1000000) to distribute */
-#define RXRPC_LOCAL_ERROR_OFFSET 1000000
 	struct sockaddr_rxrpc	srx;		/* remote address */
 
 	/* calculated RTT cache */
@@ -1039,7 +1036,6 @@ void rxrpc_send_keepalive(struct rxrpc_peer *);
  * peer_event.c
  */
 void rxrpc_error_report(struct sock *);
-void rxrpc_peer_error_distributor(struct work_struct *);
 void rxrpc_peer_add_rtt(struct rxrpc_call *, enum rxrpc_rtt_rx_trace,
 			rxrpc_serial_t, rxrpc_serial_t, ktime_t, ktime_t);
 void rxrpc_peer_keepalive_worker(struct work_struct *);
@@ -1058,7 +1054,6 @@ void rxrpc_destroy_all_peers(struct rxrpc_net *);
 struct rxrpc_peer *rxrpc_get_peer(struct rxrpc_peer *);
 struct rxrpc_peer *rxrpc_get_peer_maybe(struct rxrpc_peer *);
 void rxrpc_put_peer(struct rxrpc_peer *);
-void __rxrpc_queue_peer_error(struct rxrpc_peer *);
 
 /*
  * proc.c
diff --git a/net/rxrpc/call_object.c b/net/rxrpc/call_object.c
index f6734d8cb01a..ed69257203c2 100644
--- a/net/rxrpc/call_object.c
+++ b/net/rxrpc/call_object.c
@@ -400,7 +400,7 @@ void rxrpc_incoming_call(struct rxrpc_sock *rx,
 	rcu_assign_pointer(conn->channels[chan].call, call);
 
 	spin_lock(&conn->params.peer->lock);
-	hlist_add_head(&call->error_link, &conn->params.peer->error_targets);
+	hlist_add_head_rcu(&call->error_link, &conn->params.peer->error_targets);
 	spin_unlock(&conn->params.peer->lock);
 
 	_net("CALL incoming %d on CONN %d", call->debug_id, call->conn->debug_id);
diff --git a/net/rxrpc/conn_client.c b/net/rxrpc/conn_client.c
index 5736f643c516..0be19132202b 100644
--- a/net/rxrpc/conn_client.c
+++ b/net/rxrpc/conn_client.c
@@ -709,8 +709,8 @@ int rxrpc_connect_call(struct rxrpc_call *call,
 	}
 
 	spin_lock_bh(&call->conn->params.peer->lock);
-	hlist_add_head(&call->error_link,
-		       &call->conn->params.peer->error_targets);
+	hlist_add_head_rcu(&call->error_link,
+			   &call->conn->params.peer->error_targets);
 	spin_unlock_bh(&call->conn->params.peer->lock);
 
 out:
diff --git a/net/rxrpc/conn_object.c b/net/rxrpc/conn_object.c
index c37bf8e282b9..e0d6d0fb7426 100644
--- a/net/rxrpc/conn_object.c
+++ b/net/rxrpc/conn_object.c
@@ -214,7 +214,7 @@ void rxrpc_disconnect_call(struct rxrpc_call *call)
 	call->peer->cong_cwnd = call->cong_cwnd;
 
 	spin_lock_bh(&conn->params.peer->lock);
-	hlist_del_init(&call->error_link);
+	hlist_del_rcu(&call->error_link);
 	spin_unlock_bh(&conn->params.peer->lock);
 
 	if (rxrpc_is_client_call(call))
diff --git a/net/rxrpc/peer_event.c b/net/rxrpc/peer_event.c
index 4f9da2f51c69..f3e6fc670da2 100644
--- a/net/rxrpc/peer_event.c
+++ b/net/rxrpc/peer_event.c
@@ -23,6 +23,8 @@
 #include "ar-internal.h"
 
 static void rxrpc_store_error(struct rxrpc_peer *, struct sock_exterr_skb *);
+static void rxrpc_distribute_error(struct rxrpc_peer *, int,
+				   enum rxrpc_call_completion);
 
 /*
  * Find the peer associated with an ICMP packet.
@@ -194,8 +196,6 @@ void rxrpc_error_report(struct sock *sk)
 	rcu_read_unlock();
 	rxrpc_free_skb(skb, rxrpc_skb_rx_freed);
 
-	/* The ref we obtained is passed off to the work item */
-	__rxrpc_queue_peer_error(peer);
 	_leave("");
 }
 
@@ -205,6 +205,7 @@ void rxrpc_error_report(struct sock *sk)
 static void rxrpc_store_error(struct rxrpc_peer *peer,
 			      struct sock_exterr_skb *serr)
 {
+	enum rxrpc_call_completion compl = RXRPC_CALL_NETWORK_ERROR;
 	struct sock_extended_err *ee;
 	int err;
 
@@ -255,7 +256,7 @@ static void rxrpc_store_error(struct rxrpc_peer *peer,
 	case SO_EE_ORIGIN_NONE:
 	case SO_EE_ORIGIN_LOCAL:
 		_proto("Rx Received local error { error=%d }", err);
-		err += RXRPC_LOCAL_ERROR_OFFSET;
+		compl = RXRPC_CALL_LOCAL_ERROR;
 		break;
 
 	case SO_EE_ORIGIN_ICMP6:
@@ -264,48 +265,23 @@ static void rxrpc_store_error(struct rxrpc_peer *peer,
 		break;
 	}
 
-	peer->error_report = err;
+	rxrpc_distribute_error(peer, err, compl);
 }
 
 /*
- * Distribute an error that occurred on a peer
+ * Distribute an error that occurred on a peer.
  */
-void rxrpc_peer_error_distributor(struct work_struct *work)
+static void rxrpc_distribute_error(struct rxrpc_peer *peer, int error,
+				   enum rxrpc_call_completion compl)
 {
-	struct rxrpc_peer *peer =
-		container_of(work, struct rxrpc_peer, error_distributor);
 	struct rxrpc_call *call;
-	enum rxrpc_call_completion compl;
-	int error;
-
-	_enter("");
-
-	error = READ_ONCE(peer->error_report);
-	if (error < RXRPC_LOCAL_ERROR_OFFSET) {
-		compl = RXRPC_CALL_NETWORK_ERROR;
-	} else {
-		compl = RXRPC_CALL_LOCAL_ERROR;
-		error -= RXRPC_LOCAL_ERROR_OFFSET;
-	}
 
-	_debug("ISSUE ERROR %s %d", rxrpc_call_completions[compl], error);
-
-	spin_lock_bh(&peer->lock);
-
-	while (!hlist_empty(&peer->error_targets)) {
-		call = hlist_entry(peer->error_targets.first,
-				   struct rxrpc_call, error_link);
-		hlist_del_init(&call->error_link);
+	hlist_for_each_entry_rcu(call, &peer->error_targets, error_link) {
 		rxrpc_see_call(call);
-
-		if (rxrpc_set_call_completion(call, compl, 0, -error))
+		if (call->state < RXRPC_CALL_COMPLETE &&
+		    rxrpc_set_call_completion(call, compl, 0, -error))
 			rxrpc_notify_socket(call);
 	}
-
-	spin_unlock_bh(&peer->lock);
-
-	rxrpc_put_peer(peer);
-	_leave("");
 }
 
 /*
diff --git a/net/rxrpc/peer_object.c b/net/rxrpc/peer_object.c
index 24ec7cdcf332..ef4c2e8a35cc 100644
--- a/net/rxrpc/peer_object.c
+++ b/net/rxrpc/peer_object.c
@@ -222,8 +222,6 @@ struct rxrpc_peer *rxrpc_alloc_peer(struct rxrpc_local *local, gfp_t gfp)
 		atomic_set(&peer->usage, 1);
 		peer->local = local;
 		INIT_HLIST_HEAD(&peer->error_targets);
-		INIT_WORK(&peer->error_distributor,
-			  &rxrpc_peer_error_distributor);
 		peer->service_conns = RB_ROOT;
 		seqlock_init(&peer->service_conn_lock);
 		spin_lock_init(&peer->lock);
@@ -415,21 +413,6 @@ struct rxrpc_peer *rxrpc_get_peer_maybe(struct rxrpc_peer *peer)
 	return peer;
 }
 
-/*
- * Queue a peer record.  This passes the caller's ref to the workqueue.
- */
-void __rxrpc_queue_peer_error(struct rxrpc_peer *peer)
-{
-	const void *here = __builtin_return_address(0);
-	int n;
-
-	n = atomic_read(&peer->usage);
-	if (rxrpc_queue_work(&peer->error_distributor))
-		trace_rxrpc_peer(peer, rxrpc_peer_queued_error, n, here);
-	else
-		rxrpc_put_peer(peer);
-}
-
 /*
  * Discard a peer record.
  */
-- 
2.17.1




  parent reply	other threads:[~2018-11-02 18:39 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-02 18:32 [PATCH 4.18 000/150] 4.18.17-stable review Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 001/150] xfrm: Validate address prefix lengths in the xfrm selector Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 002/150] xfrm6: call kfree_skb when skb is toobig Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 003/150] xfrm: reset transport header back to network header after all input transforms ahave been applied Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 004/150] xfrm: reset crypto_done when iterating over multiple input xfrms Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 005/150] mac80211: Always report TX status Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 006/150] cfg80211: reg: Init wiphy_idx in regulatory_hint_core() Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 007/150] mac80211: fix pending queue hang due to TX_DROP Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 008/150] cfg80211: Address some corner cases in scan result channel updating Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 009/150] mac80211: TDLS: fix skb queue/priority assignment Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 010/150] mac80211: fix TX status reporting for ieee80211s Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 011/150] xfrm: Fix NULL pointer dereference when skb_dst_force clears the dst_entry Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 012/150] ARM: 8799/1: mm: fix pci_ioremap_io() offset check Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 013/150] xfrm: validate template mode Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 014/150] drm/i2c: tda9950: fix timeout counter check Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 015/150] drm/i2c: tda9950: set MAX_RETRIES for errors only Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 016/150] netfilter: bridge: Dont sabotage nf_hook calls from an l3mdev Greg Kroah-Hartman
2018-11-02 18:32 ` [PATCH 4.18 017/150] netfilter: conntrack: get rid of double sizeof Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 018/150] arm64: hugetlb: Fix handling of young ptes Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 019/150] ARM: dts: BCM63xx: Fix incorrect interrupt specifiers Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 020/150] net: macb: Clean 64b dma addresses if they are not detected Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 021/150] soc: fsl: qbman: qman: avoid allocating from non existing gen_pool Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 022/150] soc: fsl: qe: Fix copy/paste bug in ucc_get_tdm_sync_shift() Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 023/150] nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 024/150] mac80211_hwsim: fix locking when iterating radios during ns exit Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 025/150] mac80211_hwsim: fix race in radio destruction from netlink notifier Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 026/150] mac80211_hwsim: do not omit multicast announce of first added radio Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 027/150] Bluetooth: SMP: fix crash in unpairing Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 028/150] pxa168fb: prepare the clock Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 029/150] qed: Avoid implicit enum conversion in qed_set_tunn_cls_info Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 030/150] qed: Fix mask parameter in qed_vf_prep_tunn_req_tlv Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 031/150] qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 032/150] qed: Avoid constant logical operation warning in qed_vf_pf_acquire Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 033/150] qed: Avoid implicit enum conversion in qed_iwarp_parse_rx_pkt Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 034/150] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 035/150] scsi: qedi: Initialize the stats mutex lock Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 036/150] rxrpc: Fix checks as to whether we should set up a new call Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 037/150] rxrpc: Fix RTT gathering Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 038/150] rxrpc: Fix transport sockopts to get IPv4 errors on an IPv6 socket Greg Kroah-Hartman
2018-11-02 18:33 ` Greg Kroah-Hartman [this message]
2018-11-02 18:33 ` [PATCH 4.18 040/150] netfilter: nft_set_rbtree: add missing rb_erase() in GC routine Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 041/150] netfilter: avoid erronous array bounds warning Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 042/150] asix: Check for supported Wake-on-LAN modes Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 043/150] ax88179_178a: " Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 044/150] lan78xx: " Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 045/150] sr9800: " Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 046/150] r8152: Check for supported Wake-on-LAN Modes Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 047/150] smsc75xx: Check for Wake-on-LAN modes Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 048/150] smsc95xx: " Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 049/150] cfg80211: fix use-after-free in reg_process_hint() Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 050/150] KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 051/150] KVM: x86: Do not use kvm_x86_ops->mpx_supported() directly Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 052/150] KVM: nVMX: Fix emulation of VM_ENTRY_LOAD_BNDCFGS Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 053/150] perf/core: Fix perf_pmu_unregister() locking Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 054/150] perf/x86/intel/uncore: Use boot_cpu_data.phys_proc_id instead of hardcorded physical package ID 0 Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 055/150] perf/ring_buffer: Prevent concurent ring buffer access Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 056/150] perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 057/150] perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf events Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 058/150] thunderbolt: Do not handle ICM events after domain is stopped Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 059/150] thunderbolt: Initialize after IOMMUs Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 060/150] net: fec: fix rare tx timeout Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 061/150] declance: Fix continuation with the adapter identification message Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 062/150] RISCV: Fix end PFN for low memory Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 063/150] Revert "serial: 8250_dw: Fix runtime PM handling" Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 064/150] locking/ww_mutex: Fix runtime warning in the WW mutex selftest Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 065/150] drm/amd/display: Signal hw_done() after waiting for flip_done() Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 066/150] be2net: dont flip hw_features when VXLANs are added/deleted Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 067/150] powerpc/numa: Skip onlining a offline node in kdump path Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 068/150] net: cxgb3_main: fix a missing-check bug Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 069/150] yam: " Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 070/150] ocfs2: fix crash in ocfs2_duplicate_clusters_by_page() Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 071/150] mm/gup_benchmark: fix unsigned comparison to zero in __gup_benchmark_ioctl Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 072/150] mm/migrate.c: split only transparent huge pages when allocation fails Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 073/150] x86/paravirt: Fix some warning messages Greg Kroah-Hartman
2018-11-02 18:33 ` Greg Kroah-Hartman
2018-11-02 18:33   ` Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 074/150] clk: mvebu: armada-37xx-periph: Remove unused var num_parents Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 075/150] libertas: call into generic suspend code before turning off power Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 076/150] perf report: Dont try to map ip to invalid map Greg Kroah-Hartman
2018-11-02 18:33 ` [PATCH 4.18 077/150] tls: Fix improper revert in zerocopy_from_iter Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 078/150] HID: i2c-hid: Remove RESEND_REPORT_DESCR quirk and its handling Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 079/150] compiler.h: Allow arch-specific asm/compiler.h Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 080/150] ARM: dts: imx53-qsb: disable 1.2GHz OPP Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 081/150] perf python: Use -Wno-redundant-decls to build with PYTHON=python3 Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 082/150] perf record: Use unmapped IP for inline callchain cursors Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 083/150] rxrpc: Dont check RXRPC_CALL_TX_LAST after calling rxrpc_rotate_tx_window() Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 084/150] rxrpc: Carry call state out of locked section in rxrpc_rotate_tx_window() Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 085/150] rxrpc: Only take the rwind and mtu values from latest ACK Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 086/150] rxrpc: Fix connection-level abort handling Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 087/150] KVM: x86: support CONFIG_KVM_AMD=y with CONFIG_CRYPTO_DEV_CCP_DD=m Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 088/150] net: ena: fix warning in rmmod caused by double iounmap Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 089/150] net: ena: fix rare bug when failed restart/resume is followed by driver removal Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 090/150] net: ena: fix NULL dereference due to untimely napi initialization Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 091/150] gpio: Assign gpio_irq_chip::parents to non-stack pointer Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 092/150] IB/mlx5: Unmap DMA addr from HCA before IOMMU Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 093/150] rds: RDS (tcp) hangs on sendto() to unresponding address Greg Kroah-Hartman
2018-11-05  7:38   ` Ka-Cheong Poon
2018-11-05 13:09     ` Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 094/150] selftests: rtnetlink.sh explicitly requires bash Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 095/150] selftests: udpgso_bench.sh " Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 096/150] vmlinux.lds.h: Fix incomplete .text.exit discards Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 097/150] vmlinux.lds.h: Fix linker warnings about orphan .LPBX sections Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 098/150] afs: Fix cell proc list Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 099/150] fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters() Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 100/150] Revert "mm: slowly shrink slabs with a relatively small number of objects" Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 101/150] Revert "netfilter: ipv6: nf_defrag: drop skb dst before queueing" Greg Kroah-Hartman
2018-11-02 18:34   ` Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 102/150] perf tools: Disable parallelism for make clean Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 103/150] bridge: do not add port to router list when receives query with source 0.0.0.0 Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 104/150] ipv6: mcast: fix a use-after-free in inet6_mc_check Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 105/150] ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 106/150] ipv6: rate-limit probes for neighbourless routes Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 107/150] llc: set SOCK_RCU_FREE in llc_sap_add_socket() Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 108/150] net: fec: dont dump RX FIFO register when not available Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 109/150] net/ipv6: Fix index counter for unicast addresses in in6_dump_addrs Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 110/150] net/mlx5e: fix csum adjustments caused by RXFCS Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 111/150] net: sched: gred: pass the right attribute to gred_change_table_def() Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 112/150] net: socket: fix a missing-check bug Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 113/150] net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 114/150] net: udp: fix handling of CHECKSUM_COMPLETE packets Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 115/150] r8169: fix NAPI handling under high load Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 116/150] rtnetlink: Disallow FDB configuration for non-Ethernet device Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 117/150] sctp: fix race on sctp_id2asoc Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 118/150] tipc: fix unsafe rcu locking when accessing publication list Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 119/150] udp6: fix encap return code for resubmitting Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 120/150] vhost: Fix Spectre V1 vulnerability Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 121/150] virtio_net: avoid using netif_tx_disable() for serializing tx routine Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 122/150] ethtool: fix a privilege escalation bug Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 123/150] bonding: fix length of actor system Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 124/150] ip6_tunnel: Fix encapsulation layout Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 125/150] openvswitch: Fix push/pop ethernet validation Greg Kroah-Hartman
2018-11-02 18:34   ` Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 126/150] net: ipmr: fix unresolved entry dumps Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 127/150] net/mlx5: Take only bit 24-26 of wqe.pftype_wq for page fault type Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 128/150] net: bcmgenet: Poll internal PHY for GENETv5 Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 129/150] net: sched: Fix for duplicate class dump Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 130/150] net/sched: cls_api: add missing validation of netlink attributes Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 131/150] net/ipv6: Allow onlink routes to have a device mismatch if it is the default route Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 132/150] sctp: fix the data size calculation in sctp_data_size Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 133/150] sctp: not free the new asoc when sctp_wait_for_connect returns err Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 134/150] net/mlx5: Fix memory leak when setting fpga ipsec caps Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 135/150] net/smc: fix smc_buf_unuse to use the lgr pointer Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 136/150] mlxsw: spectrum_switchdev: Dont ignore deletions of learned MACs Greg Kroah-Hartman
2018-11-02 18:34 ` [PATCH 4.18 137/150] net: bpfilter: use get_pid_task instead of pid_task Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 138/150] net: drop skb on failure in ip_check_defrag() Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 139/150] net: fix pskb_trim_rcsum_slow() with odd trim offset Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 140/150] net/mlx5: WQ, fixes for fragmented WQ buffers API Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 141/150] mlxsw: core: Fix devlink unregister flow Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 142/150] sparc64: Export __node_distance Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 143/150] sparc64: Make corrupted user stacks more debuggable Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 144/150] sparc64: Make proc_id signed Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 145/150] sparc64: Set %l4 properly on trap return after handling signals Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 146/150] sparc64: Wire up compat getpeername and getsockname Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 147/150] sparc: Fix single-pcr perf event counter management Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 148/150] sparc: Fix syscall fallback bugs in VDSO Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 149/150] sparc: Throttle perf events properly Greg Kroah-Hartman
2018-11-02 18:35 ` [PATCH 4.18 150/150] net: bridge: remove ipv6 zero address check in mcast queries Greg Kroah-Hartman
2018-11-02 22:49 ` [PATCH 4.18 000/150] 4.18.17-stable review kernelci.org bot
2018-11-03 14:32 ` Guenter Roeck
2018-11-04  4:16 ` Naresh Kamboju

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=20181102182906.065771667@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dhowells@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.