git: 66b8cac8d837 - main - pf: Sprinkle const qualifiers in state lookup routines
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 24 Jun 2024 14:53:51 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=66b8cac8d837c0ca3fd38d0a66259ca932a1c430 commit 66b8cac8d837c0ca3fd38d0a66259ca932a1c430 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-06-24 14:46:55 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-06-24 14:46:55 +0000 pf: Sprinkle const qualifiers in state lookup routines State keys are trivially const in lookup routines, so annotate them as such. No functional change intended. Reviewed by: kp MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum Differential Revision: https://reviews.freebsd.org/D45671 --- sys/net/pfvar.h | 8 +++++--- sys/netpfil/pf/pf.c | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 62c367fe6a29..0b90600a69ae 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2273,9 +2273,11 @@ pf_get_time(void) } extern struct pf_kstate *pf_find_state_byid(uint64_t, uint32_t); -extern struct pf_kstate *pf_find_state_all(struct pf_state_key_cmp *, +extern struct pf_kstate *pf_find_state_all( + const struct pf_state_key_cmp *, u_int, int *); -extern bool pf_find_state_all_exists(struct pf_state_key_cmp *, +extern bool pf_find_state_all_exists( + const struct pf_state_key_cmp *, u_int); extern struct pf_ksrc_node *pf_find_src_node(struct pf_addr *, struct pf_krule *, sa_family_t, @@ -2569,7 +2571,7 @@ struct pf_krule *pf_get_translation(struct pf_pdesc *, struct mbuf *, struct pf_state_key *pf_state_key_setup(struct pf_pdesc *, struct pf_addr *, struct pf_addr *, u_int16_t, u_int16_t); -struct pf_state_key *pf_state_key_clone(struct pf_state_key *); +struct pf_state_key *pf_state_key_clone(const struct pf_state_key *); void pf_rule_to_actions(struct pf_krule *, struct pf_rule_actions *); int pf_normalize_mss(struct mbuf *m, int off, diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index edb95d7ef0ec..1e3f09783e40 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -363,7 +363,7 @@ static void pf_print_state_parts(struct pf_kstate *, static void pf_patch_8(struct mbuf *, u_int16_t *, u_int8_t *, u_int8_t, bool, u_int8_t); static struct pf_kstate *pf_find_state(struct pfi_kkif *, - struct pf_state_key_cmp *, u_int); + const struct pf_state_key_cmp *, u_int); static int pf_src_connlimit(struct pf_kstate **); static void pf_overload_task(void *v, int pending); static u_short pf_insert_src_node(struct pf_ksrc_node **, @@ -654,11 +654,11 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, } static __inline uint32_t -pf_hashkey(struct pf_state_key *sk) +pf_hashkey(const struct pf_state_key *sk) { uint32_t h; - h = murmur3_32_hash32((uint32_t *)sk, + h = murmur3_32_hash32((const uint32_t *)sk, sizeof(struct pf_state_key_cmp)/sizeof(uint32_t), V_pf_hashseed); @@ -1506,7 +1506,7 @@ pf_state_key_setup(struct pf_pdesc *pd, struct pf_addr *saddr, } struct pf_state_key * -pf_state_key_clone(struct pf_state_key *orig) +pf_state_key_clone(const struct pf_state_key *orig) { struct pf_state_key *sk; @@ -1607,7 +1607,8 @@ pf_find_state_byid(uint64_t id, uint32_t creatorid) * Returns with ID hash slot locked on success. */ static struct pf_kstate * -pf_find_state(struct pfi_kkif *kif, struct pf_state_key_cmp *key, u_int dir) +pf_find_state(struct pfi_kkif *kif, const struct pf_state_key_cmp *key, + u_int dir) { struct pf_keyhash *kh; struct pf_state_key *sk; @@ -1616,7 +1617,7 @@ pf_find_state(struct pfi_kkif *kif, struct pf_state_key_cmp *key, u_int dir) pf_counter_u64_add(&V_pf_status.fcounters[FCNT_STATE_SEARCH], 1); - kh = &V_pf_keyhash[pf_hashkey((struct pf_state_key *)key)]; + kh = &V_pf_keyhash[pf_hashkey((const struct pf_state_key *)key)]; PF_HASHROW_LOCK(kh); LIST_FOREACH(sk, &kh->keys, entry) @@ -1654,7 +1655,7 @@ pf_find_state(struct pfi_kkif *kif, struct pf_state_key_cmp *key, u_int dir) * Returns with ID hash slot locked on success. */ struct pf_kstate * -pf_find_state_all(struct pf_state_key_cmp *key, u_int dir, int *more) +pf_find_state_all(const struct pf_state_key_cmp *key, u_int dir, int *more) { struct pf_keyhash *kh; struct pf_state_key *sk; @@ -1663,7 +1664,7 @@ pf_find_state_all(struct pf_state_key_cmp *key, u_int dir, int *more) pf_counter_u64_add(&V_pf_status.fcounters[FCNT_STATE_SEARCH], 1); - kh = &V_pf_keyhash[pf_hashkey((struct pf_state_key *)key)]; + kh = &V_pf_keyhash[pf_hashkey((const struct pf_state_key *)key)]; PF_HASHROW_LOCK(kh); LIST_FOREACH(sk, &kh->keys, entry) @@ -1720,7 +1721,7 @@ second_run: * removing it. */ bool -pf_find_state_all_exists(struct pf_state_key_cmp *key, u_int dir) +pf_find_state_all_exists(const struct pf_state_key_cmp *key, u_int dir) { struct pf_kstate *s;