public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Johannes Berg <johannes.berg@intel.com>,
	Sasha Levin <sashal@kernel.org>,
	Max Schulze <max.schulze@online.de>
Subject: [PATCH 6.5 064/163] wifi: cfg80211: fix cqm_config access race
Date: Mon,  9 Oct 2023 15:00:28 +0200	[thread overview]
Message-ID: <20231009130125.810142036@linuxfoundation.org> (raw)
In-Reply-To: <20231009130124.021290599@linuxfoundation.org>

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

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

From: Johannes Berg <johannes.berg@intel.com>

[ Upstream commit 37c20b2effe987b806c8de6d12978e4ffeff026f ]

Max Schulze reports crashes with brcmfmac. The reason seems
to be a race between userspace removing the CQM config and
the driver calling cfg80211_cqm_rssi_notify(), where if the
data is freed while cfg80211_cqm_rssi_notify() runs it will
crash since it assumes wdev->cqm_config is set. This can't
be fixed with a simple non-NULL check since there's nothing
we can do for locking easily, so use RCU instead to protect
the pointer, but that requires pulling the updates out into
an asynchronous worker so they can sleep and call back into
the driver.

Since we need to change the free anyway, also change it to
go back to the old settings if changing the settings fails.

Reported-and-tested-by: Max Schulze <max.schulze@online.de>
Closes: https://lore.kernel.org/r/ac96309a-8d8d-4435-36e6-6d152eb31876@online.de
Fixes: 4a4b8169501b ("cfg80211: Accept multiple RSSI thresholds for CQM")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/net/cfg80211.h |  3 +-
 net/wireless/core.c    | 14 +++----
 net/wireless/core.h    |  7 +++-
 net/wireless/nl80211.c | 93 +++++++++++++++++++++++++++---------------
 4 files changed, 75 insertions(+), 42 deletions(-)

diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 3f03f9b375e56..0debc3c9364e8 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -6014,7 +6014,8 @@ struct wireless_dev {
 	} wext;
 #endif
 
-	struct cfg80211_cqm_config *cqm_config;
+	struct wiphy_work cqm_rssi_work;
+	struct cfg80211_cqm_config __rcu *cqm_config;
 
 	struct list_head pmsr_list;
 	spinlock_t pmsr_lock;
diff --git a/net/wireless/core.c b/net/wireless/core.c
index 25bc2e50a0615..64e8616171104 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -1181,16 +1181,11 @@ void wiphy_rfkill_set_hw_state_reason(struct wiphy *wiphy, bool blocked,
 }
 EXPORT_SYMBOL(wiphy_rfkill_set_hw_state_reason);
 
-void cfg80211_cqm_config_free(struct wireless_dev *wdev)
-{
-	kfree(wdev->cqm_config);
-	wdev->cqm_config = NULL;
-}
-
 static void _cfg80211_unregister_wdev(struct wireless_dev *wdev,
 				      bool unregister_netdev)
 {
 	struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
+	struct cfg80211_cqm_config *cqm_config;
 	unsigned int link_id;
 
 	ASSERT_RTNL();
@@ -1227,7 +1222,10 @@ static void _cfg80211_unregister_wdev(struct wireless_dev *wdev,
 	kfree_sensitive(wdev->wext.keys);
 	wdev->wext.keys = NULL;
 #endif
-	cfg80211_cqm_config_free(wdev);
+	wiphy_work_cancel(wdev->wiphy, &wdev->cqm_rssi_work);
+	/* deleted from the list, so can't be found from nl80211 any more */
+	cqm_config = rcu_access_pointer(wdev->cqm_config);
+	kfree_rcu(cqm_config, rcu_head);
 
 	/*
 	 * Ensure that all events have been processed and
@@ -1379,6 +1377,8 @@ void cfg80211_init_wdev(struct wireless_dev *wdev)
 	wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC;
 #endif
 
+	wiphy_work_init(&wdev->cqm_rssi_work, cfg80211_cqm_rssi_notify_work);
+
 	if (wdev->wiphy->flags & WIPHY_FLAG_PS_ON_BY_DEFAULT)
 		wdev->ps = true;
 	else
diff --git a/net/wireless/core.h b/net/wireless/core.h
index 8a807b609ef73..86f209abc06ab 100644
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -295,12 +295,17 @@ struct cfg80211_beacon_registration {
 };
 
 struct cfg80211_cqm_config {
+	struct rcu_head rcu_head;
 	u32 rssi_hyst;
 	s32 last_rssi_event_value;
+	enum nl80211_cqm_rssi_threshold_event last_rssi_event_type;
 	int n_rssi_thresholds;
 	s32 rssi_thresholds[];
 };
 
+void cfg80211_cqm_rssi_notify_work(struct wiphy *wiphy,
+				   struct wiphy_work *work);
+
 void cfg80211_destroy_ifaces(struct cfg80211_registered_device *rdev);
 
 /* free object */
@@ -566,8 +571,6 @@ cfg80211_bss_update(struct cfg80211_registered_device *rdev,
 #define CFG80211_DEV_WARN_ON(cond)	({bool __r = (cond); __r; })
 #endif
 
-void cfg80211_cqm_config_free(struct wireless_dev *wdev);
-
 void cfg80211_release_pmsr(struct wireless_dev *wdev, u32 portid);
 void cfg80211_pmsr_wdev_down(struct wireless_dev *wdev);
 void cfg80211_pmsr_free_wk(struct work_struct *work);
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 4dcbc40d07c85..705d1cf048309 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -12797,7 +12797,8 @@ static int nl80211_set_cqm_txe(struct genl_info *info,
 }
 
 static int cfg80211_cqm_rssi_update(struct cfg80211_registered_device *rdev,
-				    struct net_device *dev)
+				    struct net_device *dev,
+				    struct cfg80211_cqm_config *cqm_config)
 {
 	struct wireless_dev *wdev = dev->ieee80211_ptr;
 	s32 last, low, high;
@@ -12806,7 +12807,7 @@ static int cfg80211_cqm_rssi_update(struct cfg80211_registered_device *rdev,
 	int err;
 
 	/* RSSI reporting disabled? */
-	if (!wdev->cqm_config)
+	if (!cqm_config)
 		return rdev_set_cqm_rssi_range_config(rdev, dev, 0, 0);
 
 	/*
@@ -12815,7 +12816,7 @@ static int cfg80211_cqm_rssi_update(struct cfg80211_registered_device *rdev,
 	 * connection is established and enough beacons received to calculate
 	 * the average.
 	 */
-	if (!wdev->cqm_config->last_rssi_event_value &&
+	if (!cqm_config->last_rssi_event_value &&
 	    wdev->links[0].client.current_bss &&
 	    rdev->ops->get_station) {
 		struct station_info sinfo = {};
@@ -12829,30 +12830,30 @@ static int cfg80211_cqm_rssi_update(struct cfg80211_registered_device *rdev,
 
 		cfg80211_sinfo_release_content(&sinfo);
 		if (sinfo.filled & BIT_ULL(NL80211_STA_INFO_BEACON_SIGNAL_AVG))
-			wdev->cqm_config->last_rssi_event_value =
+			cqm_config->last_rssi_event_value =
 				(s8) sinfo.rx_beacon_signal_avg;
 	}
 
-	last = wdev->cqm_config->last_rssi_event_value;
-	hyst = wdev->cqm_config->rssi_hyst;
-	n = wdev->cqm_config->n_rssi_thresholds;
+	last = cqm_config->last_rssi_event_value;
+	hyst = cqm_config->rssi_hyst;
+	n = cqm_config->n_rssi_thresholds;
 
 	for (i = 0; i < n; i++) {
 		i = array_index_nospec(i, n);
-		if (last < wdev->cqm_config->rssi_thresholds[i])
+		if (last < cqm_config->rssi_thresholds[i])
 			break;
 	}
 
 	low_index = i - 1;
 	if (low_index >= 0) {
 		low_index = array_index_nospec(low_index, n);
-		low = wdev->cqm_config->rssi_thresholds[low_index] - hyst;
+		low = cqm_config->rssi_thresholds[low_index] - hyst;
 	} else {
 		low = S32_MIN;
 	}
 	if (i < n) {
 		i = array_index_nospec(i, n);
-		high = wdev->cqm_config->rssi_thresholds[i] + hyst - 1;
+		high = cqm_config->rssi_thresholds[i] + hyst - 1;
 	} else {
 		high = S32_MAX;
 	}
@@ -12865,6 +12866,7 @@ static int nl80211_set_cqm_rssi(struct genl_info *info,
 				u32 hysteresis)
 {
 	struct cfg80211_registered_device *rdev = info->user_ptr[0];
+	struct cfg80211_cqm_config *cqm_config = NULL, *old;
 	struct net_device *dev = info->user_ptr[1];
 	struct wireless_dev *wdev = dev->ieee80211_ptr;
 	int i, err;
@@ -12882,10 +12884,6 @@ static int nl80211_set_cqm_rssi(struct genl_info *info,
 	    wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)
 		return -EOPNOTSUPP;
 
-	wdev_lock(wdev);
-	cfg80211_cqm_config_free(wdev);
-	wdev_unlock(wdev);
-
 	if (n_thresholds <= 1 && rdev->ops->set_cqm_rssi_config) {
 		if (n_thresholds == 0 || thresholds[0] == 0) /* Disabling */
 			return rdev_set_cqm_rssi_config(rdev, dev, 0, 0);
@@ -12902,9 +12900,10 @@ static int nl80211_set_cqm_rssi(struct genl_info *info,
 		n_thresholds = 0;
 
 	wdev_lock(wdev);
-	if (n_thresholds) {
-		struct cfg80211_cqm_config *cqm_config;
+	old = rcu_dereference_protected(wdev->cqm_config,
+					lockdep_is_held(&wdev->mtx));
 
+	if (n_thresholds) {
 		cqm_config = kzalloc(struct_size(cqm_config, rssi_thresholds,
 						 n_thresholds),
 				     GFP_KERNEL);
@@ -12919,11 +12918,18 @@ static int nl80211_set_cqm_rssi(struct genl_info *info,
 		       flex_array_size(cqm_config, rssi_thresholds,
 				       n_thresholds));
 
-		wdev->cqm_config = cqm_config;
+		rcu_assign_pointer(wdev->cqm_config, cqm_config);
+	} else {
+		RCU_INIT_POINTER(wdev->cqm_config, NULL);
 	}
 
-	err = cfg80211_cqm_rssi_update(rdev, dev);
-
+	err = cfg80211_cqm_rssi_update(rdev, dev, cqm_config);
+	if (err) {
+		rcu_assign_pointer(wdev->cqm_config, old);
+		kfree_rcu(cqm_config, rcu_head);
+	} else {
+		kfree_rcu(old, rcu_head);
+	}
 unlock:
 	wdev_unlock(wdev);
 
@@ -19074,9 +19080,8 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev,
 			      enum nl80211_cqm_rssi_threshold_event rssi_event,
 			      s32 rssi_level, gfp_t gfp)
 {
-	struct sk_buff *msg;
 	struct wireless_dev *wdev = dev->ieee80211_ptr;
-	struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
+	struct cfg80211_cqm_config *cqm_config;
 
 	trace_cfg80211_cqm_rssi_notify(dev, rssi_event, rssi_level);
 
@@ -19084,18 +19089,41 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev,
 		    rssi_event != NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH))
 		return;
 
-	if (wdev->cqm_config) {
-		wdev->cqm_config->last_rssi_event_value = rssi_level;
+	rcu_read_lock();
+	cqm_config = rcu_dereference(wdev->cqm_config);
+	if (cqm_config) {
+		cqm_config->last_rssi_event_value = rssi_level;
+		cqm_config->last_rssi_event_type = rssi_event;
+		wiphy_work_queue(wdev->wiphy, &wdev->cqm_rssi_work);
+	}
+	rcu_read_unlock();
+}
+EXPORT_SYMBOL(cfg80211_cqm_rssi_notify);
+
+void cfg80211_cqm_rssi_notify_work(struct wiphy *wiphy, struct wiphy_work *work)
+{
+	struct wireless_dev *wdev = container_of(work, struct wireless_dev,
+						 cqm_rssi_work);
+	struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
+	enum nl80211_cqm_rssi_threshold_event rssi_event;
+	struct cfg80211_cqm_config *cqm_config;
+	struct sk_buff *msg;
+	s32 rssi_level;
 
-		cfg80211_cqm_rssi_update(rdev, dev);
+	wdev_lock(wdev);
+	cqm_config = rcu_dereference_protected(wdev->cqm_config,
+					       lockdep_is_held(&wdev->mtx));
+	if (!wdev->cqm_config)
+		goto unlock;
 
-		if (rssi_level == 0)
-			rssi_level = wdev->cqm_config->last_rssi_event_value;
-	}
+	cfg80211_cqm_rssi_update(rdev, wdev->netdev, cqm_config);
 
-	msg = cfg80211_prepare_cqm(dev, NULL, gfp);
+	rssi_level = cqm_config->last_rssi_event_value;
+	rssi_event = cqm_config->last_rssi_event_type;
+
+	msg = cfg80211_prepare_cqm(wdev->netdev, NULL, GFP_KERNEL);
 	if (!msg)
-		return;
+		goto unlock;
 
 	if (nla_put_u32(msg, NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
 			rssi_event))
@@ -19105,14 +19133,15 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev,
 				      rssi_level))
 		goto nla_put_failure;
 
-	cfg80211_send_cqm(msg, gfp);
+	cfg80211_send_cqm(msg, GFP_KERNEL);
 
-	return;
+	goto unlock;
 
  nla_put_failure:
 	nlmsg_free(msg);
+ unlock:
+	wdev_unlock(wdev);
 }
-EXPORT_SYMBOL(cfg80211_cqm_rssi_notify);
 
 void cfg80211_cqm_txe_notify(struct net_device *dev,
 			     const u8 *peer, u32 num_packets,
-- 
2.40.1




  parent reply	other threads:[~2023-10-09 13:12 UTC|newest]

Thread overview: 178+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-09 12:59 [PATCH 6.5 000/163] 6.5.7-rc1 review Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 001/163] ALSA: hda/tas2781: Add tas2781 HDA driver Greg Kroah-Hartman
2023-10-09 13:17   ` Takashi Iwai
2023-10-09 14:25     ` Sasha Levin
2023-10-09 14:29       ` Takashi Iwai
2023-10-09 17:39         ` Sasha Levin
2023-10-09 18:07         ` Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 002/163] ALSA: hda/realtek: Add quirk for HP Victus 16-d1xxx to enable mute LED Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 003/163] ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 004/163] ALSA: hda/realtek - ALC287 I2S speaker platform support Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 005/163] ALSA: hda/realtek - ALC287 Realtek " Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 006/163] ASoC: soc-utils: Export snd_soc_dai_is_dummy() symbol Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 007/163] ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 008/163] maple_tree: add mas_is_active() to detect in-tree walks Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 009/163] mptcp: Remove unnecessary test for __mptcp_init_sock() Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 010/163] mptcp: rename timer related helper to less confusing names Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 011/163] mptcp: fix dangling connection hang-up Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 012/163] scsi: core: Improve type safety of scsi_rescan_device() Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 013/163] scsi: Do not attempt to rescan suspended devices Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 014/163] ata: libata-scsi: Fix delayed scsi_rescan_device() execution Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 015/163] btrfs: remove btrfs_writepage_endio_finish_ordered Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 016/163] btrfs: remove end_extent_writepage Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 017/163] btrfs: dont clear uptodate on write errors Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 018/163] arm64: add HWCAP for FEAT_HBC (hinted conditional branches) Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 019/163] arm64: cpufeature: Fix CLRBHB and BC detection Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 020/163] net: add sysctl accept_ra_min_rtr_lft Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 021/163] net: change accept_ra_min_rtr_lft to affect all RA lifetimes Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 022/163] net: release reference to inet6_dev pointer Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 023/163] iommu/arm-smmu-v3: Avoid constructing invalid range commands Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 024/163] maple_tree: reduce resets during store setup Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 025/163] maple_tree: add MAS_UNDERFLOW and MAS_OVERFLOW states Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 026/163] iommu/apple-dart: Handle DMA_FQ domains in attach_dev() Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 027/163] scsi: zfcp: Fix a double put in zfcp_port_enqueue() Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 028/163] iommu/vt-d: Avoid memory allocation in iommu_suspend() Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 029/163] net: mana: Fix TX CQE error handling Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 030/163] vringh: dont use vringh_kiov_advance() in vringh_iov_xfer() Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 031/163] net: ethernet: mediatek: disable irq before schedule napi Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 032/163] mptcp: fix delegated action races Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 033/163] mptcp: userspace pm allow creating id 0 subflow Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 034/163] qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info Greg Kroah-Hartman
2023-10-09 12:59 ` [PATCH 6.5 035/163] Bluetooth: hci_codec: Fix leaking content of local_codecs Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 036/163] wifi: brcmfmac: Replace 1-element arrays with flexible arrays Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 037/163] Bluetooth: hci_sync: Fix handling of HCI_QUIRK_STRICT_DUPLICATE_FILTER Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 038/163] wifi: rtw88: rtw8723d: Fix MAC address offset in EEPROM Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 039/163] wifi: mwifiex: Fix tlv_buf_left calculation Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 040/163] io_uring: dont allow IORING_SETUP_NO_MMAP rings on highmem pages Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 041/163] md/raid5: release batch_last before waiting for another stripe_head Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 042/163] PCI/PM: Mark devices disconnected if upstream PCIe link is down on resume Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 043/163] PCI: qcom: Fix IPQ8074 enumeration Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 044/163] platform/x86/intel/ifs: release cpus_read_lock() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 045/163] net: replace calls to sock->ops->connect() with kernel_connect() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 046/163] io_uring/kbuf: dont allow registered buffer rings on highmem pages Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 047/163] io_uring: ensure io_lockdep_assert_cq_locked() handles disabled rings Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 048/163] btrfs: always print transaction aborted messages with an error level Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 049/163] btrfs: reject unknown mount options early Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 050/163] net: prevent rewrite of msg_name in sock_sendmsg() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 051/163] drm/i915: Dont set PIPE_CONTROL_FLUSH_L3 for aux inval Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 052/163] drm/amd: Fix detection of _PR3 on the PCIe root port Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 053/163] drm/amd: Fix logic error in sienna_cichlid_update_pcie_parameters() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 054/163] arm64: Add Cortex-A520 CPU part definition Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 055/163] arm64: errata: Add Cortex-A520 speculative unprivileged load workaround Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 056/163] HID: sony: Fix a potential memory leak in sony_probe() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 057/163] wifi: mt76: fix lock dependency problem for wed_lock Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 058/163] ubi: Refuse attaching if mtds erasesize is 0 Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 059/163] erofs: fix memory leak of LZMA global compressed deduplication Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 060/163] wifi: cfg80211/mac80211: hold link BSSes when assoc fails for MLO connection Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 061/163] iwlwifi: mvm: handle PS changes in vif_cfg_changed Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 062/163] wifi: iwlwifi: dbg_ini: fix structure packing Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 063/163] wifi: iwlwifi: mvm: Fix a memory corruption issue Greg Kroah-Hartman
2023-10-09 13:00 ` Greg Kroah-Hartman [this message]
2023-10-09 13:00 ` [PATCH 6.5 065/163] rtla/timerlat_aa: Zero thread sum after every sample analysis Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 066/163] rtla/timerlat_aa: Fix negative IRQ delay Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 067/163] rtla/timerlat_aa: Fix previous IRQ delay for IRQs that happens after thread sample Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 068/163] wifi: cfg80211: add missing kernel-doc for cqm_rssi_work Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 069/163] wifi: mac80211: fix mesh id corruption on 32 bit systems Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 070/163] wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 071/163] HID: nvidia-shield: add LEDS_CLASS dependency Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 072/163] erofs: allow empty device tags in flatdev mode Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 073/163] s390/bpf: Let arch_prepare_bpf_trampoline return program size Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 074/163] leds: Drop BUG_ON check for LED_COLOR_ID_MULTI Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 075/163] bpf: Fix tr dereferencing Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 076/163] bpf: unconditionally reset backtrack_state masks on global func exit Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 077/163] regulator: mt6358: split ops for buck and linear range LDO regulators Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 078/163] Bluetooth: Delete unused hci_req_prepare_suspend() declaration Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 079/163] Bluetooth: Fix hci_link_tx_to RCU lock usage Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 080/163] Bluetooth: ISO: Fix handling of listen for unicast Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 081/163] drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close() Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 082/163] wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 083/163] perf/x86/amd/core: Fix overflow reset on hotplug Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 084/163] rtla/timerlat: Do not stop user-space if a cpu is offline Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 085/163] regmap: rbtree: Fix wrong register marked as in-cache when creating new node Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 086/163] wifi: mac80211: fix potential key use-after-free Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 087/163] perf/x86/amd: Do not WARN() on every IRQ Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 088/163] iommu/mediatek: Fix share pgtable for iova over 4GB Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 089/163] wifi: mac80211: Create resources for disabled links Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 090/163] regulator/core: regulator_register: set device->class earlier Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 091/163] ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 092/163] wifi: iwlwifi: mvm: Fix incorrect usage of scan API Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 093/163] scsi: target: core: Fix deadlock due to recursive locking Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 094/163] ima: rework CONFIG_IMA dependency block Greg Kroah-Hartman
2023-10-09 13:00 ` [PATCH 6.5 095/163] NFSv4: Fix a nfs4_state_manager() race Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 096/163] ice: always add legacy 32byte RXDID in supported_rxdids Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 097/163] bpf: tcp_read_skb needs to pop skb regardless of seq Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 098/163] bpf, sockmap: Do not inc copied_seq when PEEK flag set Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 099/163] bpf, sockmap: Reject sk_msg egress redirects to non-TCP sockets Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 100/163] modpost: add missing else to the "of" check Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 101/163] net: stmmac: platform: fix the incorrect parameter Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 102/163] net: fix possible store tearing in neigh_periodic_work() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 103/163] neighbour: fix data-races around n->output Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 104/163] ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 105/163] ptp: ocp: Fix error handling in ptp_ocp_device_init Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 106/163] net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 107/163] ovl: move freeing ovl_entry past rcu delay Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 108/163] ovl: fetch inode once in ovl_dentry_revalidate_common() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 109/163] ipv6: tcp: add a missing nf_reset_ct() in 3WHS handling Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 110/163] net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 111/163] ethtool: plca: fix plca enable data type while parsing the value Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 112/163] net: nfc: llcp: Add lock when modifying device list Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 113/163] net: renesas: rswitch: Add spin lock protection for irq {un}mask Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 114/163] rswitch: Fix PHY station management clock setting Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 115/163] net: ethernet: ti: am65-cpsw: Fix error code in am65_cpsw_nuss_init_tx_chns() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 116/163] ibmveth: Remove condition to recompute TCP header checksum Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 117/163] netfilter: nft_payload: rebuild vlan header on h_proto access Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 118/163] netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 119/163] selftests: netfilter: Test nf_tables audit logging Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 120/163] selftests: netfilter: Extend nft_audit.sh Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 121/163] netfilter: nf_tables: Deduplicate nft_register_obj audit logs Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 122/163] netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 123/163] ipv4: Set offload_failed flag in fibmatch results Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 124/163] net: stmmac: dwmac-stm32: fix resume on STM32 MCU Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 125/163] tipc: fix a potential deadlock on &tx->lock Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 126/163] tcp: fix quick-ack counting to count actual ACKs of new data Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 127/163] tcp: fix delayed ACKs for MSS boundary condition Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 128/163] sctp: update transport state when processing a dupcook packet Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 129/163] sctp: update hb timer immediately after users change hb_interval Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 130/163] netlink: annotate data-races around sk->sk_err Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 131/163] net: mana: Fix the tso_bytes calculation Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 132/163] net: mana: Fix oversized sge0 for GSO packets Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 133/163] HID: nvidia-shield: Fix a missing led_classdev_unregister() in the probe error handling path Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 134/163] HID: sony: remove duplicate NULL check before calling usb_free_urb() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 135/163] HID: intel-ish-hid: ipc: Disable and reenable ACPI GPE bit Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 136/163] net: lan743x: also select PHYLIB Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 137/163] parisc: Restore __ldcw_align for PA-RISC 2.0 processors Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 138/163] smb: use kernel_connect() and kernel_bind() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 139/163] parisc: Fix crash with nr_cpus=1 option Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 140/163] dm zoned: free dmz->ddev array in dmz_put_zoned_devices Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 141/163] RDMA/core: Require admin capabilities to set system parameters Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 142/163] of: dynamic: Fix potential memory leak in of_changeset_action() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 143/163] IB/mlx4: Fix the size of a buffer in add_port_entries() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 144/163] gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 145/163] gpio: pxa: disable pinctrl calls for MMP_GPIO Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 146/163] RDMA/cma: Initialize ib_sa_multicast structure to 0 when join Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 147/163] RDMA/cma: Fix truncation compilation warning in make_cma_ports Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 148/163] RDMA/bnxt_re: Fix the handling of control path response data Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 149/163] RDMA/uverbs: Fix typo of sizeof argument Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 150/163] RDMA/srp: Do not call scsi_done() from srp_abort() Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 151/163] RDMA/siw: Fix connection failure handling Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 152/163] RDMA/mlx5: Fix mkey cache possible deadlock on cleanup Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 153/163] RDMA/mlx5: Fix assigning access flags to cache mkeys Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 154/163] RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation Greg Kroah-Hartman
2023-10-09 13:01 ` [PATCH 6.5 155/163] RDMA/mlx5: Fix NULL string error Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 156/163] ALSA: hda/realtek: Fix spelling mistake "powe" -> "power" Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 157/163] ALSA: hda/realtek - Fixed two speaker platform Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 158/163] x86/sev: Change npages to unsigned long in snp_accept_memory() Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 159/163] x86/sev: Use the GHCB protocol when available for SNP CPUID requests Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 160/163] ksmbd: fix race condition between session lookup and expire Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 161/163] ksmbd: fix uaf in smb20_oplock_break_ack Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 162/163] ksmbd: fix race condition from parallel smb2 lock requests Greg Kroah-Hartman
2023-10-09 13:02 ` [PATCH 6.5 163/163] RDMA/mlx5: Remove not-used cache disable flag Greg Kroah-Hartman
2023-10-09 18:45 ` [PATCH 6.5 000/163] 6.5.7-rc1 review SeongJae Park
2023-10-09 22:47 ` Shuah Khan
2023-10-09 23:23 ` Florian Fainelli
2023-10-10  6:23 ` Bagas Sanjaya
2023-10-10  7:20 ` Ron Economos
2023-10-10  9:59 ` Jon Hunter
2023-10-10 15:04 ` Naresh Kamboju
2023-10-10 15:10 ` Allen Pais
2023-10-10 18:20 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231009130125.810142036@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=johannes.berg@intel.com \
    --cc=max.schulze@online.de \
    --cc=patches@lists.linux.dev \
    --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