[Swan-dev] Electric Fence
Andrew Cagney
andrew.cagney at gmail.com
Wed Jan 31 19:52:35 UTC 2018
OK, I'll start with an easy way to enable it.
BTW, I think I figured out the memory leak I introduced with
commit 4d69de5fd5a24a88746eeb130ca830ba813e7210 (HEAD)
crypto: suspend the MD in complete_*_state_transition() when STF_SUSPEND
in the xauth code. It's a variation on the below. Previously:
- xauth would save MD into .st_suspended_md (this acts as a flag to
say 'suspended')
- xauth would return STF_IGNORE, so complete_v1() would do nothing,
and caller would would release MD (.st_suspended_md is now dangling)
- time would pass
- xauth's callback would unsuspend MD but never touch it
I changed it to:
- xauth return STF_SUSPEND
- complete_v1*() then saves MD
- time passes
- xauth callback would then:
unsuspend_md(st); /* XXX: where does this MD go? */
I don't think electric fence would have helped. However a probe
function like pvalid(address) would trigger it where that tries to
examine things :-)
On 30 January 2018 at 20:54, Paul Wouters <paul at nohats.ca> wrote:
> On Mon, 15 Jan 2018, D. Hugh Redelmeier wrote:
>
>> I think that efence would not significantly increase the runtime of our
>> test suit (this needs to be verified). It would significantly improve the
>> chance of catching errors like this.
>>
>> It is true that we had a pool of unused mds to reduce the pressure on
>> malloc. That would mean that efence would be ineffective for most mds.
>> I think that Andrew removed this pool. In any case, there was a
>> compile-time flag to remove it.
>
>
> Was it removed? I vaguely remember it being removed but restored?
>
>> Recommendation: enable efence in test suite.
>
>
> That I agree with. Andrew, can you change the run on testing.libreswan
> to set EFENCE=-lefence either on the cmdline or in Makefile.inc.local ?
>
> Paul
>
> _______________________________________________
> Swan-dev mailing list
> Swan-dev at lists.libreswan.org
> https://lists.libreswan.org/mailman/listinfo/swan-dev
More information about the Swan-dev
mailing list