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, Taehee Yoo <ap420073@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 020/167] bonding: Add struct bond_ipesc to manage SA
Date: Mon, 26 Jul 2021 17:37:33 +0200	[thread overview]
Message-ID: <20210726153840.045301852@linuxfoundation.org> (raw)
In-Reply-To: <20210726153839.371771838@linuxfoundation.org>

From: Taehee Yoo <ap420073@gmail.com>

[ Upstream commit 9a5605505d9c7dbfdb89cc29a8f5fc5cf9fd2334 ]

bonding has been supporting ipsec offload.
When SA is added, bonding just passes SA to its own active real interface.
But it doesn't manage SA.
So, when events(add/del real interface, active real interface change, etc)
occur, bonding can't handle that well because It doesn't manage SA.
So some problems(panic, UAF, refcnt leak)occur.

In order to make it stable, it should manage SA.
That's the reason why struct bond_ipsec is added.
When a new SA is added to bonding interface, it is stored in the
bond_ipsec list. And the SA is passed to a current active real interface.
If events occur, it uses bond_ipsec data to handle these events.
bond->ipsec_list is protected by bond->ipsec_lock.

If a current active real interface is changed, the following logic works.
1. delete all SAs from old active real interface
2. Add all SAs to the new active real interface.
3. If a new active real interface doesn't support ipsec offload or SA's
option, it sets real_dev to NULL.

Fixes: 18cb261afd7b ("bonding: support hardware encryption offload to slaves")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/bonding/bond_main.c | 139 +++++++++++++++++++++++++++-----
 include/net/bonding.h           |   9 ++-
 2 files changed, 127 insertions(+), 21 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 3555798879f2..484784757073 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -385,6 +385,7 @@ static int bond_vlan_rx_kill_vid(struct net_device *bond_dev,
 static int bond_ipsec_add_sa(struct xfrm_state *xs)
 {
 	struct net_device *bond_dev = xs->xso.dev;
+	struct bond_ipsec *ipsec;
 	struct bonding *bond;
 	struct slave *slave;
 	int err;
@@ -400,9 +401,6 @@ static int bond_ipsec_add_sa(struct xfrm_state *xs)
 		return -ENODEV;
 	}
 
-	xs->xso.real_dev = slave->dev;
-	bond->xs = xs;
-
 	if (!slave->dev->xfrmdev_ops ||
 	    !slave->dev->xfrmdev_ops->xdo_dev_state_add ||
 	    netif_is_bond_master(slave->dev)) {
@@ -411,11 +409,63 @@ static int bond_ipsec_add_sa(struct xfrm_state *xs)
 		return -EINVAL;
 	}
 
+	ipsec = kmalloc(sizeof(*ipsec), GFP_ATOMIC);
+	if (!ipsec) {
+		rcu_read_unlock();
+		return -ENOMEM;
+	}
+	xs->xso.real_dev = slave->dev;
+
 	err = slave->dev->xfrmdev_ops->xdo_dev_state_add(xs);
+	if (!err) {
+		ipsec->xs = xs;
+		INIT_LIST_HEAD(&ipsec->list);
+		spin_lock_bh(&bond->ipsec_lock);
+		list_add(&ipsec->list, &bond->ipsec_list);
+		spin_unlock_bh(&bond->ipsec_lock);
+	} else {
+		kfree(ipsec);
+	}
 	rcu_read_unlock();
 	return err;
 }
 
+static void bond_ipsec_add_sa_all(struct bonding *bond)
+{
+	struct net_device *bond_dev = bond->dev;
+	struct bond_ipsec *ipsec;
+	struct slave *slave;
+
+	rcu_read_lock();
+	slave = rcu_dereference(bond->curr_active_slave);
+	if (!slave)
+		goto out;
+
+	if (!slave->dev->xfrmdev_ops ||
+	    !slave->dev->xfrmdev_ops->xdo_dev_state_add ||
+	    netif_is_bond_master(slave->dev)) {
+		spin_lock_bh(&bond->ipsec_lock);
+		if (!list_empty(&bond->ipsec_list))
+			slave_warn(bond_dev, slave->dev,
+				   "%s: no slave xdo_dev_state_add\n",
+				   __func__);
+		spin_unlock_bh(&bond->ipsec_lock);
+		goto out;
+	}
+
+	spin_lock_bh(&bond->ipsec_lock);
+	list_for_each_entry(ipsec, &bond->ipsec_list, list) {
+		ipsec->xs->xso.real_dev = slave->dev;
+		if (slave->dev->xfrmdev_ops->xdo_dev_state_add(ipsec->xs)) {
+			slave_warn(bond_dev, slave->dev, "%s: failed to add SA\n", __func__);
+			ipsec->xs->xso.real_dev = NULL;
+		}
+	}
+	spin_unlock_bh(&bond->ipsec_lock);
+out:
+	rcu_read_unlock();
+}
+
 /**
  * bond_ipsec_del_sa - clear out this specific SA
  * @xs: pointer to transformer state struct
@@ -423,6 +473,7 @@ static int bond_ipsec_add_sa(struct xfrm_state *xs)
 static void bond_ipsec_del_sa(struct xfrm_state *xs)
 {
 	struct net_device *bond_dev = xs->xso.dev;
+	struct bond_ipsec *ipsec;
 	struct bonding *bond;
 	struct slave *slave;
 
@@ -436,7 +487,10 @@ static void bond_ipsec_del_sa(struct xfrm_state *xs)
 	if (!slave)
 		goto out;
 
-	xs->xso.real_dev = slave->dev;
+	if (!xs->xso.real_dev)
+		goto out;
+
+	WARN_ON(xs->xso.real_dev != slave->dev);
 
 	if (!slave->dev->xfrmdev_ops ||
 	    !slave->dev->xfrmdev_ops->xdo_dev_state_delete ||
@@ -447,6 +501,48 @@ static void bond_ipsec_del_sa(struct xfrm_state *xs)
 
 	slave->dev->xfrmdev_ops->xdo_dev_state_delete(xs);
 out:
+	spin_lock_bh(&bond->ipsec_lock);
+	list_for_each_entry(ipsec, &bond->ipsec_list, list) {
+		if (ipsec->xs == xs) {
+			list_del(&ipsec->list);
+			kfree(ipsec);
+			break;
+		}
+	}
+	spin_unlock_bh(&bond->ipsec_lock);
+	rcu_read_unlock();
+}
+
+static void bond_ipsec_del_sa_all(struct bonding *bond)
+{
+	struct net_device *bond_dev = bond->dev;
+	struct bond_ipsec *ipsec;
+	struct slave *slave;
+
+	rcu_read_lock();
+	slave = rcu_dereference(bond->curr_active_slave);
+	if (!slave) {
+		rcu_read_unlock();
+		return;
+	}
+
+	spin_lock_bh(&bond->ipsec_lock);
+	list_for_each_entry(ipsec, &bond->ipsec_list, list) {
+		if (!ipsec->xs->xso.real_dev)
+			continue;
+
+		if (!slave->dev->xfrmdev_ops ||
+		    !slave->dev->xfrmdev_ops->xdo_dev_state_delete ||
+		    netif_is_bond_master(slave->dev)) {
+			slave_warn(bond_dev, slave->dev,
+				   "%s: no slave xdo_dev_state_delete\n",
+				   __func__);
+		} else {
+			slave->dev->xfrmdev_ops->xdo_dev_state_delete(ipsec->xs);
+		}
+		ipsec->xs->xso.real_dev = NULL;
+	}
+	spin_unlock_bh(&bond->ipsec_lock);
 	rcu_read_unlock();
 }
 
@@ -458,22 +554,27 @@ out:
 static bool bond_ipsec_offload_ok(struct sk_buff *skb, struct xfrm_state *xs)
 {
 	struct net_device *bond_dev = xs->xso.dev;
-	struct bonding *bond = netdev_priv(bond_dev);
-	struct slave *curr_active = rcu_dereference(bond->curr_active_slave);
-	struct net_device *slave_dev = curr_active->dev;
+	struct net_device *real_dev;
+	struct slave *curr_active;
+	struct bonding *bond;
+
+	bond = netdev_priv(bond_dev);
+	curr_active = rcu_dereference(bond->curr_active_slave);
+	real_dev = curr_active->dev;
 
 	if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP)
 		return true;
 
-	if (!slave_dev->xfrmdev_ops ||
-	    !slave_dev->xfrmdev_ops->xdo_dev_offload_ok ||
-	    netif_is_bond_master(slave_dev)) {
-		slave_warn(bond_dev, slave_dev, "%s: no slave xdo_dev_offload_ok\n", __func__);
+	if (!xs->xso.real_dev)
+		return false;
+
+	if (!real_dev->xfrmdev_ops ||
+	    !real_dev->xfrmdev_ops->xdo_dev_offload_ok ||
+	    netif_is_bond_master(real_dev)) {
 		return false;
 	}
 
-	xs->xso.real_dev = slave_dev;
-	return slave_dev->xfrmdev_ops->xdo_dev_offload_ok(skb, xs);
+	return real_dev->xfrmdev_ops->xdo_dev_offload_ok(skb, xs);
 }
 
 static const struct xfrmdev_ops bond_xfrmdev_ops = {
@@ -990,8 +1091,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
 		return;
 
 #ifdef CONFIG_XFRM_OFFLOAD
-	if (old_active && bond->xs)
-		bond_ipsec_del_sa(bond->xs);
+	bond_ipsec_del_sa_all(bond);
 #endif /* CONFIG_XFRM_OFFLOAD */
 
 	if (new_active) {
@@ -1067,10 +1167,7 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
 	}
 
 #ifdef CONFIG_XFRM_OFFLOAD
-	if (new_active && bond->xs) {
-		xfrm_dev_state_flush(dev_net(bond->dev), bond->dev, true);
-		bond_ipsec_add_sa(bond->xs);
-	}
+	bond_ipsec_add_sa_all(bond);
 #endif /* CONFIG_XFRM_OFFLOAD */
 
 	/* resend IGMP joins since active slave has changed or
@@ -3309,6 +3406,7 @@ static int bond_master_netdev_event(unsigned long event,
 		return bond_event_changename(event_bond);
 	case NETDEV_UNREGISTER:
 		bond_remove_proc_entry(event_bond);
+		xfrm_dev_state_flush(dev_net(bond_dev), bond_dev, true);
 		break;
 	case NETDEV_REGISTER:
 		bond_create_proc_entry(event_bond);
@@ -4742,7 +4840,8 @@ void bond_setup(struct net_device *bond_dev)
 #ifdef CONFIG_XFRM_OFFLOAD
 	/* set up xfrm device ops (only supported in active-backup right now) */
 	bond_dev->xfrmdev_ops = &bond_xfrmdev_ops;
-	bond->xs = NULL;
+	INIT_LIST_HEAD(&bond->ipsec_list);
+	spin_lock_init(&bond->ipsec_lock);
 #endif /* CONFIG_XFRM_OFFLOAD */
 
 	/* don't acquire bond device's netif_tx_lock when transmitting */
diff --git a/include/net/bonding.h b/include/net/bonding.h
index adc3da776970..67d676059aa0 100644
--- a/include/net/bonding.h
+++ b/include/net/bonding.h
@@ -199,6 +199,11 @@ struct bond_up_slave {
  */
 #define BOND_LINK_NOCHANGE -1
 
+struct bond_ipsec {
+	struct list_head list;
+	struct xfrm_state *xs;
+};
+
 /*
  * Here are the locking policies for the two bonding locks:
  * Get rcu_read_lock when reading or RTNL when writing slave list.
@@ -247,7 +252,9 @@ struct bonding {
 #endif /* CONFIG_DEBUG_FS */
 	struct rtnl_link_stats64 bond_stats;
 #ifdef CONFIG_XFRM_OFFLOAD
-	struct xfrm_state *xs;
+	struct list_head ipsec_list;
+	/* protecting ipsec_list */
+	spinlock_t ipsec_lock;
 #endif /* CONFIG_XFRM_OFFLOAD */
 };
 
-- 
2.30.2




  parent reply	other threads:[~2021-07-26 16:15 UTC|newest]

Thread overview: 183+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-26 15:37 [PATCH 5.10 000/167] 5.10.54-rc1 review Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 001/167] igc: Fix use-after-free error during reset Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 002/167] igb: " Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 003/167] igc: change default return of igc_read_phy_reg() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 004/167] ixgbe: Fix an error handling path in ixgbe_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 005/167] igc: Fix an error handling path in igc_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 006/167] igb: Fix an error handling path in igb_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 007/167] fm10k: Fix an error handling path in fm10k_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 008/167] e1000e: Fix an error handling path in e1000_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 009/167] iavf: Fix an error handling path in iavf_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 010/167] igb: Check if num of q_vectors is smaller than max before array access Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 011/167] igb: Fix position of assignment to *ring Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 012/167] gve: Fix an error handling path in gve_probe() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 013/167] net: add kcov handle to skb extensions Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 014/167] net: Introduce preferred busy-polling Greg Kroah-Hartman
2021-07-28  7:48   ` Pavel Machek
2021-07-28 16:08     ` Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 015/167] bonding: fix suspicious RCU usage in bond_ipsec_add_sa() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 016/167] bonding: fix null dereference " Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 017/167] ixgbevf: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 018/167] bonding: fix suspicious RCU usage in bond_ipsec_del_sa() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 019/167] bonding: disallow setting nested bonding + ipsec offload Greg Kroah-Hartman
2021-07-26 15:37 ` Greg Kroah-Hartman [this message]
2021-07-26 15:37 ` [PATCH 5.10 021/167] bonding: fix suspicious RCU usage in bond_ipsec_offload_ok() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 022/167] bonding: fix incorrect return value of bond_ipsec_offload_ok() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 023/167] ipv6: fix disable_policy for fwd packets Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 024/167] stmmac: platform: Fix signedness bug in stmmac_probe_config_dt() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 025/167] selftests: icmp_redirect: remove from checking for IPv6 route get Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 026/167] selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 027/167] pwm: sprd: Ensure configuring period and duty_cycle isnt wrongly skipped Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 028/167] cxgb4: fix IRQ free race during driver unload Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 029/167] net: do not reuse skbuff allocated from skbuff_fclone_cache in the skb cache Greg Kroah-Hartman
2021-07-27  8:22   ` Pavel Machek
2021-07-27  9:50     ` Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 030/167] mptcp: fix warning in __skb_flow_dissect() when do syn cookie for subflow join Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 031/167] nvme-pci: do not call nvme_dev_remove_admin from nvme_remove Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 032/167] KVM: x86/pmu: Clear anythread deprecated bit when 0xa leaf is unsupported on the SVM Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 033/167] perf inject: Fix dso->nsinfo refcounting Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 034/167] perf map: " Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 035/167] perf probe: " Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 036/167] perf env: Fix sibling_dies memory leak Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 037/167] perf test session_topology: Delete session->evlist Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 038/167] perf test event_update: Fix memory leak of evlist Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 039/167] perf dso: Fix memory leak in dso__new_map() Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 040/167] perf test maps__merge_in: Fix memory leak of maps Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 041/167] perf env: Fix memory leak of cpu_pmu_caps Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 042/167] perf report: Free generated help strings for sort option Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 043/167] perf script: Fix memory threads and cpus leaks on exit Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 044/167] perf lzma: Close lzma stream " Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 045/167] perf probe-file: Delete namelist in del_events() on the error path Greg Kroah-Hartman
2021-07-26 15:37 ` [PATCH 5.10 046/167] perf data: Close all files in close_dir() Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 047/167] perf sched: Fix record failure when CONFIG_SCHEDSTATS is not set Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 048/167] ASoC: wm_adsp: Correct wm_coeff_tlv_get handling Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 049/167] spi: imx: add a check for speed_hz before calculating the clock Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 050/167] spi: stm32: fixes pm_runtime calls in probe/remove Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 051/167] regulator: hi6421: Use correct variable type for regmap api val argument Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 052/167] regulator: hi6421: Fix getting wrong drvdata Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 053/167] spi: mediatek: fix fifo rx mode Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 054/167] ASoC: rt5631: Fix regcache sync errors on resume Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 055/167] bpf, test: fix NULL pointer dereference on invalid expected_attach_type Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 056/167] bpf: Fix tail_call_reachable rejection for interpreter when jit failed Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 057/167] xdp, net: Fix use-after-free in bpf_xdp_link_release Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 058/167] timers: Fix get_next_timer_interrupt() with no timers pending Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 059/167] liquidio: Fix unintentional sign extension issue on left shift of u16 Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 060/167] s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 061/167] bpf, sockmap: Fix potential memory leak on unlikely error case Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 062/167] bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 063/167] bpf, sockmap, udp: " Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 064/167] bpftool: Check malloc return value in mount_bpffs_for_pin Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 065/167] net: fix uninit-value in caif_seqpkt_sendmsg Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 066/167] usb: hso: fix error handling code of hso_create_net_device Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 067/167] dma-mapping: handle vmalloc addresses in dma_common_{mmap,get_sgtable} Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 068/167] efi/tpm: Differentiate missing and invalid final event log table Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 069/167] net: decnet: Fix sleeping inside in af_decnet Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 070/167] KVM: PPC: Book3S: Fix CONFIG_TRANSACTIONAL_MEM=n crash Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 071/167] KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 072/167] net: sched: fix memory leak in tcindex_partial_destroy_work Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 073/167] sctp: trim optlen when its a huge value in sctp_setsockopt Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 074/167] netrom: Decrease sock refcount when sock timers expire Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 075/167] scsi: iscsi: Fix iface sysfs attr detection Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 076/167] scsi: target: Fix protect handling in WRITE SAME(32) Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 077/167] spi: cadence: Correct initialisation of runtime PM again Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 078/167] ACPI: Kconfig: Fix table override from built-in initrd Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 079/167] bnxt_en: dont disable an already disabled PCI device Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 080/167] bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe() Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 081/167] bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task() Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 082/167] bnxt_en: Validate vlan protocol ID on RX packets Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 083/167] bnxt_en: Check abort error state in bnxt_half_open_nic() Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 084/167] net: hisilicon: rename CACHE_LINE_MASK to avoid redefinition Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 085/167] net/tcp_fastopen: fix data races around tfo_active_disable_stamp Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 086/167] ALSA: hda: intel-dsp-cfg: add missing ElkhartLake PCI ID Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 087/167] net: hns3: fix possible mismatches resp of mailbox Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 088/167] net: hns3: fix rx VLAN offload state inconsistent issue Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 089/167] spi: spi-bcm2835: Fix deadlock Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 090/167] net/sched: act_skbmod: Skip non-Ethernet packets Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 091/167] ipv6: fix another slab-out-of-bounds in fib6_nh_flush_exceptions Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 092/167] ceph: dont WARN if were still opening a session to an MDS Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 093/167] nvme-pci: dont WARN_ON in nvme_reset_work if ctrl.state is not RESETTING Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 094/167] Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 095/167] afs: Fix tracepoint string placement with built-in AFS Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 096/167] r8169: Avoid duplicate sysfs entry creation error Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 097/167] nvme: set the PRACT bit when using Write Zeroes with T10 PI Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 098/167] sctp: update active_key for asoc when old key is being replaced Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 099/167] tcp: disable TFO blackhole logic by default Greg Kroah-Hartman
2021-07-28 10:12   ` Pavel Machek
2021-07-28 16:32     ` Yuchung Cheng
2022-01-31 17:17       ` Jesse Hathaway
2021-07-26 15:38 ` [PATCH 5.10 100/167] net: dsa: sja1105: make VID 4095 a bridge VLAN too Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 101/167] net: sched: cls_api: Fix the the wrong parameter Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 102/167] drm/panel: raspberrypi-touchscreen: Prevent double-free Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 103/167] cifs: only write 64kb at a time when fallocating a small region of a file Greg Kroah-Hartman
2021-07-28 10:15   ` Pavel Machek
2021-07-26 15:38 ` [PATCH 5.10 104/167] cifs: fix fallocate when trying to allocate a hole Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 105/167] proc: Avoid mixing integer types in mem_rw() Greg Kroah-Hartman
2021-07-26 15:38 ` [PATCH 5.10 106/167] mmc: core: Dont allocate IDA for OF aliases Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 107/167] s390/ftrace: fix ftrace_update_ftrace_func implementation Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 108/167] s390/boot: fix use of expolines in the DMA code Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 109/167] ALSA: usb-audio: Add missing proc text entry for BESPOKEN type Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 110/167] ALSA: usb-audio: Add registration quirk for JBL Quantum headsets Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 111/167] ALSA: sb: Fix potential ABBA deadlock in CSP driver Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 112/167] ALSA: hda/realtek: Fix pop noise and 2 Front Mic issues on a machine Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 113/167] ALSA: hdmi: Expose all pins on MSI MS-7C94 board Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 114/167] ALSA: pcm: Call substream ack() method upon compat mmap commit Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 115/167] ALSA: pcm: Fix mmap capability check Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 116/167] Revert "usb: renesas-xhci: Fix handling of unknown ROM state" Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 117/167] usb: xhci: avoid renesas_usb_fw.mem when its unusable Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 118/167] xhci: Fix lost USB 2 remote wake Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 119/167] KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 120/167] KVM: PPC: Book3S HV Nested: Sanitise H_ENTER_NESTED TM state Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 121/167] usb: hub: Disable USB 3 device initiated lpm if exit latency is too high Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 122/167] usb: hub: Fix link power management max exit latency (MEL) calculations Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 123/167] USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 124/167] usb: max-3421: Prevent corruption of freed memory Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 125/167] usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop() Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 126/167] USB: serial: option: add support for u-blox LARA-R6 family Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 127/167] USB: serial: cp210x: fix comments for GE CS1000 Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 128/167] USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 129/167] usb: gadget: Fix Unbalanced pm_runtime_enable in tegra_xudc_probe Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 130/167] usb: dwc2: gadget: Fix GOUTNAK flow for Slave mode Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 131/167] usb: dwc2: gadget: Fix sending zero length packet in DDMA mode Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 132/167] usb: typec: stusb160x: register role switch before interrupt registration Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 133/167] firmware/efi: Tell memblock about EFI iomem reservations Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 134/167] tracepoints: Update static_call before tp_funcs when adding a tracepoint Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 135/167] tracing/histogram: Rename "cpu" to "common_cpu" Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 136/167] tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 137/167] tracing: Synthetic event field_pos is an index not a boolean Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 138/167] btrfs: check for missing device in btrfs_trim_fs Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 139/167] media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf() Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 140/167] ixgbe: Fix packet corruption due to missing DMA sync Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 141/167] bus: mhi: core: Validate channel ID when processing command completions Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 142/167] posix-cpu-timers: Fix rearm racing against process tick Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 143/167] selftest: use mmap instead of posix_memalign to allocate memory Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 144/167] io_uring: explicitly count entries for poll reqs Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 145/167] io_uring: remove double poll entry on arm failure Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 146/167] userfaultfd: do not untag user pointers Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 147/167] memblock: make for_each_mem_range() traverse MEMBLOCK_HOTPLUG regions Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 148/167] hugetlbfs: fix mount mode command line processing Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 149/167] rbd: dont hold lock_rwsem while running_list is being drained Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 150/167] rbd: always kick acquire on "acquired" and "released" notifications Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 151/167] misc: eeprom: at24: Always append device id even if label property is set Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 152/167] nds32: fix up stack guard gap Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 153/167] driver core: Prevent warning when removing a device link from unregistered consumer Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 154/167] Revert "drm/i915: Propagate errors on awaiting already signaled fences" Greg Kroah-Hartman
2021-07-27 21:35   ` Pavel Machek
2021-07-28 11:59     ` Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 155/167] drm: Return -ENOTTY for non-drm ioctls Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 156/167] drm/amdgpu: update golden setting for sienna_cichlid Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 157/167] net: dsa: mv88e6xxx: enable SerDes RX stats for Topaz Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 158/167] net: dsa: mv88e6xxx: enable SerDes PCS register dump via ethtool -d on Topaz Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 159/167] PCI: Mark AMD Navi14 GPU ATS as broken Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 160/167] bonding: fix build issue Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 161/167] skbuff: Release nfct refcount on napi stolen or re-used skbs Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 162/167] Documentation: Fix intiramfs script name Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 163/167] perf inject: Close inject.output on exit Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 164/167] usb: ehci: Prevent missed ehci interrupts with edge-triggered MSI Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 165/167] drm/i915/gvt: Clear d3_entered on elsp cmd submission Greg Kroah-Hartman
2021-07-26 15:39 ` [PATCH 5.10 166/167] sfc: ensure correct number of XDP queues Greg Kroah-Hartman
2021-07-26 15:40 ` [PATCH 5.10 167/167] xhci: add xhci_get_virt_ep() helper Greg Kroah-Hartman
2021-07-28 10:10   ` Pavel Machek
2021-07-28 10:20     ` Greg Kroah-Hartman
2021-07-26 16:52 ` [PATCH 5.10 000/167] 5.10.54-rc1 review Daniel Díaz
2021-07-26 21:36 ` Florian Fainelli
2021-07-27  0:35 ` Shuah Khan

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=20210726153840.045301852@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ap420073@gmail.com \
    --cc=davem@davemloft.net \
    --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 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).