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: 9030582963
('Bluetooth: 6lowpan: Converting rwlocks to use RCU')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
38130c31ef
commit
daac197ca9
1 changed files with 2 additions and 2 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue