mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()
We have to use the _safe version of list_for_each() because we're
freeing the pointer as we go along. (This might not show up testing
depending on what config options you have enabled).
Fixes: 0fe88461a0
("mailbox: Add Tegra HSP driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
0fe88461a0
commit
68050eb6c6
@ -334,12 +334,12 @@ static struct mbox_chan *of_tegra_hsp_xlate(struct mbox_controller *mbox,
|
||||
|
||||
static void tegra_hsp_remove_doorbells(struct tegra_hsp *hsp)
|
||||
{
|
||||
struct tegra_hsp_doorbell *db;
|
||||
struct tegra_hsp_doorbell *db, *tmp;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&hsp->lock, flags);
|
||||
|
||||
list_for_each_entry(db, &hsp->doorbells, list)
|
||||
list_for_each_entry_safe(db, tmp, &hsp->doorbells, list)
|
||||
__tegra_hsp_doorbell_destroy(db);
|
||||
|
||||
spin_unlock_irqrestore(&hsp->lock, flags);
|
||||
|
Loading…
Reference in New Issue
Block a user