linux-kernel.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, Vlad Buslov <vladbu@nvidia.com>,
	Roi Dayan <roid@nvidia.com>, Saeed Mahameed <saeedm@nvidia.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.12 032/178] net/mlx5e: Fix use-after-free of encap entry in neigh update handler
Date: Mon, 21 Jun 2021 18:14:06 +0200	[thread overview]
Message-ID: <20210621154923.028591850@linuxfoundation.org> (raw)
In-Reply-To: <20210621154921.212599475@linuxfoundation.org>

From: Vlad Buslov <vladbu@nvidia.com>

[ Upstream commit fb1a3132ee1ac968316e45d21a48703a6db0b6c3 ]

Function mlx5e_rep_neigh_update() wasn't updated to accommodate rtnl lock
removal from TC filter update path and properly handle concurrent encap
entry insertion/deletion which can lead to following use-after-free:

 [23827.464923] ==================================================================
 [23827.469446] BUG: KASAN: use-after-free in mlx5e_encap_take+0x72/0x140 [mlx5_core]
 [23827.470971] Read of size 4 at addr ffff8881d132228c by task kworker/u20:6/21635
 [23827.472251]
 [23827.472615] CPU: 9 PID: 21635 Comm: kworker/u20:6 Not tainted 5.13.0-rc3+ #5
 [23827.473788] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
 [23827.475639] Workqueue: mlx5e mlx5e_rep_neigh_update [mlx5_core]
 [23827.476731] Call Trace:
 [23827.477260]  dump_stack+0xbb/0x107
 [23827.477906]  print_address_description.constprop.0+0x18/0x140
 [23827.478896]  ? mlx5e_encap_take+0x72/0x140 [mlx5_core]
 [23827.479879]  ? mlx5e_encap_take+0x72/0x140 [mlx5_core]
 [23827.480905]  kasan_report.cold+0x7c/0xd8
 [23827.481701]  ? mlx5e_encap_take+0x72/0x140 [mlx5_core]
 [23827.482744]  kasan_check_range+0x145/0x1a0
 [23827.493112]  mlx5e_encap_take+0x72/0x140 [mlx5_core]
 [23827.494054]  ? mlx5e_tc_tun_encap_info_equal_generic+0x140/0x140 [mlx5_core]
 [23827.495296]  mlx5e_rep_neigh_update+0x41e/0x5e0 [mlx5_core]
 [23827.496338]  ? mlx5e_rep_neigh_entry_release+0xb80/0xb80 [mlx5_core]
 [23827.497486]  ? read_word_at_a_time+0xe/0x20
 [23827.498250]  ? strscpy+0xa0/0x2a0
 [23827.498889]  process_one_work+0x8ac/0x14e0
 [23827.499638]  ? lockdep_hardirqs_on_prepare+0x400/0x400
 [23827.500537]  ? pwq_dec_nr_in_flight+0x2c0/0x2c0
 [23827.501359]  ? rwlock_bug.part.0+0x90/0x90
 [23827.502116]  worker_thread+0x53b/0x1220
 [23827.502831]  ? process_one_work+0x14e0/0x14e0
 [23827.503627]  kthread+0x328/0x3f0
 [23827.504254]  ? _raw_spin_unlock_irq+0x24/0x40
 [23827.505065]  ? __kthread_bind_mask+0x90/0x90
 [23827.505912]  ret_from_fork+0x1f/0x30
 [23827.506621]
 [23827.506987] Allocated by task 28248:
 [23827.507694]  kasan_save_stack+0x1b/0x40
 [23827.508476]  __kasan_kmalloc+0x7c/0x90
 [23827.509197]  mlx5e_attach_encap+0xde1/0x1d40 [mlx5_core]
 [23827.510194]  mlx5e_tc_add_fdb_flow+0x397/0xc40 [mlx5_core]
 [23827.511218]  __mlx5e_add_fdb_flow+0x519/0xb30 [mlx5_core]
 [23827.512234]  mlx5e_configure_flower+0x191c/0x4870 [mlx5_core]
 [23827.513298]  tc_setup_cb_add+0x1d5/0x420
 [23827.514023]  fl_hw_replace_filter+0x382/0x6a0 [cls_flower]
 [23827.514975]  fl_change+0x2ceb/0x4a51 [cls_flower]
 [23827.515821]  tc_new_tfilter+0x89a/0x2070
 [23827.516548]  rtnetlink_rcv_msg+0x644/0x8c0
 [23827.517300]  netlink_rcv_skb+0x11d/0x340
 [23827.518021]  netlink_unicast+0x42b/0x700
 [23827.518742]  netlink_sendmsg+0x743/0xc20
 [23827.519467]  sock_sendmsg+0xb2/0xe0
 [23827.520131]  ____sys_sendmsg+0x590/0x770
 [23827.520851]  ___sys_sendmsg+0xd8/0x160
 [23827.521552]  __sys_sendmsg+0xb7/0x140
 [23827.522238]  do_syscall_64+0x3a/0x70
 [23827.522907]  entry_SYSCALL_64_after_hwframe+0x44/0xae
 [23827.523797]
 [23827.524163] Freed by task 25948:
 [23827.524780]  kasan_save_stack+0x1b/0x40
 [23827.525488]  kasan_set_track+0x1c/0x30
 [23827.526187]  kasan_set_free_info+0x20/0x30
 [23827.526968]  __kasan_slab_free+0xed/0x130
 [23827.527709]  slab_free_freelist_hook+0xcf/0x1d0
 [23827.528528]  kmem_cache_free_bulk+0x33a/0x6e0
 [23827.529317]  kfree_rcu_work+0x55f/0xb70
 [23827.530024]  process_one_work+0x8ac/0x14e0
 [23827.530770]  worker_thread+0x53b/0x1220
 [23827.531480]  kthread+0x328/0x3f0
 [23827.532114]  ret_from_fork+0x1f/0x30
 [23827.532785]
 [23827.533147] Last potentially related work creation:
 [23827.534007]  kasan_save_stack+0x1b/0x40
 [23827.534710]  kasan_record_aux_stack+0xab/0xc0
 [23827.535492]  kvfree_call_rcu+0x31/0x7b0
 [23827.536206]  mlx5e_tc_del_fdb_flow+0x577/0xef0 [mlx5_core]
 [23827.537305]  mlx5e_flow_put+0x49/0x80 [mlx5_core]
 [23827.538290]  mlx5e_delete_flower+0x6d1/0xe60 [mlx5_core]
 [23827.539300]  tc_setup_cb_destroy+0x18e/0x2f0
 [23827.540144]  fl_hw_destroy_filter+0x1d2/0x310 [cls_flower]
 [23827.541148]  __fl_delete+0x4dc/0x660 [cls_flower]
 [23827.541985]  fl_delete+0x97/0x160 [cls_flower]
 [23827.542782]  tc_del_tfilter+0x7ab/0x13d0
 [23827.543503]  rtnetlink_rcv_msg+0x644/0x8c0
 [23827.544257]  netlink_rcv_skb+0x11d/0x340
 [23827.544981]  netlink_unicast+0x42b/0x700
 [23827.545700]  netlink_sendmsg+0x743/0xc20
 [23827.546424]  sock_sendmsg+0xb2/0xe0
 [23827.547084]  ____sys_sendmsg+0x590/0x770
 [23827.547850]  ___sys_sendmsg+0xd8/0x160
 [23827.548606]  __sys_sendmsg+0xb7/0x140
 [23827.549303]  do_syscall_64+0x3a/0x70
 [23827.549969]  entry_SYSCALL_64_after_hwframe+0x44/0xae
 [23827.550853]
 [23827.551217] The buggy address belongs to the object at ffff8881d1322200
 [23827.551217]  which belongs to the cache kmalloc-256 of size 256
 [23827.553341] The buggy address is located 140 bytes inside of
 [23827.553341]  256-byte region [ffff8881d1322200, ffff8881d1322300)
 [23827.555747] The buggy address belongs to the page:
 [23827.556847] page:00000000898762aa refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1d1320
 [23827.558651] head:00000000898762aa order:2 compound_mapcount:0 compound_pincount:0
 [23827.559961] flags: 0x2ffff800010200(slab|head|node=0|zone=2|lastcpupid=0x1ffff)
 [23827.561243] raw: 002ffff800010200 dead000000000100 dead000000000122 ffff888100042b40
 [23827.562653] raw: 0000000000000000 0000000000200020 00000001ffffffff 0000000000000000
 [23827.564112] page dumped because: kasan: bad access detected
 [23827.565439]
 [23827.565932] Memory state around the buggy address:
 [23827.566917]  ffff8881d1322180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 [23827.568485]  ffff8881d1322200: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 [23827.569818] >ffff8881d1322280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 [23827.571143]                       ^
 [23827.571879]  ffff8881d1322300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 [23827.573283]  ffff8881d1322380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 [23827.574654] ==================================================================

Most of the necessary logic is already correctly implemented by
mlx5e_get_next_valid_encap() helper that is used in neigh stats update
handler. Make the handler generic by renaming it to
mlx5e_get_next_matching_encap() and use callback to test whether flow is
matching instead of hardcoded check for 'valid' flag value. Implement
mlx5e_get_next_valid_encap() by calling mlx5e_get_next_matching_encap()
with callback that tests encap MLX5_ENCAP_ENTRY_VALID flag. Implement new
mlx5e_get_next_init_encap() helper by calling
mlx5e_get_next_matching_encap() with callback that tests encap completion
result to be non-error and use it in mlx5e_rep_neigh_update() to safely
iterate over nhe->encap_list.

Remove encap completion logic from mlx5e_rep_update_flows() since the encap
entries passed to this function are already guaranteed to be properly
initialized by similar code in mlx5e_get_next_init_encap().

Fixes: 2a1f1768fa17 ("net/mlx5e: Refactor neigh update for concurrent execution")
Signed-off-by: Vlad Buslov <vladbu@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../mellanox/mlx5/core/en/rep/neigh.c         | 15 ++++-----
 .../ethernet/mellanox/mlx5/core/en/rep/tc.c   |  6 +---
 .../mellanox/mlx5/core/en/tc_tun_encap.c      | 33 +++++++++++++++++--
 .../net/ethernet/mellanox/mlx5/core/en_tc.h   |  3 ++
 4 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c
index be0ee03de721..2e9bee4e5209 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c
@@ -129,10 +129,9 @@ static void mlx5e_rep_neigh_update(struct work_struct *work)
 							     work);
 	struct mlx5e_neigh_hash_entry *nhe = update_work->nhe;
 	struct neighbour *n = update_work->n;
+	struct mlx5e_encap_entry *e = NULL;
 	bool neigh_connected, same_dev;
-	struct mlx5e_encap_entry *e;
 	unsigned char ha[ETH_ALEN];
-	struct mlx5e_priv *priv;
 	u8 nud_state, dead;
 
 	rtnl_lock();
@@ -156,14 +155,12 @@ static void mlx5e_rep_neigh_update(struct work_struct *work)
 	if (!same_dev)
 		goto out;
 
-	list_for_each_entry(e, &nhe->encap_list, encap_list) {
-		if (!mlx5e_encap_take(e))
-			continue;
+	/* mlx5e_get_next_init_encap() releases previous encap before returning
+	 * the next one.
+	 */
+	while ((e = mlx5e_get_next_init_encap(nhe, e)) != NULL)
+		mlx5e_rep_update_flows(netdev_priv(e->out_dev), e, neigh_connected, ha);
 
-		priv = netdev_priv(e->out_dev);
-		mlx5e_rep_update_flows(priv, e, neigh_connected, ha);
-		mlx5e_encap_put(priv, e);
-	}
 out:
 	rtnl_unlock();
 	mlx5e_release_neigh_update_work(update_work);
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
index 96ba027dbef3..9992f94f794b 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
@@ -93,13 +93,9 @@ void mlx5e_rep_update_flows(struct mlx5e_priv *priv,
 
 	ASSERT_RTNL();
 
-	/* wait for encap to be fully initialized */
-	wait_for_completion(&e->res_ready);
-
 	mutex_lock(&esw->offloads.encap_tbl_lock);
 	encap_connected = !!(e->flags & MLX5_ENCAP_ENTRY_VALID);
-	if (e->compl_result < 0 || (encap_connected == neigh_connected &&
-				    ether_addr_equal(e->h_dest, ha)))
+	if (encap_connected == neigh_connected && ether_addr_equal(e->h_dest, ha))
 		goto unlock;
 
 	mlx5e_take_all_encap_flows(e, &flow_list);
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c
index 1560fcbf4ac7..a17d79effa27 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c
@@ -250,9 +250,12 @@ static void mlx5e_take_all_route_decap_flows(struct mlx5e_route_entry *r,
 		mlx5e_take_tmp_flow(flow, flow_list, 0);
 }
 
+typedef bool (match_cb)(struct mlx5e_encap_entry *);
+
 static struct mlx5e_encap_entry *
-mlx5e_get_next_valid_encap(struct mlx5e_neigh_hash_entry *nhe,
-			   struct mlx5e_encap_entry *e)
+mlx5e_get_next_matching_encap(struct mlx5e_neigh_hash_entry *nhe,
+			      struct mlx5e_encap_entry *e,
+			      match_cb match)
 {
 	struct mlx5e_encap_entry *next = NULL;
 
@@ -287,7 +290,7 @@ retry:
 	/* wait for encap to be fully initialized */
 	wait_for_completion(&next->res_ready);
 	/* continue searching if encap entry is not in valid state after completion */
-	if (!(next->flags & MLX5_ENCAP_ENTRY_VALID)) {
+	if (!match(next)) {
 		e = next;
 		goto retry;
 	}
@@ -295,6 +298,30 @@ retry:
 	return next;
 }
 
+static bool mlx5e_encap_valid(struct mlx5e_encap_entry *e)
+{
+	return e->flags & MLX5_ENCAP_ENTRY_VALID;
+}
+
+static struct mlx5e_encap_entry *
+mlx5e_get_next_valid_encap(struct mlx5e_neigh_hash_entry *nhe,
+			   struct mlx5e_encap_entry *e)
+{
+	return mlx5e_get_next_matching_encap(nhe, e, mlx5e_encap_valid);
+}
+
+static bool mlx5e_encap_initialized(struct mlx5e_encap_entry *e)
+{
+	return e->compl_result >= 0;
+}
+
+struct mlx5e_encap_entry *
+mlx5e_get_next_init_encap(struct mlx5e_neigh_hash_entry *nhe,
+			  struct mlx5e_encap_entry *e)
+{
+	return mlx5e_get_next_matching_encap(nhe, e, mlx5e_encap_initialized);
+}
+
 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe)
 {
 	struct mlx5e_neigh *m_neigh = &nhe->m_neigh;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.h b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.h
index 25c091795bcd..17027536efba 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.h
@@ -178,6 +178,9 @@ void mlx5e_take_all_encap_flows(struct mlx5e_encap_entry *e, struct list_head *f
 void mlx5e_put_flow_list(struct mlx5e_priv *priv, struct list_head *flow_list);
 
 struct mlx5e_neigh_hash_entry;
+struct mlx5e_encap_entry *
+mlx5e_get_next_init_encap(struct mlx5e_neigh_hash_entry *nhe,
+			  struct mlx5e_encap_entry *e);
 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe);
 
 void mlx5e_tc_reoffload_flows_work(struct work_struct *work);
-- 
2.30.2




  parent reply	other threads:[~2021-06-21 16:38 UTC|newest]

Thread overview: 185+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 16:13 [PATCH 5.12 000/178] 5.12.13-rc1 review Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 001/178] dmaengine: idxd: add engine struct device missing bus type assignment Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 002/178] dmaengine: idxd: add missing dsa driver unregister Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 003/178] dmaengine: fsl-dpaa2-qdma: Fix error return code in two functions Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 004/178] dmaengine: xilinx: dpdma: initialize registers before request_irq Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 005/178] dmaengine: ALTERA_MSGDMA depends on HAS_IOMEM Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 006/178] dmaengine: QCOM_HIDMA_MGMT " Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 007/178] dmaengine: SF_PDMA " Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 008/178] dmaengine: stedma40: add missing iounmap() on error in d40_probe() Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 009/178] afs: Fix an IS_ERR() vs NULL check Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 010/178] mm/memory-failure: make sure wait for page writeback in memory_failure Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 011/178] kvm: LAPIC: Restore guard to prevent illegal APIC register access Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 012/178] fanotify: fix copy_event_to_user() fid error clean up Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 013/178] batman-adv: Avoid WARN_ON timing related checks Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 014/178] staging: rtl8723bs: fix monitor netdev register/unregister Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 015/178] mac80211: fix skb length check in ieee80211_scan_rx() Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 016/178] mlxsw: reg: Spectrum-3: Enforce lowest max-shaper burst size of 11 Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 017/178] mlxsw: core: Set thermal zone polling delay argument to real value at init Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 018/178] libbpf: Fixes incorrect rx_ring_setup_done Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 019/178] net: ipv4: fix memory leak in netlbl_cipsov4_add_std Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 020/178] vrf: fix maximum MTU Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 021/178] net: rds: fix memory leak in rds_recvmsg Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 022/178] net: dsa: felix: re-enable TX flow control in ocelot_port_flush() Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 023/178] net: ena: fix DMA mapping function issues in XDP Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 024/178] net: lantiq: disable interrupt before sheduling NAPI Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.12 025/178] netfilter: nf_tables: initialize set before expression setup Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 026/178] netfilter: nft_fib_ipv6: skip ipv6 packets from any to link-local Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 027/178] ice: add ndo_bpf callback for safe mode netdev ops Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 028/178] ice: parameterize functions responsible for Tx ring management Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 029/178] udp: fix race between close() and udp_abort() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 030/178] rtnetlink: Fix regression in bridge VLAN configuration Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 031/178] net/sched: act_ct: handle DNAT tuple collision Greg Kroah-Hartman
2021-06-21 16:14 ` Greg Kroah-Hartman [this message]
2021-06-21 16:14 ` [PATCH 5.12 033/178] net/mlx5e: Remove dependency in IPsec initialization flows Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 034/178] net/mlx5e: Fix page reclaim for dead peer hairpin Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 035/178] net/mlx5: Consider RoCE cap before init RDMA resources Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 036/178] net/mlx5: DR, Dont use SW steering when RoCE is not supported Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 037/178] Revert "net/mlx5: Arm only EQs with EQEs" Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 038/178] net/mlx5e: Block offload of outer header csum for UDP tunnels Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 039/178] net/mlx5e: Block offload of outer header csum for GRE tunnel Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 040/178] skbuff: fix incorrect msg_zerocopy copy notifications Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 041/178] netfilter: synproxy: Fix out of bounds when parsing TCP options Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 042/178] mptcp: " Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 043/178] sch_cake: Fix out of bounds when parsing TCP options and header Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 044/178] mptcp: try harder to borrow memory from subflow under pressure Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 045/178] mptcp: wake-up readers only for in sequence data Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 046/178] mptcp: do not warn on bad input from the network Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 047/178] selftests: mptcp: enable syncookie only in absence of reorders Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 048/178] mptcp: fix soft lookup in subflow_error_report() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 049/178] alx: Fix an error handling path in alx_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 050/178] cxgb4: fix endianness when flashing boot image Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 051/178] cxgb4: fix sleep in atomic when flashing PHY firmware Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 052/178] cxgb4: halt chip before flashing PHY firmware image Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 053/178] net: stmmac: dwmac1000: Fix extended MAC address registers definition Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 054/178] net: make get_net_ns return error if NET_NS is disabled Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 055/178] net: qualcomm: rmnet: dont over-count statistics Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 056/178] ethtool: strset: fix message length calculation Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 057/178] qlcnic: Fix an error handling path in qlcnic_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 058/178] netxen_nic: Fix an error handling path in netxen_nic_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 059/178] cxgb4: fix wrong ethtool n-tuple rule lookup Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 060/178] ipv4: Fix device used for dst_alloc with local routes Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 061/178] net: qrtr: fix OOB Read in qrtr_endpoint_post Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 062/178] bpf: Fix leakage under speculation on mispredicted branches Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 063/178] net: mhi_net: Update the transmit handler prototype Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 064/178] ptp: improve max_adj check against unreasonable values Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 065/178] net: cdc_ncm: switch to eth%d interface naming Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 066/178] lantiq: net: fix duplicated skb in rx descriptor ring Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 067/178] net: usb: fix possible use-after-free in smsc75xx_bind Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 068/178] net: fec_ptp: fix issue caused by refactor the fec_devtype Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 069/178] net: ipv4: fix memory leak in ip_mc_add1_src Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 070/178] net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 071/178] net/mlx5: Fix error path for set HCA defaults Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 072/178] net/mlx5: Check that driver was probed prior attaching the device Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 073/178] net/mlx5: E-Switch, Read PF mac address Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 074/178] net/mlx5: E-Switch, Allow setting GUID for host PF vport Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 075/178] net/mlx5: SF_DEV, remove SF device on invalid state Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 076/178] net/mlx5: DR, Fix STEv1 incorrect L3 decapsulation padding Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 077/178] net/mlx5e: Dont create devices during unload flow Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 078/178] net/mlx5: Reset mkey index on creation Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 079/178] be2net: Fix an error handling path in be_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 080/178] net: hamradio: fix memory leak in mkiss_close Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 081/178] net: cdc_eem: fix tx fixup skb leak Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 082/178] cxgb4: fix wrong shift Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 083/178] bnxt_en: Rediscover PHY capabilities after firmware reset Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 084/178] bnxt_en: Fix TQM fastpath ring backing store computation Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.12 085/178] bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 086/178] icmp: dont send out ICMP messages with a source address of 0.0.0.0 Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 087/178] net: ethernet: fix potential use-after-free in ec_bhf_remove Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 088/178] regulator: cros-ec: Fix error code in dev_err message Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 089/178] regulator: max77620: Silence deferred probe error Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 090/178] regulator: bd70528: Fix off-by-one for buck123 .n_voltages setting Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 091/178] platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 092/178] ASoC: rt5659: Fix the lost powers for the HDA header Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 093/178] phy: phy-mtk-tphy: Fix some resource leaks in mtk_phy_init() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 094/178] ASoC: fsl-asoc-card: Set .owner attribute when registering card Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 095/178] regulator: mt6315: Fix function prototype for mt6315_map_mode Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 096/178] regulator: rtmv20: Fix to make regcache value first reading back from HW Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 097/178] spi: spi-zynq-qspi: Fix some wrong goto jumps & missing error code Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 098/178] sched/pelt: Ensure that *_sum is always synced with *_avg Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 099/178] ASoC: tas2562: Fix TDM_CFG0_SAMPRATE values Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 100/178] regulator: hi6421v600: Fix .vsel_mask setting Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 101/178] spi: stm32-qspi: Always wait BUSY bit to be cleared in stm32_qspi_wait_cmd() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 102/178] regulator: rt4801: Fix NULL pointer dereference if priv->enable_gpios is NULL Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 103/178] ASoC: rt5682: Fix the fast discharge for headset unplugging in soundwire mode Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 104/178] pinctrl: ralink: rt2880: avoid to error in calls is pin is already enabled Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 105/178] drm/sun4i: dw-hdmi: Make HDMI PHY into a platform device Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 106/178] ASoC: qcom: lpass-cpu: Fix pop noise during audio capture begin Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 107/178] radeon: use memcpy_to/fromio for UVD fw upload Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 108/178] hwmon: (scpi-hwmon) shows the negative temperature properly Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 109/178] riscv: code patching only works on !XIP_KERNEL Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 110/178] mm: relocate write_protect_seq in struct mm_struct Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 111/178] irqchip/gic-v3: Workaround inconsistent PMR setting on NMI entry Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 112/178] sched/fair: Correctly insert cfs_rqs to list on unthrottle Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 113/178] perf metricgroup: Fix find_evsel_group() event selector Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 114/178] perf metricgroup: Return error code from metricgroup__add_metric_sys_event_iter() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 115/178] bpf: Inherit expanded/patched seen count from old aux data Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 116/178] bpf: Do not mark insn as seen under speculative path verification Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 117/178] can: bcm: fix infoleak in struct bcm_msg_head Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 118/178] can: bcm/raw/isotp: use per module netdevice notifier Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 119/178] can: j1939: fix Use-after-Free, hold skb ref while in use Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 120/178] can: mcba_usb: fix memory leak in mcba_usb Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 121/178] usb: core: hub: Disable autosuspend for Cypress CY7C65632 Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 122/178] usb: chipidea: imx: Fix Battery Charger 1.2 CDP detection Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 123/178] tracing: Do not stop recording cmdlines when tracing is off Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 124/178] tracing: Do not stop recording comms if the trace file is being read Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 125/178] tracing: Do no increment trace_clock_global() by one Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 126/178] PCI: Mark TI C667X to avoid bus reset Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 127/178] PCI: Mark some NVIDIA GPUs " Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 128/178] PCI: Mark AMD Navi14 GPU ATS as broken Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 129/178] PCI: aardvark: Fix kernel panic during PIO transfer Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 130/178] PCI: Add ACS quirk for Broadcom BCM57414 NIC Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 131/178] PCI: Work around Huawei Intelligent NIC VF FLR erratum Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 132/178] btrfs: zoned: fix negative space_info->bytes_readonly Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 133/178] s390/mcck: fix invalid KVM guest condition check Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 134/178] KVM: x86: Immediately reset the MMU context when the SMM flag is cleared Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 135/178] KVM: x86/mmu: Calculate and check "full" mmu_role for nested MMU Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 136/178] KVM: X86: Fix x86_emulator slab cache leak Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 137/178] s390/mcck: fix calculation of SIE critical section size Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 138/178] s390/ap: Fix hanging ioctl caused by wrong msg counter Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 139/178] ARCv2: save ABI registers across signal handling Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 140/178] x86/mm: Avoid truncating memblocks for SGX memory Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 141/178] x86/process: Check PF_KTHREAD and not current->mm for kernel threads Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 142/178] x86/ioremap: Map EFI-reserved memory as encrypted for SEV Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 143/178] x86/pkru: Write hardware init value to PKRU when xstate is init Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 144/178] x86/fpu: Prevent state corruption in __fpu__restore_sig() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.12 145/178] x86/fpu: Invalidate FPU state after a failed XRSTOR from a user buffer Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 146/178] x86/fpu: Reset state for all signal restore failures Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 147/178] powerpc/perf: Fix crash in perf_instruction_pointer() when ppmu is not set Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 148/178] Makefile: lto: Pass -warn-stack-size only on LLD < 13.0.0 Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 149/178] crash_core, vmcoreinfo: append SECTION_SIZE_BITS to vmcoreinfo Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 150/178] dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclc Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 151/178] mac80211: fix deadlock in AP/VLAN handling Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 152/178] mac80211: Fix NULL ptr deref for injected rate info Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 153/178] mac80211: fix reset debugfs locking Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 154/178] cfg80211: fix phy80211 symlink creation Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 155/178] cfg80211: shut down interfaces on failed resume Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 156/178] mac80211: move interface shutdown out of wiphy lock Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 157/178] mac80211: minstrel_ht: fix sample time check Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 158/178] cfg80211: make certificate generation more robust Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 159/178] cfg80211: avoid double free of PMSR request Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 160/178] drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 161/178] drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 162/178] net: ll_temac: Make sure to free skb when it is completely used Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 163/178] net: ll_temac: Fix TX BD buffer overwrite Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 164/178] net: bridge: fix vlan tunnel dst null pointer dereference Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 165/178] net: bridge: fix vlan tunnel dst refcnt when egressing Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 166/178] mm,hwpoison: fix race with hugetlb page allocation Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 167/178] mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 168/178] mm/hugetlb: expand restore_reserve_on_error functionality Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 169/178] mm/slub: clarify verification reporting Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 170/178] mm/slub: fix redzoning for small allocations Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 171/178] mm/slub: actually fix freelist pointer vs redzoning Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 172/178] mm/slub.c: include swab.h Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 173/178] net: stmmac: disable clocks in stmmac_remove_config_dt() Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 174/178] net: fec_ptp: add clock rate zero check Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 175/178] tools headers UAPI: Sync linux/in.h copy with the kernel sources Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 176/178] perf beauty: Update copy of linux/socket.h " Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 177/178] usb: dwc3: debugfs: Add and remove endpoint dirs dynamically Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.12 178/178] usb: dwc3: core: fix kernel panic when do reboot Greg Kroah-Hartman
2021-06-21 19:39 ` [PATCH 5.12 000/178] 5.12.13-rc1 review Florian Fainelli
2021-06-22  2:16 ` Naresh Kamboju
2021-06-22 21:35 ` Guenter Roeck
2021-06-22 23:58 ` Shuah Khan
2021-06-23  1:58 ` Rudi Heitbaum
2021-06-23 15:12 ` Fox Chen

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=20210621154923.028591850@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roid@nvidia.com \
    --cc=saeedm@nvidia.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=vladbu@nvidia.com \
    /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).