With r284861, zones use the trash ctor and dtor by default. This is
incompatible with memguard. Modify the UMA debug functions to be
no-ops if the item was allocated from memguard. This also fixes ctors
such as mb_ctor_pack(), which invokes the trash ctor in addition to
performing some initialization.
Details
Details
- Reviewers
jmg glebius - Commits
- rS301176: Fix memguard(9) in kernels with INVARIANTS enabled.
Added a sysctl-controlled use-after-free to the filedesc0 zone and verified that memguard caught it when enabled, and that the trash ctor caught it otherwise.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
I missed the r284861. I don't like it, since it creates extra CPU cycles for non-INVARIANTS kernel. First I'd like to see that addressed, and then get bug to MEMGUARD issue.
Comment Actions
Of course my previous comment was wrong. I need to spend more time reviewing before commenting. Sorry.