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, Eric Dumazet <edumazet@google.com>,
	Michal Kubecek <mkubecek@suse.cz>, Firo Yang <firo.yang@suse.com>,
	Jakub Kicinski <jakub.kicinski@netronome.com>
Subject: [PATCH 4.9 168/171] tcp/dccp: fix possible race __inet_lookup_established()
Date: Thu,  2 Jan 2020 23:08:19 +0100	[thread overview]
Message-ID: <20200102220609.977307127@linuxfoundation.org> (raw)
In-Reply-To: <20200102220546.960200039@linuxfoundation.org>

From: Eric Dumazet <edumazet@google.com>

commit 8dbd76e79a16b45b2ccb01d2f2e08dbf64e71e40 upstream.

Michal Kubecek and Firo Yang did a very nice analysis of crashes
happening in __inet_lookup_established().

Since a TCP socket can go from TCP_ESTABLISH to TCP_LISTEN
(via a close()/socket()/listen() cycle) without a RCU grace period,
I should not have changed listeners linkage in their hash table.

They must use the nulls protocol (Documentation/RCU/rculist_nulls.txt),
so that a lookup can detect a socket in a hash list was moved in
another one.

Since we added code in commit d296ba60d8e2 ("soreuseport: Resolve
merge conflict for v4/v6 ordering fix"), we have to add
hlist_nulls_add_tail_rcu() helper.

Fixes: 3b24d854cb35 ("tcp/dccp: do not touch listener sk_refcnt under synflood")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Michal Kubecek <mkubecek@suse.cz>
Reported-by: Firo Yang <firo.yang@suse.com>
Reviewed-by: Michal Kubecek <mkubecek@suse.cz>
Link: https://lore.kernel.org/netdev/20191120083919.GH27852@unicorn.suse.cz/
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
[stable-4.9: we also need to update code in __inet_lookup_listener() and
 inet6_lookup_listener() which has been removed in 5.0-rc1.]
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 include/linux/rculist_nulls.h |   37 +++++++++++++++++++++++++++++++++++++
 include/net/inet_hashtables.h |   12 +++++++++---
 include/net/sock.h            |    5 +++++
 net/ipv4/inet_diag.c          |    3 ++-
 net/ipv4/inet_hashtables.c    |   18 +++++++++---------
 net/ipv4/tcp_ipv4.c           |    7 ++++---
 net/ipv6/inet6_hashtables.c   |    3 ++-
 7 files changed, 68 insertions(+), 17 deletions(-)

--- a/include/linux/rculist_nulls.h
+++ b/include/linux/rculist_nulls.h
@@ -100,6 +100,43 @@ static inline void hlist_nulls_add_head_
 }
 
 /**
+ * hlist_nulls_add_tail_rcu
+ * @n: the element to add to the hash list.
+ * @h: the list to add to.
+ *
+ * Description:
+ * Adds the specified element to the specified hlist_nulls,
+ * while permitting racing traversals.
+ *
+ * The caller must take whatever precautions are necessary
+ * (such as holding appropriate locks) to avoid racing
+ * with another list-mutation primitive, such as hlist_nulls_add_head_rcu()
+ * or hlist_nulls_del_rcu(), running on this same list.
+ * However, it is perfectly legal to run concurrently with
+ * the _rcu list-traversal primitives, such as
+ * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency
+ * problems on Alpha CPUs.  Regardless of the type of CPU, the
+ * list-traversal primitive must be guarded by rcu_read_lock().
+ */
+static inline void hlist_nulls_add_tail_rcu(struct hlist_nulls_node *n,
+					    struct hlist_nulls_head *h)
+{
+	struct hlist_nulls_node *i, *last = NULL;
+
+	/* Note: write side code, so rcu accessors are not needed. */
+	for (i = h->first; !is_a_nulls(i); i = i->next)
+		last = i;
+
+	if (last) {
+		n->next = last->next;
+		n->pprev = &last->next;
+		rcu_assign_pointer(hlist_next_rcu(last), n);
+	} else {
+		hlist_nulls_add_head_rcu(n, h);
+	}
+}
+
+/**
  * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type
  * @tpos:	the type * to use as a loop cursor.
  * @pos:	the &struct hlist_nulls_node to use as a loop cursor.
--- a/include/net/inet_hashtables.h
+++ b/include/net/inet_hashtables.h
@@ -98,12 +98,18 @@ struct inet_bind_hashbucket {
 	struct hlist_head	chain;
 };
 
-/*
- * Sockets can be hashed in established or listening table
+/* Sockets can be hashed in established or listening table.
+ * We must use different 'nulls' end-of-chain value for all hash buckets :
+ * A socket might transition from ESTABLISH to LISTEN state without
+ * RCU grace period. A lookup in ehash table needs to handle this case.
  */
+#define LISTENING_NULLS_BASE (1U << 29)
 struct inet_listen_hashbucket {
 	spinlock_t		lock;
-	struct hlist_head	head;
+	union {
+		struct hlist_head	head;
+		struct hlist_nulls_head	nulls_head;
+	};
 };
 
 /* This is for listening sockets, thus all sockets which possess wildcards. */
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -661,6 +661,11 @@ static inline void __sk_nulls_add_node_r
 	hlist_nulls_add_head_rcu(&sk->sk_nulls_node, list);
 }
 
+static inline void __sk_nulls_add_node_tail_rcu(struct sock *sk, struct hlist_nulls_head *list)
+{
+	hlist_nulls_add_tail_rcu(&sk->sk_nulls_node, list);
+}
+
 static inline void sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list)
 {
 	sock_hold(sk);
--- a/net/ipv4/inet_diag.c
+++ b/net/ipv4/inet_diag.c
@@ -868,12 +868,13 @@ void inet_diag_dump_icsk(struct inet_has
 
 		for (i = s_i; i < INET_LHTABLE_SIZE; i++) {
 			struct inet_listen_hashbucket *ilb;
+			struct hlist_nulls_node *node;
 			struct sock *sk;
 
 			num = 0;
 			ilb = &hashinfo->listening_hash[i];
 			spin_lock_bh(&ilb->lock);
-			sk_for_each(sk, &ilb->head) {
+			sk_nulls_for_each(sk, node, &ilb->nulls_head) {
 				struct inet_sock *inet = inet_sk(sk);
 
 				if (!net_eq(sock_net(sk), net))
--- a/net/ipv4/inet_hashtables.c
+++ b/net/ipv4/inet_hashtables.c
@@ -218,9 +218,10 @@ struct sock *__inet_lookup_listener(stru
 	int score, hiscore = 0, matches = 0, reuseport = 0;
 	bool exact_dif = inet_exact_dif_match(net, skb);
 	struct sock *sk, *result = NULL;
+	struct hlist_nulls_node *node;
 	u32 phash = 0;
 
-	sk_for_each_rcu(sk, &ilb->head) {
+	sk_nulls_for_each_rcu(sk, node, &ilb->nulls_head) {
 		score = compute_score(sk, net, hnum, daddr, dif, exact_dif);
 		if (score > hiscore) {
 			reuseport = sk->sk_reuseport;
@@ -441,10 +442,11 @@ static int inet_reuseport_add_sock(struc
 						     bool match_wildcard))
 {
 	struct inet_bind_bucket *tb = inet_csk(sk)->icsk_bind_hash;
+	const struct hlist_nulls_node *node;
 	struct sock *sk2;
 	kuid_t uid = sock_i_uid(sk);
 
-	sk_for_each_rcu(sk2, &ilb->head) {
+	sk_nulls_for_each_rcu(sk2, node, &ilb->nulls_head) {
 		if (sk2 != sk &&
 		    sk2->sk_family == sk->sk_family &&
 		    ipv6_only_sock(sk2) == ipv6_only_sock(sk) &&
@@ -482,9 +484,9 @@ int __inet_hash(struct sock *sk, struct
 	}
 	if (IS_ENABLED(CONFIG_IPV6) && sk->sk_reuseport &&
 		sk->sk_family == AF_INET6)
-		hlist_add_tail_rcu(&sk->sk_node, &ilb->head);
+		__sk_nulls_add_node_tail_rcu(sk, &ilb->nulls_head);
 	else
-		hlist_add_head_rcu(&sk->sk_node, &ilb->head);
+		__sk_nulls_add_node_rcu(sk, &ilb->nulls_head);
 	sock_set_flag(sk, SOCK_RCU_FREE);
 	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
 unlock:
@@ -527,10 +529,7 @@ void inet_unhash(struct sock *sk)
 	spin_lock_bh(lock);
 	if (rcu_access_pointer(sk->sk_reuseport_cb))
 		reuseport_detach_sock(sk);
-	if (listener)
-		done = __sk_del_node_init(sk);
-	else
-		done = __sk_nulls_del_node_init_rcu(sk);
+	done = __sk_nulls_del_node_init_rcu(sk);
 	if (done)
 		sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
 	spin_unlock_bh(lock);
@@ -666,7 +665,8 @@ void inet_hashinfo_init(struct inet_hash
 
 	for (i = 0; i < INET_LHTABLE_SIZE; i++) {
 		spin_lock_init(&h->listening_hash[i].lock);
-		INIT_HLIST_HEAD(&h->listening_hash[i].head);
+		INIT_HLIST_NULLS_HEAD(&h->listening_hash[i].nulls_head,
+				      i + LISTENING_NULLS_BASE);
 	}
 }
 EXPORT_SYMBOL_GPL(inet_hashinfo_init);
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1917,13 +1917,14 @@ static void *listening_get_next(struct s
 	struct tcp_iter_state *st = seq->private;
 	struct net *net = seq_file_net(seq);
 	struct inet_listen_hashbucket *ilb;
+	struct hlist_nulls_node *node;
 	struct sock *sk = cur;
 
 	if (!sk) {
 get_head:
 		ilb = &tcp_hashinfo.listening_hash[st->bucket];
 		spin_lock_bh(&ilb->lock);
-		sk = sk_head(&ilb->head);
+		sk = sk_nulls_head(&ilb->nulls_head);
 		st->offset = 0;
 		goto get_sk;
 	}
@@ -1931,9 +1932,9 @@ get_head:
 	++st->num;
 	++st->offset;
 
-	sk = sk_next(sk);
+	sk = sk_nulls_next(sk);
 get_sk:
-	sk_for_each_from(sk) {
+	sk_nulls_for_each_from(sk, node) {
 		if (!net_eq(sock_net(sk), net))
 			continue;
 		if (sk->sk_family == st->family)
--- a/net/ipv6/inet6_hashtables.c
+++ b/net/ipv6/inet6_hashtables.c
@@ -133,9 +133,10 @@ struct sock *inet6_lookup_listener(struc
 	int score, hiscore = 0, matches = 0, reuseport = 0;
 	bool exact_dif = inet6_exact_dif_match(net, skb);
 	struct sock *sk, *result = NULL;
+	struct hlist_nulls_node *node;
 	u32 phash = 0;
 
-	sk_for_each(sk, &ilb->head) {
+	sk_nulls_for_each(sk, node, &ilb->nulls_head) {
 		score = compute_score(sk, net, hnum, daddr, dif, exact_dif);
 		if (score > hiscore) {
 			reuseport = sk->sk_reuseport;



  parent reply	other threads:[~2020-01-02 22:44 UTC|newest]

Thread overview: 178+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-02 22:05 [PATCH 4.9 000/171] 4.9.208-stable review Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 001/171] btrfs: skip log replay on orphaned roots Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 002/171] btrfs: do not leak reloc root if we fail to read the fs root Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 003/171] btrfs: handle ENOENT in btrfs_uuid_tree_iterate Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 004/171] ALSA: pcm: Avoid possible info leaks from PCM stream buffers Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 005/171] ALSA: hda/ca0132 - Keep power on during processing DSP response Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 006/171] ALSA: hda/ca0132 - Avoid endless loop Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 007/171] drm: mst: Fix query_payload ack reply struct Greg Kroah-Hartman
2020-01-02 22:05   ` Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 008/171] drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 009/171] iio: light: bh1750: Resolve compiler warning and make code more readable Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 010/171] spi: Add call to spi_slave_abort() function when spidev driver is released Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 011/171] staging: rtl8192u: fix multiple memory leaks on error path Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 012/171] staging: rtl8188eu: fix possible null dereference Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 013/171] rtlwifi: prevent memory leak in rtl_usb_probe Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 014/171] libertas: fix a potential NULL pointer dereference Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 015/171] IB/iser: bound protection_sg size by data_sg size Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 016/171] media: am437x-vpfe: Setting STD to current value is not an error Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 017/171] media: i2c: ov2659: fix s_stream return value Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 018/171] media: i2c: ov2659: Fix missing 720p register config Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 019/171] media: ov6650: Fix stored frame format not in sync with hardware Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 020/171] tools/power/cpupower: Fix initializer override in hsw_ext_cstates Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 021/171] usb: renesas_usbhs: add suspend event support in gadget mode Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 022/171] hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 023/171] regulator: max8907: Fix the usage of uninitialized variable in max8907_regulator_probe() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 024/171] media: flexcop-usb: fix NULL-ptr deref in flexcop_usb_transfer_init() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 025/171] media: cec-funcs.h: add status_req checks Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 026/171] samples: pktgen: fix proc_cmd command result check logic Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 027/171] mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 4.9 028/171] media: ti-vpe: vpe: fix a v4l2-compliance warning about invalid pixel format Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 029/171] media: ti-vpe: vpe: fix a v4l2-compliance failure about frame sequence number Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 030/171] media: ti-vpe: vpe: Make sure YUYV is set as default format Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 031/171] extcon: sm5502: Reset registers during initialization Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 032/171] x86/mm: Use the correct function type for native_set_fixmap() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 033/171] perf test: Report failure for mmap events Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 034/171] perf report: Add warning when libunwind not compiled in Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 035/171] usb: usbfs: Suppress problematic bind and unbind uevents Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 036/171] iio: adc: max1027: Reset the device at probe time Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 037/171] Bluetooth: hci_core: fix init for HCI_USER_CHANNEL Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 038/171] x86/mce: Lower throttling MCE messages priority to warning Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 039/171] drm/gma500: fix memory disclosures due to uninitialized bytes Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 040/171] rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 041/171] x86/ioapic: Prevent inconsistent state when moving an interrupt Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 042/171] arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 043/171] libata: Ensure ata_port probe has completed before detach Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 044/171] pinctrl: sh-pfc: sh7734: Fix duplicate TCLK1_B Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 045/171] Bluetooth: Fix advertising duplicated flags Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 046/171] bnx2x: Fix PF-VF communication over multi-cos queues Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 047/171] spi: img-spfi: fix potential double release Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 048/171] ALSA: timer: Limit max amount of slave instances Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 049/171] rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 050/171] perf probe: Fix to find range-only function instance Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 051/171] perf probe: Fix to list probe event with correct line number Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 052/171] perf probe: Walk function lines in lexical blocks Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 053/171] perf probe: Fix to probe an inline function which has no entry pc Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 054/171] perf probe: Fix to show ranges of variables in functions without entry_pc Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 055/171] perf probe: Fix to show inlined function callsite " Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 056/171] perf probe: Fix to probe a function which has no entry pc Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 057/171] perf probe: Skip overlapped location on searching variables Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 058/171] perf probe: Return a better scope DIE if there is no best scope Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 059/171] perf probe: Fix to show calling lines of inlined functions Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 060/171] perf probe: Skip end-of-sequence and non statement lines Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 061/171] perf probe: Filter out instances except for inlined subroutine and subprogram Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 062/171] ath10k: fix get invalid tx rate for Mesh metric Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 063/171] media: pvrusb2: Fix oops on tear-down when radio support is not present Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 064/171] media: si470x-i2c: add missed operations in remove Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 065/171] EDAC/ghes: Fix grain calculation Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 066/171] spi: pxa2xx: Add missed security checks Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 067/171] ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 068/171] s390/disassembler: dont hide instruction addresses Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 069/171] parport: load lowlevel driver if ports not found Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 070/171] cpufreq: Register drivers only after CPU devices have been registered Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 071/171] x86/crash: Add a forward declaration of struct kimage Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 072/171] iwlwifi: mvm: fix unaligned read of rx_pkt_status Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 073/171] spi: tegra20-slink: add missed clk_unprepare Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 074/171] mmc: tmio: Add MMC_CAP_ERASE to allow erase/discard/trim requests Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 075/171] btrfs: dont prematurely free work in end_workqueue_fn() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 076/171] btrfs: dont prematurely free work in run_ordered_work() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 077/171] spi: st-ssc4: add missed pm_runtime_disable Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 078/171] x86/insn: Add some Intel instructions to the opcode map Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 079/171] iwlwifi: check kasprintf() return value Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 080/171] fbtft: Make sure string is NULL terminated Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 081/171] crypto: sun4i-ss - Fix 64-bit size_t warnings on sun4i-ss-hash.c Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 082/171] crypto: vmx - Avoid weird build failures Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 083/171] libtraceevent: Fix memory leakage in copy_filter_type Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 084/171] net: phy: initialise phydev speed and duplex sanely Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 085/171] btrfs: dont prematurely free work in reada_start_machine_worker() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 086/171] Revert "mmc: sdhci: Fix incorrect switch to HS mode" Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 087/171] usb: xhci: Fix build warning seen with CONFIG_PM=n Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 4.9 088/171] btrfs: dont double lock the subvol_sem for rename exchange Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 089/171] btrfs: do not call synchronize_srcu() in inode_tree_del Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 090/171] btrfs: return error pointer from alloc_test_extent_buffer Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 091/171] btrfs: abort transaction after failed inode updates in create_subvol Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 092/171] Btrfs: fix removal logic of the tree mod log that leads to use-after-free issues Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 093/171] af_packet: set defaule value for tmo Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 094/171] fjes: fix missed check in fjes_acpi_add Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 095/171] mod_devicetable: fix PHY module format Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 096/171] net: hisilicon: Fix a BUG trigered by wrong bytes_compl Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 097/171] net: nfc: nci: fix a possible sleep-in-atomic-context bug in nci_uart_tty_receive() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 098/171] net: qlogic: Fix error paths in ql_alloc_large_buffers() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 099/171] net: usb: lan78xx: Fix suspend/resume PHY register access error Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 100/171] sctp: fully initialize v4 addr in some functions Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 101/171] net: dst: Force 4-byte alignment of dst_metrics Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 102/171] usbip: Fix error path of vhci_recv_ret_submit() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 103/171] USB: EHCI: Do not return -EPIPE when hub is disconnected Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 104/171] platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 bytes Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 105/171] staging: comedi: gsc_hpdi: check dma_alloc_coherent() return value Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 106/171] ext4: fix ext4_empty_dir() for directories with holes Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 107/171] ext4: check for directory entries too close to block end Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 108/171] powerpc/irq: fix stack overflow verification Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 109/171] mmc: sdhci-of-esdhc: fix P2020 errata handling Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 110/171] perf probe: Fix to show function entry line as probe-able Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 111/171] scsi: mpt3sas: Fix clear pending bit in ioctl status Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 112/171] scsi: lpfc: Fix locking on mailbox command completion Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 113/171] Input: atmel_mxt_ts - disable IRQ across suspend Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 114/171] iommu/tegra-smmu: Fix page tables in > 4 GiB memory Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 115/171] scsi: target: compare full CHAP_A Algorithm strings Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 116/171] scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 117/171] scsi: csiostor: Dont enable IRQs too early Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 118/171] powerpc/pseries: Mark accumulate_stolen_time() as notrace Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 119/171] powerpc/pseries: Dont fail hash page table insert for bolted mapping Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 120/171] dma-debug: add a schedule point in debug_dma_dump_mappings() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 121/171] clocksource/drivers/asm9260: Add a check for of_clk_get Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 122/171] powerpc/security/book3s64: Report L1TF status in sysfs Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 123/171] powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 124/171] jbd2: Fix statistics for the number of logged blocks Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 125/171] scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 126/171] scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 127/171] clk: qcom: Allow constant ratio freq tables for rcg Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 128/171] irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 129/171] irqchip: ingenic: Error out if IRQ domain creation failed Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 130/171] mfd: mfd-core: Honour Device Trees request to disable a child-device Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 131/171] fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 132/171] scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 133/171] scsi: ufs: fix potential bug which ends in system hang Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 134/171] powerpc/pseries/cmm: Implement release() function for sysfs device Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 135/171] powerpc/security: Fix wrong message when RFI Flush is disable Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 136/171] scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 137/171] clk: pxa: fix one of the pxa RTC clocks Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 138/171] bcache: at least try to shrink 1 node in bch_mca_scan() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 139/171] HID: Improve Windows Precision Touchpad detection Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 140/171] ext4: work around deleting a file with i_nlink == 0 safely Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 141/171] scsi: pm80xx: Fix for SATA device discovery Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 142/171] scsi: scsi_debug: num_tgts must be >= 0 Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 143/171] scsi: target: iscsi: Wait for all commands to finish before freeing a session Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 144/171] gpio: mpc8xxx: Dont overwrite default irq_set_type callback Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 145/171] scripts/kallsyms: fix definitely-lost memory leak Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 146/171] cdrom: respect device capabilities during opening action Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 147/171] perf regs: Make perf_reg_name() return "unknown" instead of NULL Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 4.9 148/171] libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 149/171] s390/cpum_sf: Check for SDBT and SDB consistency Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 150/171] ocfs2: fix passing zero to PTR_ERR warning Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 151/171] kernel: sysctl: make drop_caches write-only Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 152/171] x86/mce: Fix possibly incorrect severity calculation on AMD Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 153/171] net, sysctl: Fix compiler warning when only cBPF is present Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 154/171] ALSA: hda - Downgrade error message for single-cmd fallback Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 155/171] perf strbuf: Remove redundant va_end() in strbuf_addv() Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 156/171] Make filldir[64]() verify the directory entry filename is valid Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 157/171] filldir[64]: remove WARN_ON_ONCE() for bad directory entries Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 158/171] netfilter: ebtables: compat: reject all padding in matches/watchers Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 159/171] 6pack,mkiss: fix possible deadlock Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 160/171] netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 161/171] net: icmp: fix data-race in cmp_global_allow() Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 162/171] hrtimer: Annotate lockless access to timer->state Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 163/171] tty/serial: atmel: fix out of range clock divider handling Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 164/171] pinctrl: baytrail: Really serialize all register accesses Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 165/171] mmc: sdhci: Update the tuning failed messages to pr_debug level Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 166/171] net: ena: fix napi handler misbehavior when the napi budget is zero Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 167/171] vhost/vsock: accept only packets with the right dst_cid Greg Kroah-Hartman
2020-01-02 22:08 ` Greg Kroah-Hartman [this message]
2020-01-02 22:08 ` [PATCH 4.9 169/171] tcp: do not send empty skb from tcp_write_xmit() Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 170/171] gtp: fix wrong condition in gtp_genl_dump_pdp() Greg Kroah-Hartman
2020-01-02 22:08 ` [PATCH 4.9 171/171] gtp: avoid zero size hashtable Greg Kroah-Hartman
2020-01-03  6:26 ` [PATCH 4.9 000/171] 4.9.208-stable review Naresh Kamboju
2020-01-03 14:52 ` Guenter Roeck
2020-01-03 17:50 ` Jon Hunter
2020-01-03 17:50   ` Jon Hunter
2020-01-03 21:51 ` shuah

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=20200102220609.977307127@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=edumazet@google.com \
    --cc=firo.yang@suse.com \
    --cc=jakub.kicinski@netronome.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkubecek@suse.cz \
    --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.