* [PATCH] btt: fix potential memory leak problem in io_free_all()
@ 2021-09-17 9:18 songkai
2021-09-20 18:08 ` Jeff Moyer
2021-09-23 1:02 ` Harris song (宋凯)-浪潮信息
0 siblings, 2 replies; 3+ messages in thread
From: songkai @ 2021-09-17 9:18 UTC (permalink / raw)
To: linux-btrace
In “struct io” , the "void *pdu" member points to the memory
which is allocated in convert_to_cpu(). We should free memory
pdu point to before we free "struct io", or memory leak occurred.
Signed-off-by: songkai <songkai01@inspur.com>
---
btt/inlines.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/btt/inlines.h b/btt/inlines.h
index 64b5a2c..fa5a546 100644
--- a/btt/inlines.h
+++ b/btt/inlines.h
@@ -153,6 +153,9 @@ static inline void io_free_all(void)
list_for_each_safe(p, q, &all_ios) {
iop = list_entry(p, struct io, a_head);
+
+ if (iop->pdu)
+ free(iop->pdu);
free(iop);
}
}
--
2.27.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] btt: fix potential memory leak problem in io_free_all()
2021-09-17 9:18 [PATCH] btt: fix potential memory leak problem in io_free_all() songkai
@ 2021-09-20 18:08 ` Jeff Moyer
2021-09-23 1:02 ` Harris song (宋凯)-浪潮信息
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Moyer @ 2021-09-20 18:08 UTC (permalink / raw)
To: linux-btrace
songkai <songkai01@inspur.com> writes:
> In “struct io” , the "void *pdu" member points to the memory
> which is allocated in convert_to_cpu(). We should free memory
> pdu point to before we free "struct io", or memory leak occurred.
That should be freed via io_release. Do you know of a case where that
doesn't happen? Also, io_free_all is only called right before exit.
I'm not sure this patch really plugs a leak that would impact normal
operations.
The patch seems harmless, but I'm not sure it's needed.
Cheers,
Jeff
>
> Signed-off-by: songkai <songkai01@inspur.com>
> ---
> btt/inlines.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/btt/inlines.h b/btt/inlines.h
> index 64b5a2c..fa5a546 100644
> --- a/btt/inlines.h
> +++ b/btt/inlines.h
> @@ -153,6 +153,9 @@ static inline void io_free_all(void)
>
> list_for_each_safe(p, q, &all_ios) {
> iop = list_entry(p, struct io, a_head);
> +
> + if (iop->pdu)
> + free(iop->pdu);
> free(iop);
> }
> }
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] btt: fix potential memory leak problem in io_free_all()
2021-09-17 9:18 [PATCH] btt: fix potential memory leak problem in io_free_all() songkai
2021-09-20 18:08 ` Jeff Moyer
@ 2021-09-23 1:02 ` Harris song (宋凯)-浪潮信息
1 sibling, 0 replies; 3+ messages in thread
From: Harris song (宋凯)-浪潮信息 @ 2021-09-23 1:02 UTC (permalink / raw)
To: linux-btrace
SGkgSmVmZiwNCiANCj4gc29uZ2thaSA8c29uZ2thaTAxQGluc3B1ci5jb20+IHdyaXRlczoNCj4g
DQo+ID4gSW4g4oCcc3RydWN0IGlv4oCdICwgdGhlICJ2b2lkICpwZHUiIG1lbWJlciBwb2ludHMg
dG8gdGhlIG1lbW9yeSB3aGljaCBpcw0KPiA+IGFsbG9jYXRlZCBpbiBjb252ZXJ0X3RvX2NwdSgp
LiBXZSBzaG91bGQgZnJlZSBtZW1vcnkgcGR1IHBvaW50IHRvDQo+ID4gYmVmb3JlIHdlIGZyZWUg
InN0cnVjdCBpbyIsIG9yIG1lbW9yeSBsZWFrIG9jY3VycmVkLg0KPiANCj4gVGhhdCBzaG91bGQg
YmUgZnJlZWQgdmlhIGlvX3JlbGVhc2UuICBEbyB5b3Uga25vdyBvZiBhIGNhc2Ugd2hlcmUgdGhh
dCBkb2Vzbid0DQo+IGhhcHBlbj8gIEFsc28sIGlvX2ZyZWVfYWxsIGlzIG9ubHkgY2FsbGVkIHJp
Z2h0IGJlZm9yZSBleGl0Lg0KPiBJJ20gbm90IHN1cmUgdGhpcyBwYXRjaCByZWFsbHkgcGx1Z3Mg
YSBsZWFrIHRoYXQgd291bGQgaW1wYWN0IG5vcm1hbA0KPiBvcGVyYXRpb25zLg0KPiANCj4gVGhl
IHBhdGNoIHNlZW1zIGhhcm1sZXNzLCBidXQgSSdtIG5vdCBzdXJlIGl0J3MgbmVlZGVkLg0KDQpU
aGFuayB5b3UgZm9yIHlvdXIgcmVtaW5kaW5nLiBTbyBmYXIsIEkgY2FuJ3QgZmluZCBhIGNhc2Ug
ZWl0aGVyLg0KRnJlZWluZyBwZHUgaW4gaW9fcmVsZWFzZSBzZWVtcyBsaWtlIGVub3VnaC4gTXkg
b3JpZ2luYWwgaW50ZW50aW9uIGlzIHRoYXQsIA0Kd2hlbiBjYWxsaW5nIGlvX2ZyZWVfYWxsIGJl
Zm9yZSBidHQgZXhpdHMsIHRoZXJlIGFyZSBzdGlsbCAgc29tZSBJT3MgaW4gdGhlIGFsbF9pb3Ms
IA0KSSBhbSBub3Qgc3VyZSBpZiBhbGwgdGhlIHBkdSBpcyBmcmVlZCBiZWZvcmUsIGp1c3QgbGlr
ZSBkaXAgYW5kIHBpcC4gDQoNClRoYW5rcyBhZ2Fpbi4gDQoNClJlZ2FyZHMsDQpzb25na2FpDQog
DQoNCj4gPiBTaWduZWQtb2ZmLWJ5OiBzb25na2FpIDxzb25na2FpMDFAaW5zcHVyLmNvbT4NCj4g
PiAtLS0NCj4gPiAgYnR0L2lubGluZXMuaCB8IDMgKysrDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAz
IGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9idHQvaW5saW5lcy5oIGIvYnR0
L2lubGluZXMuaCBpbmRleCA2NGI1YTJjLi5mYTVhNTQ2DQo+ID4gMTAwNjQ0DQo+ID4gLS0tIGEv
YnR0L2lubGluZXMuaA0KPiA+ICsrKyBiL2J0dC9pbmxpbmVzLmgNCj4gPiBAQCAtMTUzLDYgKzE1
Myw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpb19mcmVlX2FsbCh2b2lkKQ0KPiA+DQo+ID4gIAls
aXN0X2Zvcl9lYWNoX3NhZmUocCwgcSwgJmFsbF9pb3MpIHsNCj4gPiAgCQlpb3AgPSBsaXN0X2Vu
dHJ5KHAsIHN0cnVjdCBpbywgYV9oZWFkKTsNCj4gPiArDQo+ID4gKwkJaWYgKGlvcC0+cGR1KQ0K
PiA+ICsJCQlmcmVlKGlvcC0+cGR1KTsNCj4gPiAgCQlmcmVlKGlvcCk7DQo+ID4gIAl9DQo+ID4g
IH0NCg0K
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-23 1:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-17 9:18 [PATCH] btt: fix potential memory leak problem in io_free_all() songkai
2021-09-20 18:08 ` Jeff Moyer
2021-09-23 1:02 ` Harris song (宋凯)-浪潮信息
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.