Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit daac197c authored by Dan Carpenter's avatar Dan Carpenter Committed by Marcel Holtmann
Browse files

Bluetooth: 6lowpan: use after free in disconnect_devices()



This was accidentally changed from list_for_each_entry_safe() to
list_for_each_entry() so now it has a use after free bug.  I've changed
it back.

Fixes: 90305829 ('Bluetooth: 6lowpan: Converting rwlocks to use RCU')
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarJukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 38130c31
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1383,7 +1383,7 @@ static const struct file_operations lowpan_control_fops = {

static void disconnect_devices(void)
{
	struct lowpan_dev *entry, *new_dev;
	struct lowpan_dev *entry, *tmp, *new_dev;
	struct list_head devices;

	INIT_LIST_HEAD(&devices);
@@ -1408,7 +1408,7 @@ static void disconnect_devices(void)

	rcu_read_unlock();

	list_for_each_entry(entry, &devices, list) {
	list_for_each_entry_safe(entry, tmp, &devices, list) {
		ifdown(entry->netdev);
		BT_DBG("Unregistering netdev %s %p",
		       entry->netdev->name, entry->netdev);