mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 08:43:19 -04:00
Convert some KASSERT()'s into if (foo) panic() because they are testing
how locks are managed by the rest of the kernel, not verifying the internal integrity of witness itself.
This commit is contained in:
parent
dfa902ee24
commit
d7c4536a55
1 changed files with 12 additions and 10 deletions
|
|
@ -1318,12 +1318,13 @@ witness_save(struct lock_object *lock, const char **filep, int *linep)
|
|||
if (lock->lo_witness == NULL || witness_dead || panicstr != NULL)
|
||||
return;
|
||||
|
||||
KASSERT(lock->lo_class->lc_flags & LC_SLEEPLOCK,
|
||||
("%s: lock (%s) %s is not a sleep lock", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name));
|
||||
if ((lock->lo_class->lc_flags & LC_SLEEPLOCK) == 0)
|
||||
panic("%s: lock (%s) %s is not a sleep lock", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name);
|
||||
instance = find_instance(curproc->p_sleeplocks, lock);
|
||||
KASSERT(instance != NULL, ("%s: lock (%s) %s not locked", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name));
|
||||
if (instance == NULL)
|
||||
panic("%s: lock (%s) %s not locked", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name);
|
||||
|
||||
*filep = instance->li_file;
|
||||
*linep = instance->li_line;
|
||||
|
|
@ -1338,12 +1339,13 @@ witness_restore(struct lock_object *lock, const char *file, int line)
|
|||
if (lock->lo_witness == NULL || witness_dead || panicstr != NULL)
|
||||
return;
|
||||
|
||||
KASSERT(lock->lo_class->lc_flags & LC_SLEEPLOCK,
|
||||
("%s: lock (%s) %s is not a sleep lock", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name));
|
||||
if ((lock->lo_class->lc_flags & LC_SLEEPLOCK) == 0)
|
||||
panic("%s: lock (%s) %s is not a sleep lock", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name);
|
||||
instance = find_instance(curproc->p_sleeplocks, lock);
|
||||
KASSERT(instance != NULL, ("%s: lock (%s) %s not locked", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name));
|
||||
if (instance == NULL)
|
||||
panic("%s: lock (%s) %s not locked", __func__,
|
||||
lock->lo_class->lc_name, lock->lo_name);
|
||||
|
||||
lock->lo_witness->w_file = file;
|
||||
lock->lo_witness->w_line = line;
|
||||
|
|
|
|||
Loading…
Reference in a new issue