]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: hci_conn: Use disable_delayed_work_sync
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tue, 1 Oct 2024 16:34:06 +0000 (12:34 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 19:03:56 +0000 (20:03 +0100)
[ Upstream commit 2b0f2fc9ed62e73c95df1fa8ed2ba3dac54699df ]

This makes use of disable_delayed_work_sync instead
cancel_delayed_work_sync as it not only cancel the ongoing work but also
disables new submit which is disarable since the object holding the work
is about to be freed.

Reported-by: syzbot+2446dd3cb07277388db6@syzkaller.appspotmail.com
Tested-by: syzbot+2446dd3cb07277388db6@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=2446dd3cb07277388db6
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bluetooth/hci_conn.c

index a1dfd865d61ab87bc8ebd944b42c530cd8c21f21..e6591f487a5119aefd53e3ff632d1baf53635f73 100644 (file)
@@ -1128,9 +1128,9 @@ void hci_conn_del(struct hci_conn *conn)
 
        hci_conn_unlink(conn);
 
-       cancel_delayed_work_sync(&conn->disc_work);
-       cancel_delayed_work_sync(&conn->auto_accept_work);
-       cancel_delayed_work_sync(&conn->idle_work);
+       disable_delayed_work_sync(&conn->disc_work);
+       disable_delayed_work_sync(&conn->auto_accept_work);
+       disable_delayed_work_sync(&conn->idle_work);
 
        if (conn->type == ACL_LINK) {
                /* Unacked frames */