aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2024-10-10 08:36:00 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2024-10-31 17:00:16 +0000
commit258e38014cadada0c1a7d48185935369167d8527 (patch)
tree7913782b468aea542e5f008f495b73fd19e0605f /sys/netinet
parent6fb92db1b36221e7025f36085ea04aca1561ca58 (diff)
sctp: cleanup sctp_delete_ifn
The address lock is always held, so no need for the second parameter. No functional change intended. (cherry picked from commit 2e9761eb80f3e58c116efc10c739ed0d8497c1d6)
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/sctp_pcb.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index f3b51b796df0..489da8b1a5ed 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -277,25 +277,16 @@ sctp_free_ifa(struct sctp_ifa *sctp_ifap)
}
static void
-sctp_delete_ifn(struct sctp_ifn *sctp_ifnp, int hold_addr_lock)
+sctp_delete_ifn(struct sctp_ifn *sctp_ifnp)
{
- struct sctp_ifn *found;
- found = sctp_find_ifn(sctp_ifnp->ifn_p, sctp_ifnp->ifn_index);
- if (found == NULL) {
+ SCTP_IPI_ADDR_WLOCK_ASSERT();
+ if (sctp_find_ifn(sctp_ifnp->ifn_p, sctp_ifnp->ifn_index) == NULL) {
/* Not in the list.. sorry */
return;
}
- if (hold_addr_lock == 0) {
- SCTP_IPI_ADDR_WLOCK();
- } else {
- SCTP_IPI_ADDR_WLOCK_ASSERT();
- }
LIST_REMOVE(sctp_ifnp, next_bucket);
LIST_REMOVE(sctp_ifnp, next_ifn);
- if (hold_addr_lock == 0) {
- SCTP_IPI_ADDR_WUNLOCK();
- }
/* Take away the reference, and possibly free it */
sctp_free_ifn(sctp_ifnp);
}
@@ -450,7 +441,7 @@ sctp_remove_ifa_from_ifn(struct sctp_ifa *sctp_ifap)
if (LIST_EMPTY(&sctp_ifap->ifn_p->ifalist)) {
/* remove the ifn, possibly freeing it */
- sctp_delete_ifn(sctp_ifap->ifn_p, SCTP_ADDR_LOCKED);
+ sctp_delete_ifn(sctp_ifap->ifn_p);
} else {
/* re-register address family type, if needed */
if ((sctp_ifap->ifn_p->num_v6 == 0) &&
@@ -555,7 +546,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint32_t ifn_index,
(void *)sctp_ifap);
if (new_ifn_af) {
/* Remove the created one that we don't want */
- sctp_delete_ifn(sctp_ifnp, SCTP_ADDR_LOCKED);
+ sctp_delete_ifn(sctp_ifnp);
}
if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) {
/* easy to solve, just switch back to active */