cxgb4: fix a memory leak bug
[ Upstream commit c554336efa9bbc28d6ec14efbee3c7d63c61a34f ] In blocked_fl_write(), 't' is not deallocated if bitmap_parse_user() fails, leading to a memory leak bug. To fix this issue, free t before returning the error. Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
f46a46a9de
commit
fa6d2679e5
1 changed files with 3 additions and 1 deletions
|
@ -2673,8 +2673,10 @@ static ssize_t blocked_fl_write(struct file *filp, const char __user *ubuf,
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
err = bitmap_parse_user(ubuf, count, t, adap->sge.egr_sz);
|
err = bitmap_parse_user(ubuf, count, t, adap->sge.egr_sz);
|
||||||
if (err)
|
if (err) {
|
||||||
|
kvfree(t);
|
||||||
return err;
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
bitmap_copy(adap->sge.blocked_fl, t, adap->sge.egr_sz);
|
bitmap_copy(adap->sge.blocked_fl, t, adap->sge.egr_sz);
|
||||||
t4_free_mem(t);
|
t4_free_mem(t);
|
||||||
|
|
Loading…
Add table
Reference in a new issue