diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2026-01-02 09:31:54 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2026-01-13 14:03:14 +0000 |
| commit | 7361727d4584b5e303183c836497ae2754ce0e53 (patch) | |
| tree | 8a0e9f2789eb1ebccd57015e386ca81a6019a4b3 | |
| parent | c1d7c957895e3cd3ffa6669352bb809a8fc5f78e (diff) | |
swap_release_by_cred*(): give some additional info on panics due to underflow
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D54572
| -rw-r--r-- | sys/vm/swap_pager.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index ab95bde34ceb..e0bdca07ff0f 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -239,7 +239,8 @@ swap_release_by_cred_rlimit(u_long pdecr, struct ucred *cred) #ifdef INVARIANTS prev = atomic_fetchadd_long(&uip->ui_vmsize, -pdecr); KASSERT(prev >= pdecr, - ("negative vmsize for uid %d\n", uip->ui_uid)); + ("negative vmsize for uid %d, prev %#jx decr %#jx\n", + uip->ui_uid, (uintmax_t)prev, (uintmax_t)pdecr)); #else atomic_subtract_long(&uip->ui_vmsize, pdecr); #endif @@ -373,7 +374,8 @@ swap_release_by_cred(vm_ooffset_t decr, struct ucred *cred) pdecr = atop(decr); #ifdef INVARIANTS prev = atomic_fetchadd_long(&swap_reserved, -pdecr); - KASSERT(prev >= pdecr, ("swap_reserved < decr")); + KASSERT(prev >= pdecr, ("swap_reserved %#jx < decr %#jx", + (uintmax_t)prev, (uintmax_t)pdecr)); #else atomic_subtract_long(&swap_reserved, pdecr); #endif |
