From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Pauli Virtanen <pav@iki.fi>,
Luiz Augusto von Dentz <luiz.von.dentz@intel.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 148/183] Bluetooth: use RCU for hci_conn_params and iterate safely in hci_sync
Date: Tue, 25 Jul 2023 12:46:16 +0200 [thread overview]
Message-ID: <20230725104513.210229411@linuxfoundation.org> (raw)
In-Reply-To: <20230725104507.756981058@linuxfoundation.org>
From: Pauli Virtanen <pav@iki.fi>
[ Upstream commit 195ef75e19287b4bc413da3e3e3722b030ac881e ]
hci_update_accept_list_sync iterates over hdev->pend_le_conns and
hdev->pend_le_reports, and waits for controller events in the loop body,
without holding hdev lock.
Meanwhile, these lists and the items may be modified e.g. by
le_scan_cleanup. This can invalidate the list cursor or any other item
in the list, resulting to invalid behavior (eg use-after-free).
Use RCU for the hci_conn_params action lists. Since the loop bodies in
hci_sync block and we cannot use RCU or hdev->lock for the whole loop,
copy list items first and then iterate on the copy. Only the flags field
is written from elsewhere, so READ_ONCE/WRITE_ONCE should guarantee we
read valid values.
Free params everywhere with hci_conn_params_free so the cleanup is
guaranteed to be done properly.
This fixes the following, which can be triggered e.g. by BlueZ new
mgmt-tester case "Add + Remove Device Nowait - Success", or by changing
hci_le_set_cig_params to always return false, and running iso-tester:
==================================================================
BUG: KASAN: slab-use-after-free in hci_update_passive_scan_sync (net/bluetooth/hci_sync.c:2536 net/bluetooth/hci_sync.c:2723 net/bluetooth/hci_sync.c:2841)
Read of size 8 at addr ffff888001265018 by task kworker/u3:0/32
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-1.fc38 04/01/2014
Workqueue: hci0 hci_cmd_sync_work
Call Trace:
<TASK>
dump_stack_lvl (./arch/x86/include/asm/irqflags.h:134 lib/dump_stack.c:107)
print_report (mm/kasan/report.c:320 mm/kasan/report.c:430)
? __virt_addr_valid (./include/linux/mmzone.h:1915 ./include/linux/mmzone.h:2011 arch/x86/mm/physaddr.c:65)
? hci_update_passive_scan_sync (net/bluetooth/hci_sync.c:2536 net/bluetooth/hci_sync.c:2723 net/bluetooth/hci_sync.c:2841)
kasan_report (mm/kasan/report.c:538)
? hci_update_passive_scan_sync (net/bluetooth/hci_sync.c:2536 net/bluetooth/hci_sync.c:2723 net/bluetooth/hci_sync.c:2841)
hci_update_passive_scan_sync (net/bluetooth/hci_sync.c:2536 net/bluetooth/hci_sync.c:2723 net/bluetooth/hci_sync.c:2841)
? __pfx_hci_update_passive_scan_sync (net/bluetooth/hci_sync.c:2780)
? mutex_lock (kernel/locking/mutex.c:282)
? __pfx_mutex_lock (kernel/locking/mutex.c:282)
? __pfx_mutex_unlock (kernel/locking/mutex.c:538)
? __pfx_update_passive_scan_sync (net/bluetooth/hci_sync.c:2861)
hci_cmd_sync_work (net/bluetooth/hci_sync.c:306)
process_one_work (./arch/x86/include/asm/preempt.h:27 kernel/workqueue.c:2399)
worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2538)
? __pfx_worker_thread (kernel/workqueue.c:2480)
kthread (kernel/kthread.c:376)
? __pfx_kthread (kernel/kthread.c:331)
ret_from_fork (arch/x86/entry/entry_64.S:314)
</TASK>
Allocated by task 31:
kasan_save_stack (mm/kasan/common.c:46)
kasan_set_track (mm/kasan/common.c:52)
__kasan_kmalloc (mm/kasan/common.c:374 mm/kasan/common.c:383)
hci_conn_params_add (./include/linux/slab.h:580 ./include/linux/slab.h:720 net/bluetooth/hci_core.c:2277)
hci_connect_le_scan (net/bluetooth/hci_conn.c:1419 net/bluetooth/hci_conn.c:1589)
hci_connect_cis (net/bluetooth/hci_conn.c:2266)
iso_connect_cis (net/bluetooth/iso.c:390)
iso_sock_connect (net/bluetooth/iso.c:899)
__sys_connect (net/socket.c:2003 net/socket.c:2020)
__x64_sys_connect (net/socket.c:2027)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
Freed by task 15:
kasan_save_stack (mm/kasan/common.c:46)
kasan_set_track (mm/kasan/common.c:52)
kasan_save_free_info (mm/kasan/generic.c:523)
__kasan_slab_free (mm/kasan/common.c:238 mm/kasan/common.c:200 mm/kasan/common.c:244)
__kmem_cache_free (mm/slub.c:1807 mm/slub.c:3787 mm/slub.c:3800)
hci_conn_params_del (net/bluetooth/hci_core.c:2323)
le_scan_cleanup (net/bluetooth/hci_conn.c:202)
process_one_work (./arch/x86/include/asm/preempt.h:27 kernel/workqueue.c:2399)
worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2538)
kthread (kernel/kthread.c:376)
ret_from_fork (arch/x86/entry/entry_64.S:314)
==================================================================
Fixes: e8907f76544f ("Bluetooth: hci_sync: Make use of hci_cmd_sync_queue set 3")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/bluetooth/hci_core.h | 5 ++
net/bluetooth/hci_conn.c | 10 +--
net/bluetooth/hci_core.c | 38 ++++++++--
net/bluetooth/hci_event.c | 12 ++--
net/bluetooth/hci_sync.c | 117 ++++++++++++++++++++++++++++---
net/bluetooth/mgmt.c | 26 +++----
6 files changed, 164 insertions(+), 44 deletions(-)
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index 84c5ce57eab69..ddbcbf9ccb2ce 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -807,6 +807,7 @@ struct hci_conn_params {
struct hci_conn *conn;
bool explicit_connect;
+ /* Accessed without hdev->lock: */
hci_conn_flags_t flags;
u8 privacy_mode;
};
@@ -1536,7 +1537,11 @@ struct hci_conn_params *hci_conn_params_add(struct hci_dev *hdev,
bdaddr_t *addr, u8 addr_type);
void hci_conn_params_del(struct hci_dev *hdev, bdaddr_t *addr, u8 addr_type);
void hci_conn_params_clear_disabled(struct hci_dev *hdev);
+void hci_conn_params_free(struct hci_conn_params *param);
+void hci_pend_le_list_del_init(struct hci_conn_params *param);
+void hci_pend_le_list_add(struct hci_conn_params *param,
+ struct list_head *list);
struct hci_conn_params *hci_pend_le_action_lookup(struct list_head *list,
bdaddr_t *addr,
u8 addr_type);
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index fef09d2121384..61059571c8779 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -117,7 +117,7 @@ static void hci_connect_le_scan_cleanup(struct hci_conn *conn, u8 status)
*/
params->explicit_connect = false;
- list_del_init(¶ms->action);
+ hci_pend_le_list_del_init(params);
switch (params->auto_connect) {
case HCI_AUTO_CONN_EXPLICIT:
@@ -126,10 +126,10 @@ static void hci_connect_le_scan_cleanup(struct hci_conn *conn, u8 status)
return;
case HCI_AUTO_CONN_DIRECT:
case HCI_AUTO_CONN_ALWAYS:
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
break;
case HCI_AUTO_CONN_REPORT:
- list_add(¶ms->action, &hdev->pend_le_reports);
+ hci_pend_le_list_add(params, &hdev->pend_le_reports);
break;
default:
break;
@@ -1398,8 +1398,8 @@ static int hci_explicit_conn_params_set(struct hci_dev *hdev,
if (params->auto_connect == HCI_AUTO_CONN_DISABLED ||
params->auto_connect == HCI_AUTO_CONN_REPORT ||
params->auto_connect == HCI_AUTO_CONN_EXPLICIT) {
- list_del_init(¶ms->action);
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_del_init(params);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
}
params->explicit_connect = true;
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index ca42129f8f91a..be0e6865b340f 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2249,21 +2249,45 @@ struct hci_conn_params *hci_conn_params_lookup(struct hci_dev *hdev,
return NULL;
}
-/* This function requires the caller holds hdev->lock */
+/* This function requires the caller holds hdev->lock or rcu_read_lock */
struct hci_conn_params *hci_pend_le_action_lookup(struct list_head *list,
bdaddr_t *addr, u8 addr_type)
{
struct hci_conn_params *param;
- list_for_each_entry(param, list, action) {
+ rcu_read_lock();
+
+ list_for_each_entry_rcu(param, list, action) {
if (bacmp(¶m->addr, addr) == 0 &&
- param->addr_type == addr_type)
+ param->addr_type == addr_type) {
+ rcu_read_unlock();
return param;
+ }
}
+ rcu_read_unlock();
+
return NULL;
}
+/* This function requires the caller holds hdev->lock */
+void hci_pend_le_list_del_init(struct hci_conn_params *param)
+{
+ if (list_empty(¶m->action))
+ return;
+
+ list_del_rcu(¶m->action);
+ synchronize_rcu();
+ INIT_LIST_HEAD(¶m->action);
+}
+
+/* This function requires the caller holds hdev->lock */
+void hci_pend_le_list_add(struct hci_conn_params *param,
+ struct list_head *list)
+{
+ list_add_rcu(¶m->action, list);
+}
+
/* This function requires the caller holds hdev->lock */
struct hci_conn_params *hci_conn_params_add(struct hci_dev *hdev,
bdaddr_t *addr, u8 addr_type)
@@ -2297,14 +2321,15 @@ struct hci_conn_params *hci_conn_params_add(struct hci_dev *hdev,
return params;
}
-static void hci_conn_params_free(struct hci_conn_params *params)
+void hci_conn_params_free(struct hci_conn_params *params)
{
+ hci_pend_le_list_del_init(params);
+
if (params->conn) {
hci_conn_drop(params->conn);
hci_conn_put(params->conn);
}
- list_del(¶ms->action);
list_del(¶ms->list);
kfree(params);
}
@@ -2342,8 +2367,7 @@ void hci_conn_params_clear_disabled(struct hci_dev *hdev)
continue;
}
- list_del(¶ms->list);
- kfree(params);
+ hci_conn_params_free(params);
}
BT_DBG("All LE disabled connection parameters were removed");
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index b272cc1f36481..ec9b0612f2761 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1558,7 +1558,7 @@ static u8 hci_cc_le_set_privacy_mode(struct hci_dev *hdev, void *data,
params = hci_conn_params_lookup(hdev, &cp->bdaddr, cp->bdaddr_type);
if (params)
- params->privacy_mode = cp->mode;
+ WRITE_ONCE(params->privacy_mode, cp->mode);
hci_dev_unlock(hdev);
@@ -2809,8 +2809,8 @@ static void hci_cs_disconnect(struct hci_dev *hdev, u8 status)
case HCI_AUTO_CONN_DIRECT:
case HCI_AUTO_CONN_ALWAYS:
- list_del_init(¶ms->action);
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_del_init(params);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
break;
default:
@@ -3428,8 +3428,8 @@ static void hci_disconn_complete_evt(struct hci_dev *hdev, void *data,
case HCI_AUTO_CONN_DIRECT:
case HCI_AUTO_CONN_ALWAYS:
- list_del_init(¶ms->action);
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_del_init(params);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
hci_update_passive_scan(hdev);
break;
@@ -5952,7 +5952,7 @@ static void le_conn_complete_evt(struct hci_dev *hdev, u8 status,
params = hci_pend_le_action_lookup(&hdev->pend_le_conns, &conn->dst,
conn->dst_type);
if (params) {
- list_del_init(¶ms->action);
+ hci_pend_le_list_del_init(params);
if (params->conn) {
hci_conn_drop(params->conn);
hci_conn_put(params->conn);
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index 37131a36700a1..2ae038dfc39f7 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -2139,15 +2139,23 @@ static int hci_le_del_accept_list_sync(struct hci_dev *hdev,
return 0;
}
+struct conn_params {
+ bdaddr_t addr;
+ u8 addr_type;
+ hci_conn_flags_t flags;
+ u8 privacy_mode;
+};
+
/* Adds connection to resolve list if needed.
* Setting params to NULL programs local hdev->irk
*/
static int hci_le_add_resolve_list_sync(struct hci_dev *hdev,
- struct hci_conn_params *params)
+ struct conn_params *params)
{
struct hci_cp_le_add_to_resolv_list cp;
struct smp_irk *irk;
struct bdaddr_list_with_irk *entry;
+ struct hci_conn_params *p;
if (!use_ll_privacy(hdev))
return 0;
@@ -2182,6 +2190,16 @@ static int hci_le_add_resolve_list_sync(struct hci_dev *hdev,
/* Default privacy mode is always Network */
params->privacy_mode = HCI_NETWORK_PRIVACY;
+ rcu_read_lock();
+ p = hci_pend_le_action_lookup(&hdev->pend_le_conns,
+ ¶ms->addr, params->addr_type);
+ if (!p)
+ p = hci_pend_le_action_lookup(&hdev->pend_le_reports,
+ ¶ms->addr, params->addr_type);
+ if (p)
+ WRITE_ONCE(p->privacy_mode, HCI_NETWORK_PRIVACY);
+ rcu_read_unlock();
+
done:
if (hci_dev_test_flag(hdev, HCI_PRIVACY))
memcpy(cp.local_irk, hdev->irk, 16);
@@ -2194,7 +2212,7 @@ static int hci_le_add_resolve_list_sync(struct hci_dev *hdev,
/* Set Device Privacy Mode. */
static int hci_le_set_privacy_mode_sync(struct hci_dev *hdev,
- struct hci_conn_params *params)
+ struct conn_params *params)
{
struct hci_cp_le_set_privacy_mode cp;
struct smp_irk *irk;
@@ -2219,6 +2237,8 @@ static int hci_le_set_privacy_mode_sync(struct hci_dev *hdev,
bacpy(&cp.bdaddr, &irk->bdaddr);
cp.mode = HCI_DEVICE_PRIVACY;
+ /* Note: params->privacy_mode is not updated since it is a copy */
+
return __hci_cmd_sync_status(hdev, HCI_OP_LE_SET_PRIVACY_MODE,
sizeof(cp), &cp, HCI_CMD_TIMEOUT);
}
@@ -2228,7 +2248,7 @@ static int hci_le_set_privacy_mode_sync(struct hci_dev *hdev,
* properly set the privacy mode.
*/
static int hci_le_add_accept_list_sync(struct hci_dev *hdev,
- struct hci_conn_params *params,
+ struct conn_params *params,
u8 *num_entries)
{
struct hci_cp_le_add_to_accept_list cp;
@@ -2426,6 +2446,52 @@ struct sk_buff *hci_read_local_oob_data_sync(struct hci_dev *hdev,
return __hci_cmd_sync_sk(hdev, opcode, 0, NULL, 0, HCI_CMD_TIMEOUT, sk);
}
+static struct conn_params *conn_params_copy(struct list_head *list, size_t *n)
+{
+ struct hci_conn_params *params;
+ struct conn_params *p;
+ size_t i;
+
+ rcu_read_lock();
+
+ i = 0;
+ list_for_each_entry_rcu(params, list, action)
+ ++i;
+ *n = i;
+
+ rcu_read_unlock();
+
+ p = kvcalloc(*n, sizeof(struct conn_params), GFP_KERNEL);
+ if (!p)
+ return NULL;
+
+ rcu_read_lock();
+
+ i = 0;
+ list_for_each_entry_rcu(params, list, action) {
+ /* Racing adds are handled in next scan update */
+ if (i >= *n)
+ break;
+
+ /* No hdev->lock, but: addr, addr_type are immutable.
+ * privacy_mode is only written by us or in
+ * hci_cc_le_set_privacy_mode that we wait for.
+ * We should be idempotent so MGMT updating flags
+ * while we are processing is OK.
+ */
+ bacpy(&p[i].addr, ¶ms->addr);
+ p[i].addr_type = params->addr_type;
+ p[i].flags = READ_ONCE(params->flags);
+ p[i].privacy_mode = READ_ONCE(params->privacy_mode);
+ ++i;
+ }
+
+ rcu_read_unlock();
+
+ *n = i;
+ return p;
+}
+
/* Device must not be scanning when updating the accept list.
*
* Update is done using the following sequence:
@@ -2445,11 +2511,12 @@ struct sk_buff *hci_read_local_oob_data_sync(struct hci_dev *hdev,
*/
static u8 hci_update_accept_list_sync(struct hci_dev *hdev)
{
- struct hci_conn_params *params;
+ struct conn_params *params;
struct bdaddr_list *b, *t;
u8 num_entries = 0;
bool pend_conn, pend_report;
u8 filter_policy;
+ size_t i, n;
int err;
/* Pause advertising if resolving list can be used as controllers
@@ -2483,6 +2550,7 @@ static u8 hci_update_accept_list_sync(struct hci_dev *hdev)
if (hci_conn_hash_lookup_le(hdev, &b->bdaddr, b->bdaddr_type))
continue;
+ /* Pointers not dereferenced, no locks needed */
pend_conn = hci_pend_le_action_lookup(&hdev->pend_le_conns,
&b->bdaddr,
b->bdaddr_type);
@@ -2511,23 +2579,50 @@ static u8 hci_update_accept_list_sync(struct hci_dev *hdev)
* available accept list entries in the controller, then
* just abort and return filer policy value to not use the
* accept list.
+ *
+ * The list and params may be mutated while we wait for events,
+ * so make a copy and iterate it.
*/
- list_for_each_entry(params, &hdev->pend_le_conns, action) {
- err = hci_le_add_accept_list_sync(hdev, params, &num_entries);
- if (err)
+
+ params = conn_params_copy(&hdev->pend_le_conns, &n);
+ if (!params) {
+ err = -ENOMEM;
+ goto done;
+ }
+
+ for (i = 0; i < n; ++i) {
+ err = hci_le_add_accept_list_sync(hdev, ¶ms[i],
+ &num_entries);
+ if (err) {
+ kvfree(params);
goto done;
+ }
}
+ kvfree(params);
+
/* After adding all new pending connections, walk through
* the list of pending reports and also add these to the
* accept list if there is still space. Abort if space runs out.
*/
- list_for_each_entry(params, &hdev->pend_le_reports, action) {
- err = hci_le_add_accept_list_sync(hdev, params, &num_entries);
- if (err)
+
+ params = conn_params_copy(&hdev->pend_le_reports, &n);
+ if (!params) {
+ err = -ENOMEM;
+ goto done;
+ }
+
+ for (i = 0; i < n; ++i) {
+ err = hci_le_add_accept_list_sync(hdev, ¶ms[i],
+ &num_entries);
+ if (err) {
+ kvfree(params);
goto done;
+ }
}
+ kvfree(params);
+
/* Use the allowlist unless the following conditions are all true:
* - We are not currently suspending
* - There are 1 or more ADV monitors registered and it's not offloaded
@@ -4778,12 +4873,12 @@ static void hci_pend_le_actions_clear(struct hci_dev *hdev)
struct hci_conn_params *p;
list_for_each_entry(p, &hdev->le_conn_params, list) {
+ hci_pend_le_list_del_init(p);
if (p->conn) {
hci_conn_drop(p->conn);
hci_conn_put(p->conn);
p->conn = NULL;
}
- list_del_init(&p->action);
}
BT_DBG("All LE pending actions cleared");
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 815f2abe918ef..89c94f3e96bc3 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -1297,15 +1297,15 @@ static void restart_le_actions(struct hci_dev *hdev)
/* Needed for AUTO_OFF case where might not "really"
* have been powered off.
*/
- list_del_init(&p->action);
+ hci_pend_le_list_del_init(p);
switch (p->auto_connect) {
case HCI_AUTO_CONN_DIRECT:
case HCI_AUTO_CONN_ALWAYS:
- list_add(&p->action, &hdev->pend_le_conns);
+ hci_pend_le_list_add(p, &hdev->pend_le_conns);
break;
case HCI_AUTO_CONN_REPORT:
- list_add(&p->action, &hdev->pend_le_reports);
+ hci_pend_le_list_add(p, &hdev->pend_le_reports);
break;
default:
break;
@@ -5161,7 +5161,7 @@ static int set_device_flags(struct sock *sk, struct hci_dev *hdev, void *data,
goto unlock;
}
- params->flags = current_flags;
+ WRITE_ONCE(params->flags, current_flags);
status = MGMT_STATUS_SUCCESS;
/* Update passive scan if HCI_CONN_FLAG_DEVICE_PRIVACY
@@ -7573,7 +7573,7 @@ static int hci_conn_params_set(struct hci_dev *hdev, bdaddr_t *addr,
if (params->auto_connect == auto_connect)
return 0;
- list_del_init(¶ms->action);
+ hci_pend_le_list_del_init(params);
switch (auto_connect) {
case HCI_AUTO_CONN_DISABLED:
@@ -7582,18 +7582,18 @@ static int hci_conn_params_set(struct hci_dev *hdev, bdaddr_t *addr,
* connect to device, keep connecting.
*/
if (params->explicit_connect)
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
break;
case HCI_AUTO_CONN_REPORT:
if (params->explicit_connect)
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
else
- list_add(¶ms->action, &hdev->pend_le_reports);
+ hci_pend_le_list_add(params, &hdev->pend_le_reports);
break;
case HCI_AUTO_CONN_DIRECT:
case HCI_AUTO_CONN_ALWAYS:
if (!is_connected(hdev, addr, addr_type))
- list_add(¶ms->action, &hdev->pend_le_conns);
+ hci_pend_le_list_add(params, &hdev->pend_le_conns);
break;
}
@@ -7816,9 +7816,7 @@ static int remove_device(struct sock *sk, struct hci_dev *hdev,
goto unlock;
}
- list_del(¶ms->action);
- list_del(¶ms->list);
- kfree(params);
+ hci_conn_params_free(params);
device_removed(sk, hdev, &cp->addr.bdaddr, cp->addr.type);
} else {
@@ -7849,9 +7847,7 @@ static int remove_device(struct sock *sk, struct hci_dev *hdev,
p->auto_connect = HCI_AUTO_CONN_EXPLICIT;
continue;
}
- list_del(&p->action);
- list_del(&p->list);
- kfree(p);
+ hci_conn_params_free(p);
}
bt_dev_dbg(hdev, "All LE connection parameters were removed");
--
2.39.2
next prev parent reply other threads:[~2023-07-25 11:07 UTC|newest]
Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-25 10:43 [PATCH 6.1 000/183] 6.1.42-rc1 review Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 001/183] io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 002/183] ALSA: hda/realtek - remove 3k pull low procedure Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 003/183] ALSA: hda/realtek: Add quirk for Clevo NS70AU Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 004/183] ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 005/183] maple_tree: set the node limit when creating a new root node Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 006/183] maple_tree: fix node allocation testing on 32 bit Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 007/183] keys: Fix linking a duplicate key to a keyrings assoc_array Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 008/183] perf probe: Add test for regression introduced by switch to die_get_decl_file() Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 009/183] btrfs: fix warning when putting transaction with qgroups enabled after abort Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 010/183] fuse: revalidate: dont invalidate if interrupted Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 011/183] fuse: Apply flags2 only when userspace set the FUSE_INIT_EXT Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 012/183] btrfs: set_page_extent_mapped after read_folio in btrfs_cont_expand Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 013/183] btrfs: zoned: fix memory leak after finding block group with super blocks Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 014/183] fuse: ioctl: translate ENOSYS in outarg Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 015/183] btrfs: fix race between balance and cancel/pause Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 016/183] selftests: tc: set timeout to 15 minutes Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 017/183] selftests: tc: add ct action kconfig dep Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 018/183] regmap: Drop initial version of maximum transfer length fixes Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 019/183] of: Preserve "of-display" device name for compatibility Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 020/183] regmap: Account for register length in SMBus I/O limits Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 021/183] arm64/fpsimd: Ensure SME storage is allocated after SVE VL changes Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 022/183] can: mcp251xfd: __mcp251xfd_chip_set_mode(): increase poll timeout Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 023/183] can: bcm: Fix UAF in bcm_proc_show() Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 024/183] can: gs_usb: gs_can_open(): improve error handling Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 025/183] selftests: tc: add ConnTrack procfs kconfig Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 026/183] dma-buf/dma-resv: Stop leaking on krealloc() failure Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 027/183] drm/amdgpu/vkms: relax timer deactivation by hrtimer_try_to_cancel Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 028/183] drm/amdgpu/pm: make gfxclock consistent for sienna cichlid Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 029/183] drm/amdgpu/pm: make mclk consistent for smu 13.0.7 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 030/183] drm/client: Fix memory leak in drm_client_target_cloned Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 031/183] drm/client: Fix memory leak in drm_client_modeset_probe Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 032/183] drm/amd/display: only accept async flips for fast updates Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 033/183] drm/amd/display: Disable MPC split by default on special asic Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 034/183] drm/amd/display: check TG is non-null before checking if enabled Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 035/183] drm/amd/display: Keep PHY active for DP displays on DCN31 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 036/183] ASoC: fsl_sai: Disable bit clock with transmitter Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 037/183] ASoC: fsl_sai: Revert "ASoC: fsl_sai: Enable MCTL_MCLK_EN bit for master mode" Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 038/183] ASoC: tegra: Fix ADX byte map Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 039/183] ASoC: rt5640: Fix sleep in atomic context Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 040/183] ASoC: cs42l51: fix driver to properly autoload with automatic module loading Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 041/183] ASoC: codecs: wcd938x: fix missing clsh ctrl error handling Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 042/183] ASoC: codecs: wcd-mbhc-v2: fix resource leaks on component remove Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 043/183] ASoC: qdsp6: audioreach: fix topology probe deferral Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 044/183] ASoC: tegra: Fix AMX byte map Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 045/183] ASoC: codecs: wcd938x: fix resource leaks on component remove Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 046/183] ASoC: codecs: wcd938x: fix missing mbhc init error handling Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 047/183] ASoC: codecs: wcd934x: fix resource leaks on component remove Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 048/183] ASoC: codecs: wcd938x: fix codec initialisation race Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 049/183] ASoC: codecs: wcd938x: fix soundwire " Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 050/183] ext4: correct inline offset when handling xattrs in inode body Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 051/183] [PATCH AUTOSEL 4.19 01/11] drm/radeon: Fix integer overflow in radeon_cs_parser_init Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 052/183] [PATCH AUTOSEL 4.19 02/11] ALSA: emu10k1: roll up loops in DSP setup code for Audigy Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 053/183] [PATCH AUTOSEL 4.19 03/11] quota: Properly disable quotas when add_dquot_ref() fails Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 054/183] [PATCH AUTOSEL 4.19 04/11] quota: fix warning in dqgrab() Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 055/183] [PATCH AUTOSEL 4.19 05/11] HID: add quirk for 03f0:464a HP Elite Presenter Mouse Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 056/183] [PATCH AUTOSEL 4.19 06/11] ovl: check type and offset of struct vfsmount in ovl_entry Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 057/183] [PATCH AUTOSEL 4.19 07/11] udf: Fix uninitialized array access for some pathnames Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 058/183] [PATCH AUTOSEL 4.19 08/11] fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 059/183] [PATCH AUTOSEL 4.19 09/11] MIPS: dec: prom: Address -Warray-bounds warning Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 060/183] [PATCH AUTOSEL 4.19 10/11] FS: JFS: Fix null-ptr-deref Read in txBegin Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 061/183] [PATCH AUTOSEL 4.19 11/11] FS: JFS: Check for read-only mounted filesystem " Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 062/183] ACPI: video: Add backlight=native DMI quirk for Dell Studio 1569 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 063/183] rcu-tasks: Avoid pr_info() with spin lock in cblist_init_generic() Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 064/183] rcu: Mark additional concurrent load from ->cpu_no_qs.b.exp Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 065/183] sched/fair: Dont balance task to its current running CPU Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 066/183] wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 067/183] bpf: Print a warning only if writing to unprivileged_bpf_disabled Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 068/183] bpf: Address KCSAN report on bpf_lru_list Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 069/183] bpf: tcp: Avoid taking fast sock lock in iterator Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 070/183] wifi: ath11k: add support default regdb while searching board-2.bin for WCN6855 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 071/183] wifi: mac80211_hwsim: Fix possible NULL dereference Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 072/183] spi: dw: Add compatible for Intel Mount Evans SoC Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 073/183] wifi: ath11k: fix memory leak in WMI firmware stats Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 074/183] net: ethernet: litex: add support for 64 bit stats Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 075/183] devlink: report devlink_port_type_warn source device Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 076/183] wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 077/183] wifi: iwlwifi: Add support for new PCI Id Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 078/183] wifi: iwlwifi: mvm: avoid baid size integer overflow Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 079/183] wifi: iwlwifi: pcie: add device id 51F1 for killer 1675 Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 080/183] igb: Fix igb_down hung on surprise removal Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 081/183] net: hns3: fix strncpy() not using dest-buf length as length issue Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 082/183] ASoC: amd: acp: fix for invalid dai id handling in acp_get_byte_count() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 083/183] ASoC: codecs: wcd938x: fix mbhc impedance loglevel Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 084/183] ASoC: codecs: wcd938x: fix dB range for HPHL and HPHR Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 085/183] ASoC: qcom: q6apm: do not close GPR port before closing graph Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 086/183] sched/fair: Use recent_used_cpu to test p->cpus_ptr Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 087/183] sched/psi: Fix avgs_work re-arm in psi_avgs_work() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 088/183] sched/psi: Rearrange polling code in preparation Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 089/183] sched/psi: Rename existing poll members " Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 090/183] sched/psi: Extract update_triggers side effect Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 091/183] sched/psi: Allow unprivileged polling of N*2s period Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 092/183] sched/psi: use kernfs polling functions for PSI trigger polling Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 093/183] pinctrl: renesas: rzv2m: Handle non-unique subnode names Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 094/183] pinctrl: renesas: rzg2l: " Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 095/183] spi: bcm63xx: fix max prepend length Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 096/183] fbdev: imxfb: warn about invalid left/right margin Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 097/183] fbdev: imxfb: Removed unneeded release_mem_region Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 098/183] perf build: Fix library not found error when using CSLIBS Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 099/183] btrfs: be a bit more careful when setting mirror_num_ret in btrfs_map_block Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 100/183] spi: s3c64xx: clear loopback bit after loopback test Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 101/183] kallsyms: Improve the performance of kallsyms_lookup_name() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 102/183] kallsyms: Correctly sequence symbols when CONFIG_LTO_CLANG=y Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 103/183] kallsyms: strip LTO-only suffixes from promoted global functions Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 104/183] dsa: mv88e6xxx: Do a final check before timing out Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 105/183] net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 106/183] bridge: Add extack warning when enabling STP in netns Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 107/183] net: ethernet: mtk_eth_soc: handle probe deferral Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 108/183] cifs: fix mid leak during reconnection after timeout threshold Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 109/183] ASoC: SOF: ipc3-dtrace: uninitialized data in dfsentry_trace_filter_write() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 110/183] net: sched: cls_matchall: Undo tcf_bind_filter in case of failure after mall_set_parms Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 111/183] net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 112/183] net: sched: cls_u32: Undo refcount decrement in case update failed Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 113/183] net: sched: cls_bpf: Undo tcf_bind_filter in case of an error Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 114/183] net: dsa: microchip: ksz8: Separate static MAC table operations for code reuse Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 115/183] net: dsa: microchip: ksz8: Make ksz8_r_sta_mac_table() static Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 116/183] net: dsa: microchip: ksz8_r_sta_mac_table(): Avoid using error code for empty entries Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 117/183] net: dsa: microchip: correct KSZ8795 static MAC table access Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 118/183] iavf: Fix use-after-free in free_netdev Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 119/183] iavf: Fix out-of-bounds when setting channels on remove Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 120/183] iavf: use internal state to free traffic IRQs Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 121/183] iavf: Move netdev_update_features() into watchdog task Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 122/183] iavf: send VLAN offloading caps once after VFR Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 123/183] iavf: make functions static where possible Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 124/183] iavf: Wait for reset in callbacks which trigger it Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 125/183] iavf: fix a deadlock caused by rtnl and drivers lock circular dependencies Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 126/183] iavf: fix reset task race with iavf_remove() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 127/183] security: keys: Modify mismatched function name Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 128/183] octeontx2-pf: Dont allocate BPIDs for LBK interfaces Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 129/183] bpf: Fix subprog idx logic in check_max_stack_depth Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 130/183] bpf: Repeat check_max_stack_depth for async callbacks Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 131/183] bpf, arm64: Fix BTI type used for freplace attached functions Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 132/183] igc: Avoid transmit queue timeout for XDP Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 133/183] igc: Prevent garbled TX queue with XDP ZEROCOPY Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 134/183] net: ipv4: use consistent txhash in TIME_WAIT and SYN_RECV Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 135/183] tcp: annotate data-races around tcp_rsk(req)->txhash Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 136/183] tcp: annotate data-races around tcp_rsk(req)->ts_recent Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 137/183] net: ipv4: Use kfree_sensitive instead of kfree Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 138/183] net:ipv6: check return value of pskb_trim() Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 139/183] Revert "tcp: avoid the lookup process failing to get sk in ehash table" Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 140/183] fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 141/183] llc: Dont drop packet from non-root netns Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 142/183] ALSA: hda/realtek: Fix generic fixup definition for cs35l41 amp Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 143/183] netfilter: nf_tables: fix spurious set element insertion failure Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 144/183] netfilter: nf_tables: cant schedule in nft_chain_validate Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 145/183] netfilter: nft_set_pipapo: fix improper element removal Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 146/183] netfilter: nf_tables: skip bound chain in netns release path Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 147/183] netfilter: nf_tables: skip bound chain on rule flush Greg Kroah-Hartman
2023-07-25 10:46 ` Greg Kroah-Hartman [this message]
2023-07-25 10:46 ` [PATCH 6.1 149/183] Bluetooth: hci_event: call disconnect callback before deleting conn Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 150/183] Bluetooth: ISO: fix iso_conn related locking and validity issues Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 151/183] Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor() Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 152/183] tcp: annotate data-races around tp->tcp_tx_delay Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 153/183] tcp: annotate data-races around tp->tsoffset Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 154/183] tcp: annotate data-races around tp->keepalive_time Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 155/183] tcp: annotate data-races around tp->keepalive_intvl Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 156/183] tcp: annotate data-races around tp->keepalive_probes Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 157/183] tcp: annotate data-races around icsk->icsk_syn_retries Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 158/183] tcp: annotate data-races around tp->linger2 Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 159/183] tcp: annotate data-races around rskq_defer_accept Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 160/183] tcp: annotate data-races around tp->notsent_lowat Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 161/183] tcp: annotate data-races around icsk->icsk_user_timeout Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 162/183] tcp: annotate data-races around fastopenq.max_qlen Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 163/183] net: phy: prevent stale pointer dereference in phy_init() Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 164/183] jbd2: recheck chechpointing non-dirty buffer Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 165/183] tracing/histograms: Return an error if we fail to add histogram to hist_vars list Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 166/183] drm/ttm: fix bulk_move corruption when adding a entry Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 167/183] spi: dw: Remove misleading comment for Mount Evans SoC Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 168/183] kallsyms: add kallsyms_seqs_of_names to list of special symbols Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 169/183] scripts/kallsyms.c Make the comment up-to-date with current implementation Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 170/183] scripts/kallsyms: update the usage in the comment block Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 171/183] bpf: allow precision tracking for programs with subprogs Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 172/183] bpf: stop setting precise in current state Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 173/183] bpf: aggressively forget precise markings during state checkpointing Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 174/183] selftests/bpf: make test_align selftest more robust Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 175/183] selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func_replace_return_code Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 176/183] selftests/bpf: Fix sk_assign on s390x Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 177/183] drm/amd/display: use max_dsc_bpp in amdgpu_dm Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 178/183] drm/amd/display: fix some coding style issues Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 179/183] drm/dp_mst: Clear MSG_RDY flag before sending new message Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 180/183] drm/amd/display: force connector state when bpc changes during compliance Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 181/183] drm/amd/display: Clean up errors & warnings in amdgpu_dm.c Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 182/183] drm/amd/display: fix linux dp link lost handled only one time Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 183/183] drm/amd/display: Add polling method to handle MST reply packet Greg Kroah-Hartman
2023-07-25 12:33 ` [PATCH 6.1 000/183] 6.1.42-rc1 review Takeshi Ogasawara
2023-07-25 16:27 ` Jon Hunter
2023-07-25 18:10 ` SeongJae Park
2023-07-25 20:16 ` Shuah Khan
2023-07-25 22:22 ` Florian Fainelli
2023-07-26 4:23 ` Bagas Sanjaya
2023-07-26 9:28 ` Conor Dooley
2023-07-26 10:38 ` Naresh Kamboju
2023-07-26 13:13 ` Ron Economos
2023-07-27 0:02 ` Guenter Roeck
2023-07-27 4:01 ` Joel Fernandes
2023-07-27 11:42 ` Pavel Machek
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=20230725104513.210229411@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=luiz.von.dentz@intel.com \
--cc=patches@lists.linux.dev \
--cc=pav@iki.fi \
--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