Page MenuHomeFreeBSD

vm: fix swap reservation leak

Authored by mjg on Jul 23 2020, 1:35 PM.



If per-uid limit is exceeded, the cleanup fails to subtract from the global counter.

While here cleanup the code.

Diff Detail

rS FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mjg requested review of this revision.Jul 23 2020, 1:35 PM

Since you are doing cleanups, perhaps change the return type to bool, there and for swap_reserve().

247 ↗(On Diff #74840)

Please invert all conditions and s/||/&&/

  • way more refactoring

I'm working on a patch to introduce per-cpu counting here so this serves as a good prep.

216 ↗(On Diff #74866)

priv_check() != 0

218 ↗(On Diff #74866)

Might be, make this KASSERT

263 ↗(On Diff #74866)

Move oc declaration above statics.

284 ↗(On Diff #74866)

if (r > s && (oc & _ALLOW_NONWIRED) != 0) {

292 ↗(On Diff #74866)

Again, make this KASSERT

299 ↗(On Diff #74866)

And this

This revision is now accepted and ready to land.Jul 24 2020, 12:09 PM