mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 13:34:30 +00:00
thunderbolt: Fix memory leaks in {port|retimer}_sb_regs_write()
Add missing free_page() call for the memory allocated by validate_and_copy_from_user(). Fixes: 6d241fa00159 ("thunderbolt: Add sideband register access to debugfs") Signed-off-by: Aapo Vienamo <aapo.vienamo@linux.intel.com> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
8400291e28
commit
ab3de2c7ec
@ -323,16 +323,17 @@ static ssize_t port_sb_regs_write(struct file *file, const char __user *user_buf
|
||||
|
||||
if (mutex_lock_interruptible(&tb->lock)) {
|
||||
ret = -ERESTARTSYS;
|
||||
goto out_rpm_put;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = sb_regs_write(port, port_sb_regs, ARRAY_SIZE(port_sb_regs),
|
||||
USB4_SB_TARGET_ROUTER, 0, buf, count, ppos);
|
||||
|
||||
mutex_unlock(&tb->lock);
|
||||
out_rpm_put:
|
||||
out:
|
||||
pm_runtime_mark_last_busy(&sw->dev);
|
||||
pm_runtime_put_autosuspend(&sw->dev);
|
||||
free_page((unsigned long)buf);
|
||||
|
||||
return ret < 0 ? ret : count;
|
||||
}
|
||||
@ -355,16 +356,17 @@ static ssize_t retimer_sb_regs_write(struct file *file,
|
||||
|
||||
if (mutex_lock_interruptible(&tb->lock)) {
|
||||
ret = -ERESTARTSYS;
|
||||
goto out_rpm_put;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = sb_regs_write(rt->port, retimer_sb_regs, ARRAY_SIZE(retimer_sb_regs),
|
||||
USB4_SB_TARGET_RETIMER, rt->index, buf, count, ppos);
|
||||
|
||||
mutex_unlock(&tb->lock);
|
||||
out_rpm_put:
|
||||
out:
|
||||
pm_runtime_mark_last_busy(&rt->dev);
|
||||
pm_runtime_put_autosuspend(&rt->dev);
|
||||
free_page((unsigned long)buf);
|
||||
|
||||
return ret < 0 ? ret : count;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user