git: 0d8da0df4150 - main - tcp_rack: avoid gcc -Werror=pointer-to-int-cast on 32-bit arch
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 28 Jun 2024 03:41:17 UTC
The branch main has been updated by rlibby:
URL: https://cgit.FreeBSD.org/src/commit/?id=0d8da0df415091d6ceceb74e4b6f42a15a3269e3
commit 0d8da0df415091d6ceceb74e4b6f42a15a3269e3
Author: Ryan Libby <rlibby@FreeBSD.org>
AuthorDate: 2024-06-28 03:40:12 +0000
Commit: Ryan Libby <rlibby@FreeBSD.org>
CommitDate: 2024-06-28 03:40:12 +0000
tcp_rack: avoid gcc -Werror=pointer-to-int-cast on 32-bit arch
Reviewed by: tuexen
Differential Revision: https://reviews.freebsd.org/D45752
---
sys/netinet/tcp_stacks/rack.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index 551ccc1d337a..b7d9d383fc61 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -2643,6 +2643,7 @@ rack_log_hdwr_pacing(struct tcp_rack *rack,
union tcp_log_stackspecific log;
struct timeval tv;
const struct ifnet *ifp;
+ uint64_t ifp64;
memset(&log, 0, sizeof(log));
log.u_bbr.flex1 = ((hw_rate >> 32) & 0x00000000ffffffff);
@@ -2655,8 +2656,9 @@ rack_log_hdwr_pacing(struct tcp_rack *rack,
} else
ifp = NULL;
if (ifp) {
- log.u_bbr.flex3 = (((uint64_t)ifp >> 32) & 0x00000000ffffffff);
- log.u_bbr.flex4 = ((uint64_t)ifp & 0x00000000ffffffff);
+ ifp64 = (uintptr_t)ifp;
+ log.u_bbr.flex3 = ((ifp64 >> 32) & 0x00000000ffffffff);
+ log.u_bbr.flex4 = (ifp64 & 0x00000000ffffffff);
}
log.u_bbr.timeStamp = tcp_get_usecs(&tv);
log.u_bbr.bw_inuse = rate;
@@ -2881,9 +2883,9 @@ rack_log_map_chg(struct tcpcb *tp, struct tcp_rack *rack,
memset(&log.u_bbr, 0, sizeof(log.u_bbr));
log.u_bbr.flex8 = flag;
log.u_bbr.inhpts = tcp_in_hpts(rack->rc_tp);
- log.u_bbr.cur_del_rate = (uint64_t)prev;
- log.u_bbr.delRate = (uint64_t)rsm;
- log.u_bbr.rttProp = (uint64_t)next;
+ log.u_bbr.cur_del_rate = (uintptr_t)prev;
+ log.u_bbr.delRate = (uintptr_t)rsm;
+ log.u_bbr.rttProp = (uintptr_t)next;
log.u_bbr.flex7 = 0;
if (prev) {
log.u_bbr.flex1 = prev->r_start;
@@ -5527,7 +5529,7 @@ skip_measurement:
rack_log_pacing_delay_calc(rack,
tp->gput_seq,
tp->gput_ack,
- (uint64_t)rsm,
+ (uintptr_t)rsm,
tp->gput_ts,
(((uint64_t)rack->r_ctl.rc_app_limited_cnt << 32) | (uint64_t)rack->r_ctl.rc_gp_output_ts),
9,
@@ -12739,7 +12741,7 @@ rack_log_collapse(struct tcp_rack *rack, uint32_t cnt, uint32_t split, uint32_t
if (rsm == NULL)
log.u_bbr.rttProp = 0;
else
- log.u_bbr.rttProp = (uint64_t)rsm;
+ log.u_bbr.rttProp = (uintptr_t)rsm;
log.u_bbr.timeStamp = tcp_get_usecs(&tv);
log.u_bbr.inflight = ctf_flight_size(rack->rc_tp, rack->r_ctl.rc_sacked);
TCP_LOG_EVENTP(rack->rc_tp, NULL,
@@ -15878,9 +15880,9 @@ rack_fini(struct tcpcb *tp, int32_t tcb_is_purged)
log.u_bbr.flex3 = cnt_free;
log.u_bbr.inflight = ctf_flight_size(rack->rc_tp, rack->r_ctl.rc_sacked);
rsm = tqhash_min(rack->r_ctl.tqh);
- log.u_bbr.delRate = (uint64_t)rsm;
+ log.u_bbr.delRate = (uintptr_t)rsm;
rsm = TAILQ_FIRST(&rack->r_ctl.rc_free);
- log.u_bbr.cur_del_rate = (uint64_t)rsm;
+ log.u_bbr.cur_del_rate = (uintptr_t)rsm;
log.u_bbr.timeStamp = tcp_get_usecs(&tv);
log.u_bbr.pkt_epoch = __LINE__;
(void)tcp_log_event(tp, NULL, NULL, NULL, TCP_LOG_OUT, ERRNO_UNK,
@@ -18885,7 +18887,7 @@ start_set:
rack_log_pacing_delay_calc(rack,
tp->gput_seq,
tp->gput_ack,
- (uint64_t)my_rsm,
+ (uintptr_t)my_rsm,
tp->gput_ts,
(((uint64_t)rack->r_ctl.rc_app_limited_cnt << 32) | (uint64_t)rack->r_ctl.rc_gp_output_ts),
9,
@@ -18938,7 +18940,7 @@ use_latest:
rack_log_pacing_delay_calc(rack,
tp->gput_seq,
tp->gput_ack,
- (uint64_t)my_rsm,
+ (uintptr_t)my_rsm,
tp->gput_ts,
(((uint64_t)rack->r_ctl.rc_app_limited_cnt << 32) | (uint64_t)rack->r_ctl.rc_gp_output_ts),
9, __LINE__, NULL, 0);
@@ -19754,7 +19756,7 @@ rack_fast_rsm_output(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendma
}
log.u_bbr.lt_epoch = rack->r_ctl.cwnd_to_use;
log.u_bbr.delivered = 0;
- log.u_bbr.rttProp = (uint64_t)rsm;
+ log.u_bbr.rttProp = (uintptr_t)rsm;
log.u_bbr.delRate = rsm->r_flags;
log.u_bbr.delRate <<= 31;
log.u_bbr.delRate |= rack->r_must_retran;
@@ -22941,7 +22943,7 @@ send:
}
log.u_bbr.lt_epoch = cwnd_to_use;
log.u_bbr.delivered = sendalot;
- log.u_bbr.rttProp = (uint64_t)rsm;
+ log.u_bbr.rttProp = (uintptr_t)rsm;
log.u_bbr.pkt_epoch = __LINE__;
if (rsm) {
log.u_bbr.delRate = rsm->r_flags;