VIMAGE UDP memory leak fix

Robert N. M. Watson rwatson at FreeBSD.org
Fri Nov 21 10:19:24 UTC 2014


On 21 Nov 2014, at 09:45, Marko Zec <zec at fer.hr> wrote:

>> And, to respond to your more general comment: I agree that a decision
>> about removing the NOFREE flag should be made independently of
>> choices about devirtualisation. The former probably should be sorted
>> out at this point, as eliminating NOFREE zones has more general
>> benefits to the kernel, but it would be nice not to depend on that to
>> resolve other problems. It could be that a few of us scratching our
>> heads for a few hours each can resolve whether NOFREE can now be
>> safely removed, in which case we should do so (and then allow quite a
>> lot of baking time before it ships in a release).
> 
> The important thing here is not to loose the momentum and energy which
> Craig is putting in cleaning up VIMAGE, so if we take the route of
> eliminating the UMA_ZONE_NOFREE flag (or not), that should be decided
> with rough consensus and without too much delays, and without too much
> bikeshed re. what could be nice to have in some distant future and
> whatnot.  The current goal is cleaning up VIMAGE and making it
> palatable for 11.0, without taking too much risk at breaking other
> things.  I'm strongly opposed to even thinking aloud about any new
> VNET-related features or concepts until VIMAGE finally becomes enabled
> in /head.

In the long list of things that are hard in operating systems, reasoning about data-structure reference counting and memory models in the presence of concurrency is pretty high on the list. I think you would not want to rush that sort of thing, and hence my feeling that you want to disentangle these two concerns. Throwing the switch on the UMA_ZONE_NOFREE flag setting is easy, but debugging race conditions involving use-after-free in the field is incredibly hard. If you can avoid depending on this, especially if we throw the switch and then discover in a few weeks or months that it wasn't as simple as we thought, then you put other more concrete goals substantially less at risk. We can go away and think hard about UMA_ZONE_NOFREE for a few weeks, and follow up, but I recommend you find another solution in the mean time if you are worried about stalling VIMAGE cleanups.

Robert


More information about the freebsd-net mailing list