<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:΢ÈíÑźÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>> Date: Tue, 16 Jun 2015 11:14:51 -0400<br>> From: anderson@redhat.com<br>> To: crash-utility@redhat.com<br>> Subject: Re: [Crash-utility] [PATCH] Fix memory leaks in dump_mem_map when SPARSEMEM is enabled<br>> <br>> <br>> Hi Oliver,<br>> <br>> Since it's a GETBUF() call, it's not really a memory leak (by design). </div><div><br></div><div>Dave,</div><div><br></div><div>Sorry, I'm not familiar the code. </div><div><br></div><div>If the <span style="font-size: 12pt;">dump_mem_map get called in a thousand loop, the crash could reported memory allocation errors and exit the loop.</span></div><div>After I fixed with this patch, the issue got disappeared.</div><div><br></div><div>I'm not sure you know the reason, if not, I can show you the error messages.</div><div> <br>> But it's certainly unnecessary for CONFIG_SPARSEMEM kernels. Queued<br>> for crash-7.1.2:<br>> <br>> https://github.com/crash-utility/crash/commit/005eb9e502056a09196f6507162648c796e36f95<br>> <br>> Thanks,<br>> Dave<br>> <br>> <br>> ----- Original Message -----<br>> > Signed-off-by: Yong Yang <yangoliver@gmail.com><br>> > ---<br>> > memory.c | 7 +++----<br>> > 1 file changed, 3 insertions(+), 4 deletions(-)<br>> > <br>> > diff --git a/memory.c b/memory.c<br>> > index 32427ea..765732b 100644<br>> > --- a/memory.c<br>> > +++ b/memory.c<br>> > @@ -5734,10 +5734,6 @@ dump_mem_map(struct meminfo *mi)<br>> > long buffersize;<br>> > char *outputbuffer;<br>> > int bufferindex;<br>> > -<br>> > - buffersize = 1024 * 1024;<br>> > - outputbuffer = GETBUF(buffersize + 512);<br>> > -<br>> > char style1[100];<br>> > char style2[100];<br>> > char style3[100];<br>> > @@ -5748,6 +5744,9 @@ dump_mem_map(struct meminfo *mi)<br>> > return;<br>> > }<br>> > <br>> > + buffersize = 1024 * 1024;<br>> > + outputbuffer = GETBUF(buffersize + 512);<br>> > +<br>> > sprintf((char *)&style1, "%%lx%s%%%dllx%s%%%dlx%s%%8lx %%2d%s",<br>> > space(MINSPACE),<br>> > (int)MAX(PADDR_PRLEN, strlen("PHYSICAL")),<br>> > --<br>> > 1.9.1<br>> > <br>> > --<br>> > Crash-utility mailing list<br>> > Crash-utility@redhat.com<br>> > https://www.redhat.com/mailman/listinfo/crash-utility<br>> > <br>> <br>> --<br>> Crash-utility mailing list<br>> Crash-utility@redhat.com<br>> https://www.redhat.com/mailman/listinfo/crash-utility<br></div> </div></body>
</html>