diff options
author | jch <jch@FreeBSD.org> | 2015-08-08 08:40:36 +0000 |
---|---|---|
committer | jch <jch@FreeBSD.org> | 2015-08-08 08:40:36 +0000 |
commit | 349429fe8270f2579de42235749bb5ed010ee83a (patch) | |
tree | 7a079c990a178ea0c956f3aabe20cf1740dfd3b7 /sys/netinet/in_pcb.h | |
parent | 607712fac9b02a48ede15b5c54619dc82fc5c70e (diff) | |
download | FreeBSD-src-349429fe8270f2579de42235749bb5ed010ee83a.zip FreeBSD-src-349429fe8270f2579de42235749bb5ed010ee83a.tar.gz |
Fix a kernel assertion issue introduced with r286227:
Avoid too strict INP_INFO_RLOCK_ASSERT checks due to
tcp_notify() being called from in6_pcbnotify().
Reported by: Larry Rosenman <ler@lerctr.org>
Submitted by: markj, jch
Diffstat (limited to 'sys/netinet/in_pcb.h')
-rw-r--r-- | sys/netinet/in_pcb.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 2b79325..4109d08 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -491,6 +491,7 @@ short inp_so_options(const struct inpcb *inp); #define INP_INFO_TRY_RLOCK(ipi) rw_try_rlock(&(ipi)->ipi_lock) #define INP_INFO_TRY_WLOCK(ipi) rw_try_wlock(&(ipi)->ipi_lock) #define INP_INFO_TRY_UPGRADE(ipi) rw_try_upgrade(&(ipi)->ipi_lock) +#define INP_INFO_WLOCKED(ipi) rw_wowned(&(ipi)->ipi_lock) #define INP_INFO_RUNLOCK(ipi) rw_runlock(&(ipi)->ipi_lock) #define INP_INFO_WUNLOCK(ipi) rw_wunlock(&(ipi)->ipi_lock) #define INP_INFO_LOCK_ASSERT(ipi) rw_assert(&(ipi)->ipi_lock, RA_LOCKED) |