Message ID | 1435609020-18695-1-git-send-email-colin.king@canonical.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Monday, June 29, 2015 09:17:00 PM Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > static analysis from cppcheck detected a memory leak: > [drivers/acpi/resource.c:664]: (error) Memory leak: reg > > the error path on a failed request_range call should free > reg before returning. Bug introduced in the recent commit > 0f1b414d190724617eb1cdd615592fa8cd9d0b50 > ("ACPI / PNP: Avoid conflicting resource reservations") > > Fixes: 0f1b414d19 ("ACPI / PNP: Avoid conflicting resource reservations") > Signed-off-by: Colin Ian King <colin.king@canonical.com> I have this fix queued up already as: http://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git/commit/?h=linux-next&id=7bc10388ccdd79b3d20463151a1f8e7a590a775b > --- > drivers/acpi/resource.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c > index fcb7807..10561ce 100644 > --- a/drivers/acpi/resource.c > +++ b/drivers/acpi/resource.c > @@ -660,8 +660,10 @@ static int add_region_before(u64 start, u64 end, u8 space_id, > return -ENOMEM; > > error = request_range(start, end, space_id, flags, desc); > - if (error) > + if (error) { > + kfree(reg); > return error; > + } > > reg->start = start; > reg->end = end; >
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index fcb7807..10561ce 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c @@ -660,8 +660,10 @@ static int add_region_before(u64 start, u64 end, u8 space_id, return -ENOMEM; error = request_range(start, end, space_id, flags, desc); - if (error) + if (error) { + kfree(reg); return error; + } reg->start = start; reg->end = end;