Skip to content

Commit 58fb5cf

Browse files
lw-karobroonie
authored andcommitted
regulator: fix use after free bug
This is caused by dereferencing 'rdev' after device_unregister() in the regulator_unregister() function. 'rdev' is freed by device_unregister(), so it must not be dereferenced after this call. [Edited commit message for legibility -- broonie] Signed-off-by: Lothar Waßmann <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent d4d6373 commit 58fb5cf

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/regulator/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2799,8 +2799,8 @@ void regulator_unregister(struct regulator_dev *rdev)
27992799
list_del(&rdev->list);
28002800
if (rdev->supply)
28012801
regulator_put(rdev->supply);
2802-
device_unregister(&rdev->dev);
28032802
kfree(rdev->constraints);
2803+
device_unregister(&rdev->dev);
28042804
mutex_unlock(&regulator_list_mutex);
28052805
}
28062806
EXPORT_SYMBOL_GPL(regulator_unregister);

0 commit comments

Comments
 (0)