From nobody Mon Mar 11 11:38:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtZYC2SsHz5CpGn; Mon, 11 Mar 2024 11:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtZYC1pxLz44mS; Mon, 11 Mar 2024 11:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710157135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ImN+JYKObTusjPkCVtWnD7/RfI0DM0DcMNbRmHbQTic=; b=da/b1WP9P+Pqe6h/Bf74WS5vFajXgOP9twCSOhi0ShQsS4193t2NLcHgrgcyOwTIKdINO/ CkDAIUUaZK2bmDzPKauJXp8XrIP/rZp1D4zAjnIsZ7zqaAo+5tMrV+l660dkmnXF7pCYJa StgzCIAN9HAbM8UUfoWITUEwV02Ib4jlS41OaYXnkq0nlwMooQmlC6Hqo+h0BGsTWL+VtJ 6KMK2f6ZRdHvM1zjm83cLj2f5Oyx29ZThYfaYBbkCoULbT+Z7vfmf2xBHxufVk00bFk7wL q71j/Ewc1aj4UagrL9E6G1TwkBCEDm09cO/Mk3+OzYwp/M7X+0wlO3ljdcVjwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710157135; a=rsa-sha256; cv=none; b=qmhN3t4WG0bSo3ORjRMJfu2sbzj3QgRYTghMynB4nYwCBM4p8/+ySF1AB2CrDZOQpMhF2E f4t6afAlyjt9J+HL/D7ewjg2bQVxsq2+E+fTlp0fkXokVNcNCHAoYGN92psu7Yynez1Cq6 IsD8GxuVsGkA2H/BqSNm7RVdYhN6TEVxzJKzWtaqg7YW7BDrU0OSTw0mDg8cULdnqn/EqE BaPzxJG14BZUn1NQ9rrDq483yKxWeLsnv3/UeigoQjgBAP/bXBR745dwJnx/Weonfs5Mbk feh+zccIqs9fy3iJ8eguUpCC46tUEaY98DZPSSoR+sMQwsKgdhsJjAokCwj+Iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710157135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ImN+JYKObTusjPkCVtWnD7/RfI0DM0DcMNbRmHbQTic=; b=l4sQAB8P/lR0RF/7kzpztriIM3ABD8J4Z5fZ+cHe9h8PRNokWnQQaNvW8LWwqRKViFBvQQ KJy1YEsvZElNKW+y0bmHBOKo8nxSl0kJ2Tc/FklbB3xnA78+11G7BFzmk075P+VnaeNBqB 087t4V3FA2/Qbduz9QkiZEWs1d9OrABNduF95fQW37416GgdreD0hZCKSV0tLQM4AgOKoQ xPW8BvaMz2e9dS4RPyPMmnAVKa5e5/EbtPVmf9WZjh3r4GSnxHw4qr5ICFDMxe/12Y6qhQ OlBEzyQHOFIrgSXNp1e1O5EXdMmK7Ebnxptxhcf5D8x5BpspjNJeB1Ur9go5FA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtZYC1Pp2zSW9; Mon, 11 Mar 2024 11:38:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BBctbc027968; Mon, 11 Mar 2024 11:38:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BBctkj027965; Mon, 11 Mar 2024 11:38:55 GMT (envelope-from git) Date: Mon, 11 Mar 2024 11:38:55 GMT Message-Id: <202403111138.42BBctkj027965@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Randall Stewart Subject: git: f6d489f402c3 - main - Update to bring the rack stack with all its fixes in. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rrs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6d489f402c320f1a6eaa473491a0b8c3878113e Auto-Submitted: auto-generated The branch main has been updated by rrs: URL: https://cgit.FreeBSD.org/src/commit/?id=f6d489f402c320f1a6eaa473491a0b8c3878113e commit f6d489f402c320f1a6eaa473491a0b8c3878113e Author: Randall Stewart AuthorDate: 2024-03-11 11:36:54 +0000 Commit: Randall Stewart CommitDate: 2024-03-11 11:36:54 +0000 Update to bring the rack stack with all its fixes in. This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal with the changes that have been in hpts for a while i.e. only one call no matter if mbuf queue or tcp_output. Note there is a new file that I can't figure out how to get in rack_pcm.c It basically does little except BBlogs and is a placemark for future work on doing path capacity measurements. Reviewed by: tuexen, glebius Sponsored by: Netflix Inc. Differential Revision:https://reviews.freebsd.org/D43986 --- sys/modules/tcp/rack/Makefile | 2 +- sys/netinet/tcp.h | 38 +- sys/netinet/tcp_log_buf.h | 9 +- sys/netinet/tcp_stacks/bbr.c | 4 +- sys/netinet/tcp_stacks/rack.c | 4443 +++++++++++++++++++++++++--------- sys/netinet/tcp_stacks/rack_pcm.c | 0 sys/netinet/tcp_stacks/sack_filter.h | 5 + sys/netinet/tcp_stacks/tailq_hash.c | 33 +- sys/netinet/tcp_stacks/tailq_hash.h | 8 +- sys/netinet/tcp_stacks/tcp_rack.h | 135 +- sys/netinet/tcp_subr.c | 57 +- sys/netinet/tcp_syncache.c | 5 +- sys/netinet/tcp_usrreq.c | 7 + sys/netinet/tcp_var.h | 12 +- 14 files changed, 3587 insertions(+), 1171 deletions(-) diff --git a/sys/modules/tcp/rack/Makefile b/sys/modules/tcp/rack/Makefile index c5bb20602337..d5f3ba170f68 100644 --- a/sys/modules/tcp/rack/Makefile +++ b/sys/modules/tcp/rack/Makefile @@ -5,7 +5,7 @@ STACKNAME= rack KMOD= tcp_${STACKNAME} -SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c +SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c rack_pcm.c SRCS+= opt_inet.h opt_inet6.h opt_ipsec.h SRCS+= opt_kern_tls.h diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index f9e561f6ce35..a8259fa30a3a 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -334,9 +334,22 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_RACK_PACING_DIVISOR 1146 /* Pacing divisor given to rate-limit code for burst sizing */ #define TCP_RACK_PACE_MIN_SEG 1147 /* Pacing min seg size rack will use */ #define TCP_RACK_DGP_IN_REC 1148 /* Do we use full DGP in recovery? */ -#define TCP_RXT_CLAMP 1149 /* Do we apply a threshold to rack so if excess rxt clamp cwnd? */ +#define TCP_POLICER_DETECT 1149 /* Do we apply a thresholds to rack to detect and compensate for policers? */ +#define TCP_RXT_CLAMP TCP_POLICER_DETECT #define TCP_HYBRID_PACING 1150 /* Hybrid pacing enablement */ #define TCP_PACING_DND 1151 /* When pacing with rr_config=3 can sacks disturb us */ +#define TCP_SS_EEXIT 1152 /* Do we do early exit from slowtart if no b/w growth */ +#define TCP_DGP_UPPER_BOUNDS 1153 /* SS and CA upper bound in percentage */ +#define TCP_NO_TIMELY 1154 /* Disable/enable Timely */ +#define TCP_HONOR_HPTS_MIN 1155 /* Do we honor hpts min to */ +#define TCP_REC_IS_DYN 1156 /* Do we allow timely to change recovery multiplier? */ +#define TCP_SIDECHAN_DIS 1157 /* Disable/enable the side-channel */ +#define TCP_FILLCW_RATE_CAP 1158 /* Set a cap for DGP's fillcw */ +#define TCP_POLICER_MSS 1159 /* Policer MSS requirement */ +#define TCP_STACK_SPEC_INFO 1160 /* Get stack specific information (if present) */ +#define RACK_CSPR_IS_FCC 1161 +#define TCP_GP_USE_LTBW 1162 /* how we use lt_bw 0=not, 1=min, 2=max */ + /* Start of reserved space for third-party user-settable options. */ #define TCP_VENDOR SO_VENDOR @@ -447,6 +460,7 @@ struct tcp_info { u_int32_t tcpi_rcv_adv; /* Peer advertised window */ u_int32_t tcpi_dupacks; /* Consecutive dup ACKs recvd */ + u_int32_t tcpi_rttmin; /* Min observed RTT */ /* Padding to grow without breaking ABI. */ u_int32_t __tcpi_pad[14]; /* Padding. */ }; @@ -463,6 +477,20 @@ struct tcp_fastopen { #define TCP_FUNCTION_NAME_LEN_MAX 32 +struct stack_specific_info { + char stack_name[TCP_FUNCTION_NAME_LEN_MAX]; + uint64_t policer_last_bw; /* Only valid if detection enabled and policer detected */ + uint64_t bytes_transmitted; + uint64_t bytes_retransmitted; + uint32_t policer_detection_enabled: 1, + policer_detected : 1, /* transport thinks a policer is on path */ + highly_buffered : 1, /* transport considers the path highly buffered */ + spare : 29; + uint32_t policer_bucket_size; /* Only valid if detection enabled and policer detected */ + uint32_t current_round; + uint32_t _rack_i_pad[18]; +}; + struct tcp_function_set { char function_set_name[TCP_FUNCTION_NAME_LEN_MAX]; uint32_t pcbcnt; @@ -488,6 +516,7 @@ struct tcp_snd_req { uint64_t start; uint64_t end; uint32_t flags; + uint32_t playout_ms; }; union tcp_log_userdata { @@ -518,9 +547,12 @@ struct tcp_log_user { #define TCP_HYBRID_PACING_H_MS 0x0008 /* A client hint for maxseg is present */ #define TCP_HYBRID_PACING_ENABLE 0x0010 /* We are enabling hybrid pacing else disable */ #define TCP_HYBRID_PACING_S_MSS 0x0020 /* Clent wants us to set the mss overriding gp est in CU */ -#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tellsus we set the mss on this entry */ +#define TCP_HAS_PLAYOUT_MS 0x0040 /* The client included the chunk playout milliseconds: deprecate */ +/* the below are internal only flags */ +#define TCP_HYBRID_PACING_USER_MASK 0x0FFF /* Non-internal flags mask */ +#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tells us we set the mss on this entry */ #define TCP_HYBRID_PACING_WASSET 0x2000 /* We init to this to know if a hybrid command was issued */ - +#define TCP_HYBRID_PACING_SENDTIME 0x4000 /* Duplicate tm to last, use sendtime for catch up mode */ struct tcp_hybrid_req { struct tcp_snd_req req; diff --git a/sys/netinet/tcp_log_buf.h b/sys/netinet/tcp_log_buf.h index 1f5b7cf9b54f..2e91d9cbdf3c 100644 --- a/sys/netinet/tcp_log_buf.h +++ b/sys/netinet/tcp_log_buf.h @@ -267,7 +267,9 @@ enum tcp_log_events { TCP_RACK_TP_TRIGGERED, /* A rack tracepoint is triggered 68 */ TCP_HYBRID_PACING_LOG, /* Hybrid pacing log 69 */ TCP_LOG_PRU, /* TCP protocol user request 70 */ - TCP_LOG_END /* End (keep at end) 71 */ + TCP_POLICER_DET, /* TCP Policer detectionn 71 */ + TCP_PCM_MEASURE, /* TCP Path Capacity Measurement 72 */ + TCP_LOG_END /* End (keep at end) 72 */ }; enum tcp_log_states { @@ -371,10 +373,11 @@ struct tcp_log_dev_log_queue { #define TCP_TP_COLLAPSED_RXT 0x00000004 /* When we actually retransmit a collapsed window rsm */ #define TCP_TP_REQ_LOG_FAIL 0x00000005 /* We tried to allocate a Request log but had no space */ #define TCP_TP_RESET_RCV 0x00000006 /* Triggers when we receive a RST */ -#define TCP_TP_EXCESS_RXT 0x00000007 /* When we get excess RXT's clamping the cwnd */ +#define TCP_TP_POLICER_DET 0x00000007 /* When we detect a policer */ +#define TCP_TP_EXCESS_RXT TCP_TP_POLICER_DET /* alias */ #define TCP_TP_SAD_TRIGGERED 0x00000008 /* Sack Attack Detection triggers */ - #define TCP_TP_SAD_SUSPECT 0x0000000a /* A sack has supicious information in it */ +#define TCP_TP_PACED_BOTTOM 0x0000000b /* We have paced at the bottom */ #ifdef _KERNEL diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 931beba7a262..934b35bd22d7 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -11529,7 +11529,9 @@ bbr_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, bbr_set_pktepoch(bbr, cts, __LINE__); bbr_check_bbr_for_state(bbr, cts, __LINE__, (bbr->r_ctl.rc_lost - lost)); if (nxt_pkt == 0) { - if (bbr->r_wanted_output != 0) { + if ((bbr->r_wanted_output != 0) || + (tp->t_flags & TF_ACKNOW)) { + bbr->rc_output_starts_timer = 0; did_out = 1; if (tcp_output(tp) < 0) diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 49d946dbb63b..1fe07fa8d641 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -142,9 +142,12 @@ VNET_DECLARE(uint32_t, newreno_beta_ecn); #define V_newreno_beta VNET(newreno_beta) #define V_newreno_beta_ecn VNET(newreno_beta_ecn) +#define M_TCPFSB __CONCAT(M_TCPFSB, STACKNAME) +#define M_TCPDO __CONCAT(M_TCPDO, STACKNAME) -MALLOC_DEFINE(M_TCPFSB, "tcp_fsb", "TCP fast send block"); -MALLOC_DEFINE(M_TCPDO, "tcp_do", "TCP deferred options"); +MALLOC_DEFINE(M_TCPFSB, "tcp_fsb_" __XSTRING(STACKNAME), "TCP fast send block"); +MALLOC_DEFINE(M_TCPDO, "tcp_do_" __XSTRING(STACKNAME), "TCP deferred options"); +MALLOC_DEFINE(M_TCPPCM, "tcp_pcm_" __XSTRING(STACKNAME), "TCP PCM measurement information"); struct sysctl_ctx_list rack_sysctl_ctx; struct sysctl_oid *rack_sysctl_root; @@ -190,12 +193,24 @@ static int32_t rack_tlp_use_greater = 1; static int32_t rack_reorder_thresh = 2; static int32_t rack_reorder_fade = 60000000; /* 0 - never fade, def 60,000,000 * - 60 seconds */ -static uint32_t rack_clamp_ss_upper = 110; -static uint32_t rack_clamp_ca_upper = 105; -static uint32_t rack_rxt_min_rnds = 10; /* Min rounds if drastic rxt clamp is in place */ -static uint32_t rack_unclamp_round_thresh = 100; /* number of perfect rounds before we unclamp */ -static uint32_t rack_unclamp_rxt_thresh = 5; /* .5% and under */ -static uint64_t rack_rxt_clamp_thresh = 0; /* Do we do the rxt clamp thing */ +static uint16_t rack_policer_rxt_thresh= 0; /* 499 = 49.9%, 0 is off */ +static uint8_t rack_policer_avg_thresh = 0; /* 3.2 */ +static uint8_t rack_policer_med_thresh = 0; /* 1 - 16 */ +static uint16_t rack_policer_bucket_reserve = 20; /* How much % is reserved in the bucket */ +static uint64_t rack_pol_min_bw = 125000; /* 1mbps in Bytes per sec */ +static uint32_t rack_policer_data_thresh = 64000; /* 64,000 bytes must be sent before we engage */ +static uint32_t rack_policing_do_bw_comp = 1; +static uint32_t rack_pcm_every_n_rounds = 100; +static uint32_t rack_pcm_blast = 0; +static uint32_t rack_pcm_is_enabled = 1; +static uint8_t rack_req_del_mss = 18; /* How many segments need to be sent in a recovery episode to do policer_detection */ +static uint8_t rack_ssthresh_rest_rto_rec = 0; /* Do we restore ssthresh when we have rec -> rto -> rec */ + +static uint32_t rack_gp_gain_req = 1200; /* Amount percent wise required to gain to record a round has "gaining" */ +static uint32_t rack_rnd_cnt_req = 0x10005; /* Default number of rounds if we are below rack_gp_gain_req where we exit ss */ + + +static int32_t rack_rxt_scoreboard_clear_thresh = 2; static int32_t rack_dnd_default = 0; /* For rr_conf = 3, what is the default for dnd */ static int32_t rack_rxt_controls = 0; static int32_t rack_fill_cw_state = 0; @@ -217,9 +232,8 @@ static int32_t rack_do_hystart = 0; static int32_t rack_apply_rtt_with_reduced_conf = 0; static int32_t rack_hibeta_setting = 0; static int32_t rack_default_pacing_divisor = 250; -static int32_t rack_uses_full_dgp_in_rec = 1; static uint16_t rack_pacing_min_seg = 0; - +static int32_t rack_timely_off = 0; static uint32_t sad_seg_size_per = 800; /* 80.0 % */ static int32_t rack_pkt_delay = 1000; @@ -235,7 +249,7 @@ static int32_t rack_use_rsm_rfo = 1; static int32_t rack_max_abc_post_recovery = 2; static int32_t rack_client_low_buf = 0; static int32_t rack_dsack_std_based = 0x3; /* bit field bit 1 sets rc_rack_tmr_std_based and bit 2 sets rc_rack_use_dsack */ -static int32_t rack_bw_multipler = 2; /* Limit on fill cw's jump up to be this x gp_est */ +static int32_t rack_bw_multipler = 0; /* Limit on fill cw's jump up to be this x gp_est */ #ifdef TCP_ACCOUNTING static int32_t rack_tcp_accounting = 0; #endif @@ -247,8 +261,9 @@ static int32_t use_rack_rr = 1; static int32_t rack_non_rxt_use_cr = 0; /* does a non-rxt in recovery use the configured rate (ss/ca)? */ static int32_t rack_persist_min = 250000; /* 250usec */ static int32_t rack_persist_max = 2000000; /* 2 Second in usec's */ +static int32_t rack_honors_hpts_min_to = 1; /* Do we honor the hpts minimum time out for pacing timers */ +static uint32_t rack_max_reduce = 10; /* Percent we can reduce slot by */ static int32_t rack_sack_not_required = 1; /* set to one to allow non-sack to use rack */ -static int32_t rack_default_init_window = 0; /* Use system default */ static int32_t rack_limit_time_with_srtt = 0; static int32_t rack_autosndbuf_inc = 20; /* In percentage form */ static int32_t rack_enobuf_hw_boost_mult = 0; /* How many times the hw rate we boost slot using time_between */ @@ -282,7 +297,6 @@ static int32_t rack_rwnd_block_ends_measure = 0; static int32_t rack_def_profile = 0; static int32_t rack_lower_cwnd_at_tlp = 0; -static int32_t rack_limited_retran = 0; static int32_t rack_always_send_oldest = 0; static int32_t rack_tlp_threshold_use = TLP_USE_TWO_ONE; @@ -356,6 +370,7 @@ static int32_t rack_timely_no_stopping = 0; static int32_t rack_down_raise_thresh = 100; static int32_t rack_req_segs = 1; static uint64_t rack_bw_rate_cap = 0; +static uint64_t rack_fillcw_bw_cap = 3750000; /* Cap fillcw at 30Mbps */ /* Rack specific counters */ @@ -377,6 +392,7 @@ counter_u64_t rack_tlp_retran; counter_u64_t rack_tlp_retran_bytes; counter_u64_t rack_to_tot; counter_u64_t rack_hot_alloc; +counter_u64_t tcp_policer_detected; counter_u64_t rack_to_alloc; counter_u64_t rack_to_alloc_hard; counter_u64_t rack_to_alloc_emerg; @@ -440,7 +456,7 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, static int rack_process_ack(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, - uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val); + uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val, int32_t orig_tlen); static int rack_process_data(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, int32_t drop_hdrlen, int32_t tlen, @@ -454,6 +470,8 @@ static struct rack_sendmap *rack_alloc_limit(struct tcp_rack *rack, static struct rack_sendmap * rack_check_recovery_mode(struct tcpcb *tp, uint32_t tsused); +static uint32_t +rack_grab_rtt(struct tcpcb *tp, struct tcp_rack *rack); static void rack_cong_signal(struct tcpcb *tp, uint32_t type, uint32_t ack, int ); @@ -504,13 +522,14 @@ rack_log_ack(struct tcpcb *tp, struct tcpopt *to, static void rack_log_output(struct tcpcb *tp, struct tcpopt *to, int32_t len, uint32_t seq_out, uint16_t th_flags, int32_t err, uint64_t ts, - struct rack_sendmap *hintrsm, uint16_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); + struct rack_sendmap *hintrsm, uint32_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); static uint64_t rack_get_gp_est(struct tcp_rack *rack); + static void rack_log_sack_passed(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm); + struct rack_sendmap *rsm, uint32_t cts); static void rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rsm); static int32_t rack_output(struct tcpcb *tp); @@ -526,10 +545,10 @@ static int32_t rack_stopall(struct tcpcb *tp); static void rack_timer_cancel(struct tcpcb *tp, struct tcp_rack *rack, uint32_t cts, int line); static uint32_t rack_update_entry(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint16_t add_flag, int segsiz); + struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint32_t add_flag, int segsiz); static void rack_update_rsm(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint64_t ts, uint16_t add_flag, int segsiz); + struct rack_sendmap *rsm, uint64_t ts, uint32_t add_flag, int segsiz); static int rack_update_rtt(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendmap *rsm, struct tcpopt *to, uint32_t cts, int32_t ack_type, tcp_seq th_ack); @@ -538,6 +557,10 @@ static int rack_do_close_wait(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos); + +static void +rack_peg_rxt(struct tcp_rack *rack, struct rack_sendmap *rsm, uint32_t segsiz); + static int rack_do_closing(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, @@ -720,6 +743,22 @@ rack_undo_cc_pacing(struct tcp_rack *rack) rack_swap_beta_values(rack, 4); } +static void +rack_remove_pacing(struct tcp_rack *rack) +{ + if (rack->rc_pacing_cc_set) + rack_undo_cc_pacing(rack); + if (rack->r_ctl.pacing_method & RACK_REG_PACING) + tcp_decrement_paced_conn(); + if (rack->r_ctl.pacing_method & RACK_DGP_PACING) + tcp_dec_dgp_pacing_cnt(); + rack->rc_always_pace = 0; + rack->r_ctl.pacing_method = RACK_PACING_NONE; + rack->dgp_on = 0; + rack->rc_hybrid_mode = 0; + rack->use_fixed_rate = 0; +} + static void rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, uint32_t send_end_t, int line, uint8_t mode, struct rack_sendmap *rsm) @@ -742,6 +781,8 @@ rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, log.u_bbr.pkts_out = line; log.u_bbr.cwnd_gain = rack->app_limited_needs_set; log.u_bbr.pkt_epoch = rack->r_ctl.rc_app_limited_cnt; + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; if (rsm != NULL) { log.u_bbr.applimited = rsm->r_start; log.u_bbr.delivered = rsm->r_end; @@ -857,6 +898,7 @@ rack_init_sysctls(void) struct sysctl_oid *rack_measure; struct sysctl_oid *rack_probertt; struct sysctl_oid *rack_hw_pacing; + struct sysctl_oid *rack_policing; rack_attack = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -994,11 +1036,36 @@ rack_init_sysctls(void) "pacing", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Pacing related Controls"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "pcm_enabled", CTLFLAG_RW, + &rack_pcm_is_enabled, 1, + "Do we by default do PCM measurements?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "pcm_rnds", CTLFLAG_RW, + &rack_pcm_every_n_rounds, 100, + "How many rounds before we need to do a PCM measurement"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "pcm_blast", CTLFLAG_RW, + &rack_pcm_blast, 0, + "Blast out the full cwnd/rwnd when doing a PCM measurement"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "rnd_gp_gain", CTLFLAG_RW, + &rack_gp_gain_req, 1200, + "How much do we have to increase the GP to record the round 1200 = 120.0"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "dgp_out_of_ss_at", CTLFLAG_RW, + &rack_rnd_cnt_req, 0x10005, + "How many rounds less than rnd_gp_gain will drop us out of SS"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "fulldgpinrec", CTLFLAG_RW, - &rack_uses_full_dgp_in_rec, 1, - "Do we use all DGP features in recovery (fillcw, timely et.al.)?"); + OID_AUTO, "no_timely", CTLFLAG_RW, + &rack_timely_off, 0, + "Do we not use timely in DGP?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "fullbufdisc", CTLFLAG_RW, @@ -1017,13 +1084,13 @@ rack_init_sysctls(void) SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "divisor", CTLFLAG_RW, - &rack_default_pacing_divisor, 4, + &rack_default_pacing_divisor, 250, "What is the default divisor given to the rl code?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "fillcw_max_mult", CTLFLAG_RW, - &rack_bw_multipler, 2, - "What is the multiplier of the current gp_est that fillcw can increase the b/w too?"); + &rack_bw_multipler, 0, + "What is the limit multiplier of the current gp_est that fillcw can increase the b/w too, 200 == 200% (0 = off)?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "max_pace_over", CTLFLAG_RW, @@ -1039,11 +1106,6 @@ rack_init_sysctls(void) OID_AUTO, "limit_wsrtt", CTLFLAG_RW, &rack_limit_time_with_srtt, 0, "Do we limit pacing time based on srtt"); - SYSCTL_ADD_S32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "init_win", CTLFLAG_RW, - &rack_default_init_window, 0, - "Do we have a rack initial window 0 = system default"); SYSCTL_ADD_U16(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "gp_per_ss", CTLFLAG_RW, @@ -1079,6 +1141,11 @@ rack_init_sysctls(void) OID_AUTO, "rate_cap", CTLFLAG_RW, &rack_bw_rate_cap, 0, "If set we apply this value to the absolute rate cap used by pacing"); + SYSCTL_ADD_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "fillcw_cap", CTLFLAG_RW, + &rack_fillcw_bw_cap, 3750000, + "Do we have an absolute cap on the amount of b/w fillcw can specify (0 = no)?"); SYSCTL_ADD_U8(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), OID_AUTO, "req_measure_cnt", CTLFLAG_RW, @@ -1317,11 +1384,6 @@ rack_init_sysctls(void) OID_AUTO, "send_oldest", CTLFLAG_RW, &rack_always_send_oldest, 0, "Should we always send the oldest TLP and RACK-TLP"); - SYSCTL_ADD_S32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_tlp), - OID_AUTO, "rack_tlimit", CTLFLAG_RW, - &rack_limited_retran, 0, - "How many times can a rack timeout drive out sends"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_tlp), OID_AUTO, "tlp_cwnd_flag", CTLFLAG_RW, @@ -1355,6 +1417,26 @@ rack_init_sysctls(void) "timers", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Timer related controls"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "reset_ssth_rec_rto", CTLFLAG_RW, + &rack_ssthresh_rest_rto_rec, 0, + "When doing recovery -> rto -> recovery do we reset SSthresh?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "scoreboard_thresh", CTLFLAG_RW, + &rack_rxt_scoreboard_clear_thresh, 2, + "How many RTO's are allowed before we clear the scoreboard"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "honor_hpts_min", CTLFLAG_RW, + &rack_honors_hpts_min_to, 1, + "Do rack pacing timers honor hpts min timeout"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "hpts_max_reduce", CTLFLAG_RW, + &rack_max_reduce, 10, + "Max percentage we will reduce slot by for pacing when we are behind"); SYSCTL_ADD_U32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_timers), OID_AUTO, "persmin", CTLFLAG_RW, @@ -1434,11 +1516,6 @@ rack_init_sysctls(void) "features", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Feature controls"); - SYSCTL_ADD_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_features), - OID_AUTO, "rxt_clamp_thresh", CTLFLAG_RW, - &rack_rxt_clamp_thresh, 0, - "Bit encoded clamping setup bits CCCC CCCCC UUUU UULF PPPP PPPP PPPP PPPP"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_features), OID_AUTO, "hybrid_set_maxseg", CTLFLAG_RW, @@ -1474,6 +1551,53 @@ rack_init_sysctls(void) OID_AUTO, "hystartplusplus", CTLFLAG_RW, &rack_do_hystart, 0, "Should RACK enable HyStart++ on connections?"); + /* Policer detection */ + rack_policing = SYSCTL_ADD_NODE(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_sysctl_root), + OID_AUTO, + "policing", + CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "policer detection"); + SYSCTL_ADD_U16(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "rxt_thresh", CTLFLAG_RW, + &rack_policer_rxt_thresh, 0, + "Percentage of retransmits we need to be a possible policer (499 = 49.9 percent)"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "avg_thresh", CTLFLAG_RW, + &rack_policer_avg_thresh, 0, + "What threshold of average retransmits needed to recover a lost packet (1 - 169 aka 21 = 2.1)?"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "med_thresh", CTLFLAG_RW, + &rack_policer_med_thresh, 0, + "What threshold of Median retransmits needed to recover a lost packet (1 - 16)?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "data_thresh", CTLFLAG_RW, + &rack_policer_data_thresh, 64000, + "How many bytes must have gotten through before we can start doing policer detection?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "bwcomp", CTLFLAG_RW, + &rack_policing_do_bw_comp, 1, + "Do we raise up low b/w so that at least pace_max_seg can be sent in the srtt?"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "recmss", CTLFLAG_RW, + &rack_req_del_mss, 18, + "How many MSS must be delivered during recovery to engage policer detection?"); + SYSCTL_ADD_U16(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "res_div", CTLFLAG_RW, + &rack_policer_bucket_reserve, 20, + "What percentage is reserved in the policer bucket?"); + SYSCTL_ADD_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "min_comp_bw", CTLFLAG_RW, + &rack_pol_min_bw, 125000, + "Do we have a min b/w for b/w compensation (0 = no)?"); /* Misc rack controls */ rack_misc = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -1578,31 +1702,8 @@ rack_init_sysctls(void) OID_AUTO, "autoscale", CTLFLAG_RW, &rack_autosndbuf_inc, 20, "What percentage should rack scale up its snd buffer by?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "rnds_for_rxt_clamp", CTLFLAG_RW, - &rack_rxt_min_rnds, 10, - "Number of rounds needed between RTT clamps due to high loss rates"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "rnds_for_unclamp", CTLFLAG_RW, - &rack_unclamp_round_thresh, 100, - "Number of rounds needed with no loss to unclamp"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "rxt_threshs_for_unclamp", CTLFLAG_RW, - &rack_unclamp_rxt_thresh, 5, - "Percentage of retransmits we need to be under to unclamp (5 = .5 percent)\n"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "clamp_ss_upper", CTLFLAG_RW, - &rack_clamp_ss_upper, 110, - "Clamp percentage ceiling in SS?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "clamp_ca_upper", CTLFLAG_RW, - &rack_clamp_ca_upper, 110, - "Clamp percentage ceiling in CA?"); + + /* Sack Attacker detection stuff */ SYSCTL_ADD_U32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_attack), @@ -1779,6 +1880,13 @@ rack_init_sysctls(void) OID_AUTO, "alloc_hot", CTLFLAG_RD, &rack_hot_alloc, "Total allocations from the top of our list"); + tcp_policer_detected = counter_u64_alloc(M_WAITOK); + SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_counters), + OID_AUTO, "policer_detected", CTLFLAG_RD, + &tcp_policer_detected, + "Total policer_detections"); + rack_to_alloc = counter_u64_alloc(M_WAITOK); SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_counters), @@ -1957,17 +2065,8 @@ rack_init_sysctls(void) static uint32_t rc_init_window(struct tcp_rack *rack) { - uint32_t win; + return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); - if (rack->rc_init_win == 0) { - /* - * Nothing set by the user, use the system stack - * default. - */ - return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); - } - win = ctf_fixed_maxseg(rack->rc_tp) * rack->rc_init_win; - return (win); } static uint64_t @@ -2071,6 +2170,7 @@ rack_log_hybrid_bw(struct tcp_rack *rack, uint32_t seq, uint64_t cbw, uint64_t t off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); log.u_bbr.bbr_substate = (uint8_t)(off / sizeof(struct tcp_sendfile_track)); #endif + log.u_bbr.inhpts = 1; log.u_bbr.flex4 = (uint32_t)(rack->rc_tp->t_sndbytes - cur->sent_at_fs); log.u_bbr.flex5 = (uint32_t)(rack->rc_tp->t_snd_rxt_bytes - cur->rxt_at_fs); log.u_bbr.flex7 = (uint16_t)cur->hybrid_flags; @@ -2116,9 +2216,24 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int memset(&log, 0, sizeof(log)); log.u_bbr.timeStamp = tcp_get_usecs(&tv); - log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; log.u_bbr.delRate = cur->sent_at_fs; - log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; + + if ((cur->flags & TCP_TRK_TRACK_FLG_LSND) == 0) { + /* + * We did not get a new Rules Applied to set so + * no overlapping send occured, this means the + * current byte counts are correct. + */ + log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; + log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; + } else { + /* + * Overlapping send case, we switched to a new + * send and did a rules applied. + */ + log.u_bbr.cur_del_rate = cur->sent_at_ls; + log.u_bbr.rttProp = cur->rxt_at_ls; + } log.u_bbr.bw_inuse = cur->rxt_at_fs; log.u_bbr.cwnd_gain = line; off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); @@ -2138,6 +2253,7 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int log.u_bbr.lt_epoch = (uint32_t)((cur->timestamp >> 32) & 0x00000000ffffffff); /* now set all the flags in */ log.u_bbr.pkts_out = cur->hybrid_flags; + log.u_bbr.lost = cur->playout_ms; log.u_bbr.flex6 = cur->flags; /* * Last send time = note we do not distinguish cases @@ -2146,6 +2262,20 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int */ log.u_bbr.pkt_epoch = (uint32_t)(rack->r_ctl.last_tmit_time_acked & 0x00000000ffffffff); log.u_bbr.flex5 = (uint32_t)((rack->r_ctl.last_tmit_time_acked >> 32) & 0x00000000ffffffff); + /* + * Compose bbr_state to be a bit wise 0000ADHF + * where A is the always_pace flag + * where D is the dgp_on flag + * where H is the hybrid_mode on flag + * where F is the use_fixed_rate flag. + */ + log.u_bbr.bbr_state = rack->rc_always_pace; + log.u_bbr.bbr_state <<= 1; + log.u_bbr.bbr_state |= rack->dgp_on; + log.u_bbr.bbr_state <<= 1; + log.u_bbr.bbr_state |= rack->rc_hybrid_mode; + log.u_bbr.bbr_state <<= 1; + log.u_bbr.bbr_state |= rack->use_fixed_rate; log.u_bbr.flex8 = HYBRID_LOG_SENT_LOST; tcp_log_event(rack->rc_tp, NULL, @@ -2299,6 +2429,7 @@ normal_ratecap: #ifdef TCP_REQUEST_TRK if (rack->rc_hybrid_mode && rack->rc_catch_up && + (rack->r_ctl.rc_last_sft != NULL) && (rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_S_MSS) && (rack_hybrid_allow_set_maxseg == 1) && ((rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_SETMSS) == 0)) { @@ -2338,7 +2469,10 @@ rack_get_gp_est(struct tcp_rack *rack) */ uint64_t srtt; - lt_bw = rack_get_lt_bw(rack); + if (rack->dis_lt_bw == 1) + lt_bw = 0; + else + lt_bw = rack_get_lt_bw(rack); if (lt_bw) { /* * No goodput bw but a long-term b/w does exist @@ -2374,19 +2508,22 @@ rack_get_gp_est(struct tcp_rack *rack) /* Still doing initial average must calculate */ bw = rack->r_ctl.gp_bw / max(rack->r_ctl.num_measurements, 1); } + if (rack->dis_lt_bw) { + /* We are not using lt-bw */ + ret_bw = bw; + goto compensate; + } lt_bw = rack_get_lt_bw(rack); if (lt_bw == 0) { /* If we don't have one then equate it to the gp_bw */ lt_bw = rack->r_ctl.gp_bw; } - if ((rack->r_cwnd_was_clamped == 1) && (rack->r_clamped_gets_lower > 0)){ - /* if clamped take the lowest */ + if (rack->use_lesser_lt_bw) { if (lt_bw < bw) ret_bw = lt_bw; else ret_bw = bw; } else { - /* If not set for clamped to get lowest, take the highest */ if (lt_bw > bw) ret_bw = lt_bw; else @@ -2487,6 +2624,8 @@ rack_log_dsack_event(struct tcp_rack *rack, uint8_t mod, uint32_t flex4, uint32_ log.u_bbr.flex7 = rack->r_ctl.dsack_persist; log.u_bbr.flex8 = mod; log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2535,6 +2674,8 @@ rack_log_hdwr_pacing(struct tcp_rack *rack, else log.u_bbr.cur_del_rate = 0; log.u_bbr.rttProp = rack->r_ctl.last_hw_bw_req; + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2552,28 +2693,9 @@ rack_get_output_bw(struct tcp_rack *rack, uint64_t bw, struct rack_sendmap *rsm, uint64_t bw_est, high_rate; uint64_t gain; - if ((rack->r_pacing_discount == 0) || - (rack_full_buffer_discount == 0)) { - /* - * No buffer level based discount from client buffer - * level is enabled or the feature is disabled. - */ - gain = (uint64_t)rack_get_output_gain(rack, rsm); - bw_est = bw * gain; - bw_est /= (uint64_t)100; - } else { - /* - * We have a discount in place apply it with - * just a 100% gain (we get no boost if the buffer - * is full). - */ - uint64_t discount; - - discount = bw * (uint64_t)(rack_full_buffer_discount * rack->r_ctl.pacing_discount_amm); - discount /= 100; - /* What %% of the b/w do we discount */ - bw_est = bw - discount; - } + gain = (uint64_t)rack_get_output_gain(rack, rsm); + bw_est = bw * gain; + bw_est /= (uint64_t)100; /* Never fall below the minimum (def 64kbps) */ if (bw_est < RACK_MIN_BW) bw_est = RACK_MIN_BW; @@ -2659,6 +2781,8 @@ log_anyway: log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2698,6 +2822,10 @@ rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t slot log.u_bbr.lt_epoch = rack->rc_tp->t_rxtshift; log.u_bbr.lost = rack_rto_min; log.u_bbr.epoch = rack->r_ctl.roundends; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; + log.u_bbr.applimited = rack->rc_tp->t_flags2; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2731,6 +2859,9 @@ rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rs log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2780,6 +2911,9 @@ rack_log_map_chg(struct tcpcb *tp, struct tcp_rack *rack, log.u_bbr.lost = 0; else log.u_bbr.lost = rack->r_ctl.rc_prr_sndcnt; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2927,6 +3061,9 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time log.u_bbr.flex4 = where; log.u_bbr.flex7 = 2; log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2939,7 +3076,7 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time static void rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t tsecho) { - if (tcp_bblogging_on(rack->rc_tp)) { + if (rack_verbose_logging && tcp_bblogging_on(rack->rc_tp)) { union tcp_log_stackspecific log; struct timeval tv; @@ -2951,6 +3088,9 @@ rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t log.u_bbr.flex7 = 3; log.u_bbr.rttProp = tsv; log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2979,6 +3119,9 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3051,6 +3194,13 @@ rack_log_doseg_done(struct tcp_rack *rack, uint32_t cts, int32_t nxt_pkt, int32_ log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; + log.u_bbr.epoch = rack->rc_inp->inp_socket->so_snd.sb_hiwat; + log.u_bbr.lt_epoch = rack->rc_inp->inp_socket->so_rcv.sb_hiwat; + log.u_bbr.lost = rack->rc_tp->t_srtt; + log.u_bbr.pkt_epoch = rack->rc_tp->rfbuf_cnt; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3112,6 +3262,9 @@ rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, ui log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; log.u_bbr.cwnd_gain = rack->rc_has_collapsed; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3146,6 +3299,9 @@ rack_log_to_cancel(struct tcp_rack *rack, int32_t hpts_removed, int line, uint32 log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3314,6 +3470,7 @@ rack_counter_destroy(void) counter_u64_free(rack_saw_enobuf_hw); counter_u64_free(rack_saw_enetunreach); counter_u64_free(rack_hot_alloc); + counter_u64_free(tcp_policer_detected); counter_u64_free(rack_to_alloc); counter_u64_free(rack_to_alloc_hard); counter_u64_free(rack_to_alloc_emerg); @@ -3475,6 +3632,8 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) rack->r_ctl.rc_num_split_allocs--; } if (rsm == rack->r_ctl.rc_first_appl) { + rack->r_ctl.cleared_app_ack_seq = rsm->r_start + (rsm->r_end - rsm->r_start); + rack->r_ctl.cleared_app_ack = 1; if (rack->r_ctl.rc_app_limited_cnt == 0) rack->r_ctl.rc_first_appl = NULL; else @@ -3490,7 +3649,7 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) rack->r_ctl.rc_sacklast = NULL; memset(rsm, 0, sizeof(struct rack_sendmap)); /* Make sure we are not going to overrun our count limit of 0xff */ - if ((rack->rc_free_cnt + 1) > 0xff) { + if ((rack->rc_free_cnt + 1) > RACK_FREE_CNT_MAX) { rack_free_trim(rack); } TAILQ_INSERT_HEAD(&rack->r_ctl.rc_free, rsm, r_tnext); @@ -3806,6 +3965,8 @@ rack_increase_bw_mul(struct tcp_rack *rack, int timely_says, uint64_t cur_bw, ui logged = 0; + if (rack->rc_skip_timely) + return; if (override) { /* * override is passed when we are @@ -3976,6 +4137,8 @@ rack_decrease_bw_mul(struct tcp_rack *rack, int timely_says, uint32_t rtt, int32 uint64_t logvar, logvar2, logvar3; uint32_t logged, new_per, ss_red, ca_red, rec_red, alt, val; + if (rack->rc_skip_timely) + return; if (rack->rc_gp_incr) { /* Turn off increment counting */ rack->rc_gp_incr = 0; @@ -4177,6 +4340,7 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) */ uint32_t segsiz; + rack->r_ctl.rc_lower_rtt_us_cts = us_cts; if (rack->rc_gp_dyn_mul == 0) return; @@ -4203,7 +4367,6 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) rack->r_ctl.rc_pace_min_segs); rack->in_probe_rtt = 1; rack->measure_saw_probe_rtt = 1; - rack->r_ctl.rc_lower_rtt_us_cts = us_cts; rack->r_ctl.rc_time_probertt_starts = 0; rack->r_ctl.rc_entry_gp_rtt = rack->r_ctl.rc_gp_srtt; if (rack_probertt_use_min_rtt_entry) @@ -4387,6 +4550,7 @@ static void rack_check_probe_rtt(struct tcp_rack *rack, uint32_t us_cts) { /* Check in on probe-rtt */ + if (rack->rc_gp_filled == 0) { /* We do not do p-rtt unless we have gp measurements */ return; @@ -4431,7 +4595,10 @@ no_exit: if (calc) { /* Maybe */ calc *= rack_per_of_gp_probertt_reduce; - rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_probertt - calc; + if (calc > rack_per_of_gp_probertt) + rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_lowthresh; + else + rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_probertt - calc; *** 6981 LINES SKIPPED *** From nobody Mon Mar 11 13:48:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtdQs6Pjhz5D1vR; Mon, 11 Mar 2024 13:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtdQs6BL5z4MGT; Mon, 11 Mar 2024 13:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710164917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UnYYAZfUgEPHt/LTgi/sERBeTdPOGaikvye0dLlkJ3U=; b=xsyKH9rjUijdQOr6eMSyJcwaw0mUFdKNJhkCPmzP4D0xa9bIhei+GqWFsZUQTEOTimiiB0 aWmljaeBSD75gDPIXPud5BAI0VQES4/COgSc/UxWdMbXZe+HteySdDkCgcq7DE1jLibtUV hVoV2CZkh9KTSFEjAMgHYudSAZytKfWaQXTWcmjwOUsn7pbDMjP1VNj5Eufys3W4vfyALa QxL6dWs7dvweqGpYHTOz6bwiOMCu93ZuDu8ZJJ4QanrUYgC1J1cQ6vmYmdLch0k96eRIL6 R5PnLOLV75W6eMC67sqtbKO3I5SaBqoxIlgQbeTMEdqSyaz2JSnXgyIj4B3ZAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710164917; a=rsa-sha256; cv=none; b=xMEz1aD85sFjd+4l+49FLDAKOAtnzaWXfzvT1rHnO6BCeZj9C+oerAI3muI1oS89giBHQ/ GR95p50/Ka+6QqMSBVhke4MlT3v0hM6ZzCkpKDbJGCFVlj1UPjTvAy5d1Hu9TqvoVbsK0r eOOgWs/cpctYDKEziGq8yycNYphnGx9vdMtpBhAJc8tVYwPjwtR0b7y4jMktidERLAdkpz AO6G+dZVbOzjux/5O0vliRG8UnMJN2qnj2X52mQZlVtyYQR9A5lTKq5NyFBAq3rQlR0UXm FAombimyajEpxwkorUNNEoLhTUrchGZmv27r9baSZmvGVlTD7a5jBi6tQXJsvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710164917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UnYYAZfUgEPHt/LTgi/sERBeTdPOGaikvye0dLlkJ3U=; b=CLGL3X3pcpxlFvJkMjivBHETEDoITmwtgpJmKzhyFFemBtB9oig/9LIjehxf/d/ZRPWZAD 4plfT8hNzDsC/hZLSDMAWx7yjdDWVlEjw4TVeYcxFeznCDGJqMVyqodC3sQpETy8eOJb57 m4GiGM+t4TTDUKY/GCRgbBr0F+rnHKtd+E7Q/xDVtQjwrK5CBPburkizqFQSW9fzi5grf8 Ls3UWBwkqVl+CUGotBDKiUTdLJ0gc5FnuwiqueRy0dYnKYe6arNOs08SXQR1C24SbpAplq CM2XI0o9053YUPNvPMOeUn/jiPb22EXBaN4eYD60+yp9vPezmZipcaBNwlG58g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtdQs5gz1zXVX; Mon, 11 Mar 2024 13:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BDmbcp047103; Mon, 11 Mar 2024 13:48:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BDmb3f047100; Mon, 11 Mar 2024 13:48:37 GMT (envelope-from git) Date: Mon, 11 Mar 2024 13:48:37 GMT Message-Id: <202403111348.42BDmb3f047100@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 59c8e88e7263 - main - Add 'contrib/libdiff/' from commit '9eb461aa4b61ab47855b2cee9e5b626a76888b5e' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59c8e88e72633afbc47a4ace0d2170d00d51f7dc Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=59c8e88e72633afbc47a4ace0d2170d00d51f7dc commit 59c8e88e72633afbc47a4ace0d2170d00d51f7dc Merge: f6d489f402c3 9eb461aa4b61 Author: Dag-Erling Smørgrav AuthorDate: 2024-03-11 13:44:36 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-03-11 13:48:08 +0000 Add 'contrib/libdiff/' from commit '9eb461aa4b61ab47855b2cee9e5b626a76888b5e' git-subtree-dir: contrib/libdiff git-subtree-mainline: f6d489f402c320f1a6eaa473491a0b8c3878113e git-subtree-split: 9eb461aa4b61ab47855b2cee9e5b626a76888b5e Reviewed by: imp Sponsored by: Klara, Inc. contrib/libdiff/.gitignore | 13 + contrib/libdiff/LICENCE | 13 + contrib/libdiff/README | 26 + contrib/libdiff/compat/getprogname_linux.c | 8 + contrib/libdiff/compat/include/stdlib.h | 20 + contrib/libdiff/compat/include/string.h | 16 + contrib/libdiff/compat/include/sys/types.h | 15 + contrib/libdiff/compat/merge.c | 338 + contrib/libdiff/compat/reallocarray.c | 38 + contrib/libdiff/compat/recallocarray.c | 80 + contrib/libdiff/compat/strlcat.c | 55 + contrib/libdiff/compat/strlcpy.c | 50 + contrib/libdiff/diff-version.mk | 8 + contrib/libdiff/diff/GNUmakefile | 19 + contrib/libdiff/diff/Makefile | 41 + contrib/libdiff/diff/diff.c | 280 + contrib/libdiff/include/arraylist.h | 121 + contrib/libdiff/include/diff_main.h | 264 + contrib/libdiff/include/diff_output.h | 112 + contrib/libdiff/lib/GNUmakefile | 32 + contrib/libdiff/lib/diff_atomize_text.c | 197 + contrib/libdiff/lib/diff_debug.h | 226 + contrib/libdiff/lib/diff_internal.h | 157 + contrib/libdiff/lib/diff_main.c | 663 + contrib/libdiff/lib/diff_myers.c | 1425 +++ contrib/libdiff/lib/diff_output.c | 371 + contrib/libdiff/lib/diff_output_edscript.c | 190 + contrib/libdiff/lib/diff_output_plain.c | 246 + contrib/libdiff/lib/diff_output_unidiff.c | 602 + contrib/libdiff/lib/diff_patience.c | 647 + contrib/libdiff/man/diff.1 | 47 + contrib/libdiff/test/GNUmakefile | 11 + contrib/libdiff/test/Makefile | 12 + contrib/libdiff/test/README | 7 + contrib/libdiff/test/arraylist_test.c | 58 + contrib/libdiff/test/arraylist_test/GNUmakefile | 20 + contrib/libdiff/test/arraylist_test/Makefile | 11 + contrib/libdiff/test/expect.arraylist_test | 76 + contrib/libdiff/test/expect.results_test | 14 + contrib/libdiff/test/expect001.diff | 12 + contrib/libdiff/test/expect002.diff | 16 + contrib/libdiff/test/expect003.diff | 10 + contrib/libdiff/test/expect004.diff | 24 + contrib/libdiff/test/expect005.diff | 12 + contrib/libdiff/test/expect006.diff | 24 + contrib/libdiff/test/expect007.diff | 5 + contrib/libdiff/test/expect008.diff | 9 + contrib/libdiff/test/expect009.diff | 13 + contrib/libdiff/test/expect010.diff | 19 + contrib/libdiff/test/expect011.diff | 19 + contrib/libdiff/test/expect012.diff | 21 + contrib/libdiff/test/expect013.diff | 10 + contrib/libdiff/test/expect014.diff | 4 + contrib/libdiff/test/expect015.diff | 4 + contrib/libdiff/test/expect016.diff | 30 + contrib/libdiff/test/expect018.diff | 16 + contrib/libdiff/test/expect019.diff | 204 + contrib/libdiff/test/expect021.diff | 868 ++ contrib/libdiff/test/expect101.diff | 12 + contrib/libdiff/test/expect102.diff | 16 + contrib/libdiff/test/expect103.diff | 10 + contrib/libdiff/test/expect104.diff | 24 + contrib/libdiff/test/expect105.diff | 12 + contrib/libdiff/test/expect106.diff | 24 + contrib/libdiff/test/expect107.diff | 5 + contrib/libdiff/test/expect108.diff | 9 + contrib/libdiff/test/expect109.diff | 13 + contrib/libdiff/test/expect110.diff | 19 + contrib/libdiff/test/expect111.diff | 19 + contrib/libdiff/test/expect112.diff | 21 + contrib/libdiff/test/expect113.diff | 10 + contrib/libdiff/test/expect114.diff | 4 + contrib/libdiff/test/expect115.diff | 4 + contrib/libdiff/test/expect116.diff | 30 + contrib/libdiff/test/expect117.diff | 64 + contrib/libdiff/test/expect123.diff | 1 + contrib/libdiff/test/expect124.diff | 9 + contrib/libdiff/test/expect125.diff | 12 + contrib/libdiff/test/expect126.diff | 28 + contrib/libdiff/test/results_test.c | 178 + contrib/libdiff/test/results_test/GNUmakefile | 20 + contrib/libdiff/test/results_test/Makefile | 11 + contrib/libdiff/test/test001.left.txt | 7 + contrib/libdiff/test/test001.right.txt | 6 + contrib/libdiff/test/test002.left.txt | 10 + contrib/libdiff/test/test002.right.txt | 9 + contrib/libdiff/test/test003.left.txt | 5 + contrib/libdiff/test/test003.right.txt | 4 + contrib/libdiff/test/test004.left.txt | 14 + contrib/libdiff/test/test004.right.txt | 14 + contrib/libdiff/test/test005.left.txt | 7 + contrib/libdiff/test/test005.right.txt | 7 + contrib/libdiff/test/test006.left.txt | 25 + contrib/libdiff/test/test006.right.txt | 25 + contrib/libdiff/test/test007.left.txt | 1 + contrib/libdiff/test/test007.right.txt | 1 + contrib/libdiff/test/test008.left.txt | 1 + contrib/libdiff/test/test008.right.txt | 6 + contrib/libdiff/test/test009.left.txt | 3 + contrib/libdiff/test/test009.right.txt | 10 + contrib/libdiff/test/test010.left.txt | 14197 +++++++++++++++++++++ contrib/libdiff/test/test010.right.txt | 14201 ++++++++++++++++++++++ contrib/libdiff/test/test011.left.txt | 393 + contrib/libdiff/test/test011.right.txt | 397 + contrib/libdiff/test/test012.left.txt | 23 + contrib/libdiff/test/test012.right.txt | 29 + contrib/libdiff/test/test013.left-w.txt | 7 + contrib/libdiff/test/test013.right-w.txt | 7 + contrib/libdiff/test/test014.left.txt | 0 contrib/libdiff/test/test014.right.txt | 1 + contrib/libdiff/test/test015.left.txt | 1 + contrib/libdiff/test/test015.right.txt | 0 contrib/libdiff/test/test016.left.txt | 298 + contrib/libdiff/test/test016.right.txt | 301 + contrib/libdiff/test/test017.left-U0.txt | 15 + contrib/libdiff/test/test017.right-U0.txt | 19 + contrib/libdiff/test/test018.left-T.txt | 7 + contrib/libdiff/test/test018.right-T.txt | 6 + contrib/libdiff/test/test019.left.txt | 845 ++ contrib/libdiff/test/test019.right.txt | 904 ++ contrib/libdiff/test/test020.left.txt | 919 ++ contrib/libdiff/test/test020.right.txt | 935 ++ contrib/libdiff/test/test021.left.txt | 1367 +++ contrib/libdiff/test/test021.right.txt | 1251 ++ contrib/libdiff/test/test101.left-P.txt | 7 + contrib/libdiff/test/test101.right-P.txt | 6 + contrib/libdiff/test/test102.left-P.txt | 10 + contrib/libdiff/test/test102.right-P.txt | 9 + contrib/libdiff/test/test103.left-P.txt | 5 + contrib/libdiff/test/test103.right-P.txt | 4 + contrib/libdiff/test/test104.left-P.txt | 14 + contrib/libdiff/test/test104.right-P.txt | 14 + contrib/libdiff/test/test105.left-P.txt | 7 + contrib/libdiff/test/test105.right-P.txt | 7 + contrib/libdiff/test/test106.left-P.txt | 25 + contrib/libdiff/test/test106.right-P.txt | 25 + contrib/libdiff/test/test107.left-P.txt | 1 + contrib/libdiff/test/test107.right-P.txt | 1 + contrib/libdiff/test/test108.left-P.txt | 1 + contrib/libdiff/test/test108.right-P.txt | 6 + contrib/libdiff/test/test109.left-P.txt | 3 + contrib/libdiff/test/test109.right-P.txt | 10 + contrib/libdiff/test/test110.left-P.txt | 14197 +++++++++++++++++++++ contrib/libdiff/test/test110.right-P.txt | 14201 ++++++++++++++++++++++ contrib/libdiff/test/test111.left-P.txt | 393 + contrib/libdiff/test/test111.right-P.txt | 397 + contrib/libdiff/test/test112.left-P.txt | 23 + contrib/libdiff/test/test112.right-P.txt | 29 + contrib/libdiff/test/test113.left-Pw.txt | 7 + contrib/libdiff/test/test113.right-Pw.txt | 7 + contrib/libdiff/test/test114.left-P.txt | 0 contrib/libdiff/test/test114.right-P.txt | 1 + contrib/libdiff/test/test115.left-P.txt | 1 + contrib/libdiff/test/test115.right-P.txt | 0 contrib/libdiff/test/test116.left-P.txt | 298 + contrib/libdiff/test/test116.right-P.txt | 301 + contrib/libdiff/test/test117.left-P.txt | 1237 ++ contrib/libdiff/test/test117.right-P.txt | 1251 ++ contrib/libdiff/test/test122.left-P.txt | 1338 ++ contrib/libdiff/test/test122.right-P.txt | 1251 ++ contrib/libdiff/test/test123.left-e.txt | 1 + contrib/libdiff/test/test123.right-e.txt | 2 + contrib/libdiff/test/test124.left-p.txt | 15 + contrib/libdiff/test/test124.right-p.txt | 15 + contrib/libdiff/test/test125.left.txt | 7 + contrib/libdiff/test/test125.right.txt | 7 + contrib/libdiff/test/test126.left.txt | 171 + contrib/libdiff/test/test126.right.txt | 170 + contrib/libdiff/test/verify_all.sh | 115 + 169 files changed, 80272 insertions(+) diff --cc contrib/libdiff/.gitignore index 000000000000,000000000000..4ecef24b8c23 new file mode 100644 --- /dev/null +++ b/contrib/libdiff/.gitignore @@@ -1,0 -1,0 +1,13 @@@ ++.*.sw? ++diff/diff ++*.o ++*.d ++*.a ++**/*.o ++**/*.d ++***/.a ++tags ++test/got*.diff ++test/verify.* ++test/arraylist_test/arraylist_test ++test/results_test/results_test diff --cc contrib/libdiff/LICENCE index 000000000000,d908088b90fc..d908088b90fc mode 000000,100644..100644 --- a/contrib/libdiff/LICENCE +++ b/contrib/libdiff/LICENCE diff --cc contrib/libdiff/README index 000000000000,4e99e6e3c2e2..4e99e6e3c2e2 mode 000000,100644..100644 --- a/contrib/libdiff/README +++ b/contrib/libdiff/README diff --cc contrib/libdiff/compat/getprogname_linux.c index 000000000000,0957c6bc106b..0957c6bc106b mode 000000,100644..100644 --- a/contrib/libdiff/compat/getprogname_linux.c +++ b/contrib/libdiff/compat/getprogname_linux.c diff --cc contrib/libdiff/compat/include/stdlib.h index 000000000000,75b18881a7b7..75b18881a7b7 mode 000000,100644..100644 --- a/contrib/libdiff/compat/include/stdlib.h +++ b/contrib/libdiff/compat/include/stdlib.h diff --cc contrib/libdiff/compat/include/string.h index 000000000000,75190903aba8..75190903aba8 mode 000000,100644..100644 --- a/contrib/libdiff/compat/include/string.h +++ b/contrib/libdiff/compat/include/string.h diff --cc contrib/libdiff/compat/include/sys/types.h index 000000000000,f580c7c593a8..f580c7c593a8 mode 000000,100644..100644 --- a/contrib/libdiff/compat/include/sys/types.h +++ b/contrib/libdiff/compat/include/sys/types.h diff --cc contrib/libdiff/compat/merge.c index 000000000000,a5b0d88aa337..a5b0d88aa337 mode 000000,100644..100644 --- a/contrib/libdiff/compat/merge.c +++ b/contrib/libdiff/compat/merge.c diff --cc contrib/libdiff/compat/reallocarray.c index 000000000000,43f0b69158ac..43f0b69158ac mode 000000,100644..100644 --- a/contrib/libdiff/compat/reallocarray.c +++ b/contrib/libdiff/compat/reallocarray.c diff --cc contrib/libdiff/compat/recallocarray.c index 000000000000,d93abd2da5fd..d93abd2da5fd mode 000000,100644..100644 --- a/contrib/libdiff/compat/recallocarray.c +++ b/contrib/libdiff/compat/recallocarray.c diff --cc contrib/libdiff/compat/strlcat.c index 000000000000,c94e90deeeeb..c94e90deeeeb mode 000000,100644..100644 --- a/contrib/libdiff/compat/strlcat.c +++ b/contrib/libdiff/compat/strlcat.c diff --cc contrib/libdiff/compat/strlcpy.c index 000000000000,2fa498c3978b..2fa498c3978b mode 000000,100644..100644 --- a/contrib/libdiff/compat/strlcpy.c +++ b/contrib/libdiff/compat/strlcpy.c diff --cc contrib/libdiff/diff-version.mk index 000000000000,1d14cd7ecfcc..1d14cd7ecfcc mode 000000,100644..100644 --- a/contrib/libdiff/diff-version.mk +++ b/contrib/libdiff/diff-version.mk diff --cc contrib/libdiff/diff/GNUmakefile index 000000000000,63d0b8795665..63d0b8795665 mode 000000,100644..100644 --- a/contrib/libdiff/diff/GNUmakefile +++ b/contrib/libdiff/diff/GNUmakefile diff --cc contrib/libdiff/diff/Makefile index 000000000000,4a7f3a9755f5..4a7f3a9755f5 mode 000000,100644..100644 --- a/contrib/libdiff/diff/Makefile +++ b/contrib/libdiff/diff/Makefile diff --cc contrib/libdiff/diff/diff.c index 000000000000,eded4163df8d..eded4163df8d mode 000000,100644..100644 --- a/contrib/libdiff/diff/diff.c +++ b/contrib/libdiff/diff/diff.c diff --cc contrib/libdiff/include/arraylist.h index 000000000000,453b71cedd7f..453b71cedd7f mode 000000,100644..100644 --- a/contrib/libdiff/include/arraylist.h +++ b/contrib/libdiff/include/arraylist.h diff --cc contrib/libdiff/include/diff_main.h index 000000000000,04a6c6e748c9..04a6c6e748c9 mode 000000,100644..100644 --- a/contrib/libdiff/include/diff_main.h +++ b/contrib/libdiff/include/diff_main.h diff --cc contrib/libdiff/include/diff_output.h index 000000000000,d2568c5a2b50..d2568c5a2b50 mode 000000,100644..100644 --- a/contrib/libdiff/include/diff_output.h +++ b/contrib/libdiff/include/diff_output.h diff --cc contrib/libdiff/lib/GNUmakefile index 000000000000,cb35f757e09d..cb35f757e09d mode 000000,100644..100644 --- a/contrib/libdiff/lib/GNUmakefile +++ b/contrib/libdiff/lib/GNUmakefile diff --cc contrib/libdiff/lib/diff_atomize_text.c index 000000000000,32023105af94..32023105af94 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_atomize_text.c +++ b/contrib/libdiff/lib/diff_atomize_text.c diff --cc contrib/libdiff/lib/diff_debug.h index 000000000000,4b7ec8090638..4b7ec8090638 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_debug.h +++ b/contrib/libdiff/lib/diff_debug.h diff --cc contrib/libdiff/lib/diff_internal.h index 000000000000,46bbadf3cb64..46bbadf3cb64 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_internal.h +++ b/contrib/libdiff/lib/diff_internal.h diff --cc contrib/libdiff/lib/diff_main.c index 000000000000,e64b1320e553..e64b1320e553 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_main.c +++ b/contrib/libdiff/lib/diff_main.c diff --cc contrib/libdiff/lib/diff_myers.c index 000000000000,c886d1a28586..c886d1a28586 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_myers.c +++ b/contrib/libdiff/lib/diff_myers.c diff --cc contrib/libdiff/lib/diff_output.c index 000000000000,7ac63bb6c433..7ac63bb6c433 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_output.c +++ b/contrib/libdiff/lib/diff_output.c diff --cc contrib/libdiff/lib/diff_output_edscript.c index 000000000000,42d4d5b39ef5..42d4d5b39ef5 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_output_edscript.c +++ b/contrib/libdiff/lib/diff_output_edscript.c diff --cc contrib/libdiff/lib/diff_output_plain.c index 000000000000,7b0082bd1b84..7b0082bd1b84 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_output_plain.c +++ b/contrib/libdiff/lib/diff_output_plain.c diff --cc contrib/libdiff/lib/diff_output_unidiff.c index 000000000000,d480a022a9a7..d480a022a9a7 mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_output_unidiff.c +++ b/contrib/libdiff/lib/diff_output_unidiff.c diff --cc contrib/libdiff/lib/diff_patience.c index 000000000000,a06df2c36c9d..a06df2c36c9d mode 000000,100644..100644 --- a/contrib/libdiff/lib/diff_patience.c +++ b/contrib/libdiff/lib/diff_patience.c diff --cc contrib/libdiff/man/diff.1 index 000000000000,b4a9acb0cdc7..b4a9acb0cdc7 mode 000000,100644..100644 --- a/contrib/libdiff/man/diff.1 +++ b/contrib/libdiff/man/diff.1 diff --cc contrib/libdiff/test/GNUmakefile index 000000000000,c88d884448ed..c88d884448ed mode 000000,100644..100644 --- a/contrib/libdiff/test/GNUmakefile +++ b/contrib/libdiff/test/GNUmakefile diff --cc contrib/libdiff/test/Makefile index 000000000000,f42511784ccd..f42511784ccd mode 000000,100644..100644 --- a/contrib/libdiff/test/Makefile +++ b/contrib/libdiff/test/Makefile diff --cc contrib/libdiff/test/README index 000000000000,60764f106146..60764f106146 mode 000000,100644..100644 --- a/contrib/libdiff/test/README +++ b/contrib/libdiff/test/README diff --cc contrib/libdiff/test/arraylist_test.c index 000000000000,da5542e8d629..da5542e8d629 mode 000000,100644..100644 --- a/contrib/libdiff/test/arraylist_test.c +++ b/contrib/libdiff/test/arraylist_test.c diff --cc contrib/libdiff/test/arraylist_test/GNUmakefile index 000000000000,9f781ee997b3..9f781ee997b3 mode 000000,100644..100644 --- a/contrib/libdiff/test/arraylist_test/GNUmakefile +++ b/contrib/libdiff/test/arraylist_test/GNUmakefile diff --cc contrib/libdiff/test/arraylist_test/Makefile index 000000000000,f088f4767c92..f088f4767c92 mode 000000,100644..100644 --- a/contrib/libdiff/test/arraylist_test/Makefile +++ b/contrib/libdiff/test/arraylist_test/Makefile diff --cc contrib/libdiff/test/expect.arraylist_test index 000000000000,6b255ecbe78e..6b255ecbe78e mode 000000,100644..100644 --- a/contrib/libdiff/test/expect.arraylist_test +++ b/contrib/libdiff/test/expect.arraylist_test diff --cc contrib/libdiff/test/expect.results_test index 000000000000,93755ac42bd2..93755ac42bd2 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect.results_test +++ b/contrib/libdiff/test/expect.results_test diff --cc contrib/libdiff/test/expect001.diff index 000000000000,7dd803c57dde..7dd803c57dde mode 000000,100644..100644 --- a/contrib/libdiff/test/expect001.diff +++ b/contrib/libdiff/test/expect001.diff diff --cc contrib/libdiff/test/expect002.diff index 000000000000,d6c64921df76..d6c64921df76 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect002.diff +++ b/contrib/libdiff/test/expect002.diff diff --cc contrib/libdiff/test/expect003.diff index 000000000000,1694445da790..1694445da790 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect003.diff +++ b/contrib/libdiff/test/expect003.diff diff --cc contrib/libdiff/test/expect004.diff index 000000000000,061a76ad650b..061a76ad650b mode 000000,100644..100644 --- a/contrib/libdiff/test/expect004.diff +++ b/contrib/libdiff/test/expect004.diff diff --cc contrib/libdiff/test/expect005.diff index 000000000000,9ce014a67eb6..9ce014a67eb6 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect005.diff +++ b/contrib/libdiff/test/expect005.diff diff --cc contrib/libdiff/test/expect006.diff index 000000000000,70233e0337e1..70233e0337e1 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect006.diff +++ b/contrib/libdiff/test/expect006.diff diff --cc contrib/libdiff/test/expect007.diff index 000000000000,a6a06181d840..a6a06181d840 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect007.diff +++ b/contrib/libdiff/test/expect007.diff diff --cc contrib/libdiff/test/expect008.diff index 000000000000,c4dc6791528b..c4dc6791528b mode 000000,100644..100644 --- a/contrib/libdiff/test/expect008.diff +++ b/contrib/libdiff/test/expect008.diff diff --cc contrib/libdiff/test/expect009.diff index 000000000000,c2dae93ed893..c2dae93ed893 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect009.diff +++ b/contrib/libdiff/test/expect009.diff diff --cc contrib/libdiff/test/expect010.diff index 000000000000,868a057dec4d..868a057dec4d mode 000000,100644..100644 --- a/contrib/libdiff/test/expect010.diff +++ b/contrib/libdiff/test/expect010.diff diff --cc contrib/libdiff/test/expect011.diff index 000000000000,7ad8f311b3e6..7ad8f311b3e6 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect011.diff +++ b/contrib/libdiff/test/expect011.diff diff --cc contrib/libdiff/test/expect012.diff index 000000000000,e9a704b8c534..e9a704b8c534 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect012.diff +++ b/contrib/libdiff/test/expect012.diff diff --cc contrib/libdiff/test/expect013.diff index 000000000000,139970c971d6..139970c971d6 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect013.diff +++ b/contrib/libdiff/test/expect013.diff diff --cc contrib/libdiff/test/expect014.diff index 000000000000,43af317b26f1..43af317b26f1 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect014.diff +++ b/contrib/libdiff/test/expect014.diff diff --cc contrib/libdiff/test/expect015.diff index 000000000000,fd5d0482ba38..fd5d0482ba38 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect015.diff +++ b/contrib/libdiff/test/expect015.diff diff --cc contrib/libdiff/test/expect016.diff index 000000000000,17299d578095..17299d578095 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect016.diff +++ b/contrib/libdiff/test/expect016.diff diff --cc contrib/libdiff/test/expect018.diff index 000000000000,c948e6210e5c..c948e6210e5c mode 000000,100644..100644 --- a/contrib/libdiff/test/expect018.diff +++ b/contrib/libdiff/test/expect018.diff diff --cc contrib/libdiff/test/expect019.diff index 000000000000,ee242a032fca..ee242a032fca mode 000000,100644..100644 --- a/contrib/libdiff/test/expect019.diff +++ b/contrib/libdiff/test/expect019.diff diff --cc contrib/libdiff/test/expect021.diff index 000000000000,076ccd4d4a2d..076ccd4d4a2d mode 000000,100644..100644 --- a/contrib/libdiff/test/expect021.diff +++ b/contrib/libdiff/test/expect021.diff diff --cc contrib/libdiff/test/expect101.diff index 000000000000,eca02621faf8..eca02621faf8 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect101.diff +++ b/contrib/libdiff/test/expect101.diff diff --cc contrib/libdiff/test/expect102.diff index 000000000000,58ec6b7744c8..58ec6b7744c8 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect102.diff +++ b/contrib/libdiff/test/expect102.diff diff --cc contrib/libdiff/test/expect103.diff index 000000000000,dae017d8028e..dae017d8028e mode 000000,100644..100644 --- a/contrib/libdiff/test/expect103.diff +++ b/contrib/libdiff/test/expect103.diff diff --cc contrib/libdiff/test/expect104.diff index 000000000000,c48183f5fa9c..c48183f5fa9c mode 000000,100644..100644 --- a/contrib/libdiff/test/expect104.diff +++ b/contrib/libdiff/test/expect104.diff diff --cc contrib/libdiff/test/expect105.diff index 000000000000,82d3b52ee97e..82d3b52ee97e mode 000000,100644..100644 --- a/contrib/libdiff/test/expect105.diff +++ b/contrib/libdiff/test/expect105.diff diff --cc contrib/libdiff/test/expect106.diff index 000000000000,c48cf3199188..c48cf3199188 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect106.diff +++ b/contrib/libdiff/test/expect106.diff diff --cc contrib/libdiff/test/expect107.diff index 000000000000,f658b89fd21e..f658b89fd21e mode 000000,100644..100644 --- a/contrib/libdiff/test/expect107.diff +++ b/contrib/libdiff/test/expect107.diff diff --cc contrib/libdiff/test/expect108.diff index 000000000000,a9b93e784e4e..a9b93e784e4e mode 000000,100644..100644 --- a/contrib/libdiff/test/expect108.diff +++ b/contrib/libdiff/test/expect108.diff diff --cc contrib/libdiff/test/expect109.diff index 000000000000,ee94eff22a3e..ee94eff22a3e mode 000000,100644..100644 --- a/contrib/libdiff/test/expect109.diff +++ b/contrib/libdiff/test/expect109.diff diff --cc contrib/libdiff/test/expect110.diff index 000000000000,40e1d155b0f2..40e1d155b0f2 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect110.diff +++ b/contrib/libdiff/test/expect110.diff diff --cc contrib/libdiff/test/expect111.diff index 000000000000,dd53220bf3cc..dd53220bf3cc mode 000000,100644..100644 --- a/contrib/libdiff/test/expect111.diff +++ b/contrib/libdiff/test/expect111.diff diff --cc contrib/libdiff/test/expect112.diff index 000000000000,680fe1ac37c5..680fe1ac37c5 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect112.diff +++ b/contrib/libdiff/test/expect112.diff diff --cc contrib/libdiff/test/expect113.diff index 000000000000,882171f0cbb5..882171f0cbb5 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect113.diff +++ b/contrib/libdiff/test/expect113.diff diff --cc contrib/libdiff/test/expect114.diff index 000000000000,538b475acd17..538b475acd17 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect114.diff +++ b/contrib/libdiff/test/expect114.diff diff --cc contrib/libdiff/test/expect115.diff index 000000000000,64d4f35f2582..64d4f35f2582 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect115.diff +++ b/contrib/libdiff/test/expect115.diff diff --cc contrib/libdiff/test/expect116.diff index 000000000000,35c3a14b2f70..35c3a14b2f70 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect116.diff +++ b/contrib/libdiff/test/expect116.diff diff --cc contrib/libdiff/test/expect117.diff index 000000000000,63df381db814..63df381db814 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect117.diff +++ b/contrib/libdiff/test/expect117.diff diff --cc contrib/libdiff/test/expect123.diff index 000000000000,77d05518ee95..77d05518ee95 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect123.diff +++ b/contrib/libdiff/test/expect123.diff diff --cc contrib/libdiff/test/expect124.diff index 000000000000,82713c206aff..82713c206aff mode 000000,100644..100644 --- a/contrib/libdiff/test/expect124.diff +++ b/contrib/libdiff/test/expect124.diff diff --cc contrib/libdiff/test/expect125.diff index 000000000000,dc9ca80aa498..dc9ca80aa498 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect125.diff +++ b/contrib/libdiff/test/expect125.diff diff --cc contrib/libdiff/test/expect126.diff index 000000000000,ddf0066b6822..ddf0066b6822 mode 000000,100644..100644 --- a/contrib/libdiff/test/expect126.diff +++ b/contrib/libdiff/test/expect126.diff diff --cc contrib/libdiff/test/results_test.c index 000000000000,02856a39c249..02856a39c249 mode 000000,100644..100644 --- a/contrib/libdiff/test/results_test.c +++ b/contrib/libdiff/test/results_test.c diff --cc contrib/libdiff/test/results_test/GNUmakefile index 000000000000,f5b14b1f6648..f5b14b1f6648 mode 000000,100644..100644 --- a/contrib/libdiff/test/results_test/GNUmakefile +++ b/contrib/libdiff/test/results_test/GNUmakefile diff --cc contrib/libdiff/test/results_test/Makefile index 000000000000,4cb496ada0aa..4cb496ada0aa mode 000000,100644..100644 --- a/contrib/libdiff/test/results_test/Makefile +++ b/contrib/libdiff/test/results_test/Makefile diff --cc contrib/libdiff/test/test001.left.txt index 000000000000,fd113b0f7150..fd113b0f7150 mode 000000,100644..100644 --- a/contrib/libdiff/test/test001.left.txt +++ b/contrib/libdiff/test/test001.left.txt diff --cc contrib/libdiff/test/test001.right.txt index 000000000000,0075e6d23de0..0075e6d23de0 mode 000000,100644..100644 --- a/contrib/libdiff/test/test001.right.txt +++ b/contrib/libdiff/test/test001.right.txt diff --cc contrib/libdiff/test/test002.left.txt index 000000000000,de77f56f2d47..de77f56f2d47 mode 000000,100644..100644 --- a/contrib/libdiff/test/test002.left.txt +++ b/contrib/libdiff/test/test002.left.txt diff --cc contrib/libdiff/test/test002.right.txt index 000000000000,a9b4b8b851dd..a9b4b8b851dd mode 000000,100644..100644 --- a/contrib/libdiff/test/test002.right.txt +++ b/contrib/libdiff/test/test002.right.txt diff --cc contrib/libdiff/test/test003.left.txt index 000000000000,940532533944..940532533944 mode 000000,100644..100644 --- a/contrib/libdiff/test/test003.left.txt +++ b/contrib/libdiff/test/test003.left.txt diff --cc contrib/libdiff/test/test003.right.txt index 000000000000,d9f266e14574..d9f266e14574 mode 000000,100644..100644 --- a/contrib/libdiff/test/test003.right.txt +++ b/contrib/libdiff/test/test003.right.txt diff --cc contrib/libdiff/test/test004.left.txt index 000000000000,72d95cf6331a..72d95cf6331a mode 000000,100644..100644 --- a/contrib/libdiff/test/test004.left.txt +++ b/contrib/libdiff/test/test004.left.txt diff --cc contrib/libdiff/test/test004.right.txt index 000000000000,cfe8f2ed6be0..cfe8f2ed6be0 mode 000000,100644..100644 --- a/contrib/libdiff/test/test004.right.txt +++ b/contrib/libdiff/test/test004.right.txt diff --cc contrib/libdiff/test/test005.left.txt index 000000000000,b77fc41c4c87..b77fc41c4c87 mode 000000,100644..100644 --- a/contrib/libdiff/test/test005.left.txt +++ b/contrib/libdiff/test/test005.left.txt diff --cc contrib/libdiff/test/test005.right.txt index 000000000000,2480cecfba48..2480cecfba48 mode 000000,100644..100644 --- a/contrib/libdiff/test/test005.right.txt +++ b/contrib/libdiff/test/test005.right.txt diff --cc contrib/libdiff/test/test006.left.txt index 000000000000,e01fce04d5ef..e01fce04d5ef mode 000000,100644..100644 --- a/contrib/libdiff/test/test006.left.txt +++ b/contrib/libdiff/test/test006.left.txt diff --cc contrib/libdiff/test/test006.right.txt index 000000000000,40a0f253dd2e..40a0f253dd2e mode 000000,100644..100644 --- a/contrib/libdiff/test/test006.right.txt +++ b/contrib/libdiff/test/test006.right.txt diff --cc contrib/libdiff/test/test007.left.txt index 000000000000,587be6b4c3f9..587be6b4c3f9 mode 000000,100644..100644 --- a/contrib/libdiff/test/test007.left.txt +++ b/contrib/libdiff/test/test007.left.txt diff --cc contrib/libdiff/test/test007.right.txt index 000000000000,47b0ccb04734..47b0ccb04734 mode 000000,100644..100644 --- a/contrib/libdiff/test/test007.right.txt +++ b/contrib/libdiff/test/test007.right.txt diff --cc contrib/libdiff/test/test008.left.txt index 000000000000,587be6b4c3f9..587be6b4c3f9 mode 000000,100644..100644 --- a/contrib/libdiff/test/test008.left.txt +++ b/contrib/libdiff/test/test008.left.txt diff --cc contrib/libdiff/test/test008.right.txt index 000000000000,70b67eef4500..70b67eef4500 mode 000000,100644..100644 --- a/contrib/libdiff/test/test008.right.txt +++ b/contrib/libdiff/test/test008.right.txt diff --cc contrib/libdiff/test/test009.left.txt index 000000000000,e4e5238f8e5d..e4e5238f8e5d mode 000000,100644..100644 --- a/contrib/libdiff/test/test009.left.txt +++ b/contrib/libdiff/test/test009.left.txt diff --cc contrib/libdiff/test/test009.right.txt index 000000000000,3a4386800dba..3a4386800dba mode 000000,100644..100644 --- a/contrib/libdiff/test/test009.right.txt +++ b/contrib/libdiff/test/test009.right.txt diff --cc contrib/libdiff/test/test010.left.txt index 000000000000,f68ae6a8ceaa..f68ae6a8ceaa mode 000000,100644..100644 --- a/contrib/libdiff/test/test010.left.txt +++ b/contrib/libdiff/test/test010.left.txt diff --cc contrib/libdiff/test/test010.right.txt index 000000000000,46844afad663..46844afad663 mode 000000,100644..100644 --- a/contrib/libdiff/test/test010.right.txt +++ b/contrib/libdiff/test/test010.right.txt diff --cc contrib/libdiff/test/test011.left.txt index 000000000000,2fbc5affa850..2fbc5affa850 mode 000000,100644..100644 --- a/contrib/libdiff/test/test011.left.txt +++ b/contrib/libdiff/test/test011.left.txt diff --cc contrib/libdiff/test/test011.right.txt index 000000000000,417db010011c..417db010011c mode 000000,100644..100644 --- a/contrib/libdiff/test/test011.right.txt +++ b/contrib/libdiff/test/test011.right.txt diff --cc contrib/libdiff/test/test012.left.txt index 000000000000,1081d16c6e49..1081d16c6e49 mode 000000,100644..100644 --- a/contrib/libdiff/test/test012.left.txt +++ b/contrib/libdiff/test/test012.left.txt diff --cc contrib/libdiff/test/test012.right.txt index 000000000000,dee7f5e68de3..dee7f5e68de3 mode 000000,100644..100644 --- a/contrib/libdiff/test/test012.right.txt +++ b/contrib/libdiff/test/test012.right.txt diff --cc contrib/libdiff/test/test013.left-w.txt index 000000000000,53b3adf33dac..53b3adf33dac mode 000000,100644..100644 --- a/contrib/libdiff/test/test013.left-w.txt +++ b/contrib/libdiff/test/test013.left-w.txt diff --cc contrib/libdiff/test/test013.right-w.txt index 000000000000,1509b4b4fdfa..1509b4b4fdfa mode 000000,100644..100644 --- a/contrib/libdiff/test/test013.right-w.txt +++ b/contrib/libdiff/test/test013.right-w.txt diff --cc contrib/libdiff/test/test014.left.txt index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libdiff/test/test014.left.txt diff --cc contrib/libdiff/test/test014.right.txt index 000000000000,f70f10e4db19..f70f10e4db19 mode 000000,100644..100644 --- a/contrib/libdiff/test/test014.right.txt +++ b/contrib/libdiff/test/test014.right.txt diff --cc contrib/libdiff/test/test015.left.txt index 000000000000,f70f10e4db19..f70f10e4db19 mode 000000,100644..100644 --- a/contrib/libdiff/test/test015.left.txt +++ b/contrib/libdiff/test/test015.left.txt diff --cc contrib/libdiff/test/test015.right.txt index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libdiff/test/test015.right.txt diff --cc contrib/libdiff/test/test016.left.txt index 000000000000,9a6e925fd9fb..9a6e925fd9fb mode 000000,100644..100644 --- a/contrib/libdiff/test/test016.left.txt +++ b/contrib/libdiff/test/test016.left.txt diff --cc contrib/libdiff/test/test016.right.txt index 000000000000,005c3dbd02ea..005c3dbd02ea mode 000000,100644..100644 --- a/contrib/libdiff/test/test016.right.txt +++ b/contrib/libdiff/test/test016.right.txt diff --cc contrib/libdiff/test/test017.left-U0.txt index 000000000000,e622c0db8bdf..e622c0db8bdf mode 000000,100644..100644 --- a/contrib/libdiff/test/test017.left-U0.txt +++ b/contrib/libdiff/test/test017.left-U0.txt diff --cc contrib/libdiff/test/test017.right-U0.txt index 000000000000,9495dcd762b8..9495dcd762b8 mode 000000,100644..100644 --- a/contrib/libdiff/test/test017.right-U0.txt +++ b/contrib/libdiff/test/test017.right-U0.txt diff --cc contrib/libdiff/test/test018.left-T.txt index 000000000000,fd113b0f7150..fd113b0f7150 mode 000000,100644..100644 --- a/contrib/libdiff/test/test018.left-T.txt +++ b/contrib/libdiff/test/test018.left-T.txt diff --cc contrib/libdiff/test/test018.right-T.txt index 000000000000,0075e6d23de0..0075e6d23de0 mode 000000,100644..100644 --- a/contrib/libdiff/test/test018.right-T.txt +++ b/contrib/libdiff/test/test018.right-T.txt diff --cc contrib/libdiff/test/test019.left.txt index 000000000000,ac4b5ececbb3..ac4b5ececbb3 mode 000000,100644..100644 --- a/contrib/libdiff/test/test019.left.txt +++ b/contrib/libdiff/test/test019.left.txt diff --cc contrib/libdiff/test/test019.right.txt index 000000000000,69c2895af058..69c2895af058 mode 000000,100644..100644 --- a/contrib/libdiff/test/test019.right.txt +++ b/contrib/libdiff/test/test019.right.txt diff --cc contrib/libdiff/test/test020.left.txt index 000000000000,7e5ee06994a5..7e5ee06994a5 mode 000000,100644..100644 --- a/contrib/libdiff/test/test020.left.txt +++ b/contrib/libdiff/test/test020.left.txt diff --cc contrib/libdiff/test/test020.right.txt index 000000000000,9ed331be5c5b..9ed331be5c5b mode 000000,100644..100644 --- a/contrib/libdiff/test/test020.right.txt +++ b/contrib/libdiff/test/test020.right.txt diff --cc contrib/libdiff/test/test021.left.txt index 000000000000,952d28523094..952d28523094 mode 000000,100644..100644 --- a/contrib/libdiff/test/test021.left.txt +++ b/contrib/libdiff/test/test021.left.txt diff --cc contrib/libdiff/test/test021.right.txt index 000000000000,7e2cc400cddb..7e2cc400cddb mode 000000,100644..100644 --- a/contrib/libdiff/test/test021.right.txt +++ b/contrib/libdiff/test/test021.right.txt diff --cc contrib/libdiff/test/test101.left-P.txt index 000000000000,fd113b0f7150..fd113b0f7150 mode 000000,100644..100644 --- a/contrib/libdiff/test/test101.left-P.txt +++ b/contrib/libdiff/test/test101.left-P.txt diff --cc contrib/libdiff/test/test101.right-P.txt index 000000000000,0075e6d23de0..0075e6d23de0 mode 000000,100644..100644 --- a/contrib/libdiff/test/test101.right-P.txt +++ b/contrib/libdiff/test/test101.right-P.txt diff --cc contrib/libdiff/test/test102.left-P.txt index 000000000000,de77f56f2d47..de77f56f2d47 mode 000000,100644..100644 --- a/contrib/libdiff/test/test102.left-P.txt +++ b/contrib/libdiff/test/test102.left-P.txt diff --cc contrib/libdiff/test/test102.right-P.txt index 000000000000,a9b4b8b851dd..a9b4b8b851dd mode 000000,100644..100644 --- a/contrib/libdiff/test/test102.right-P.txt +++ b/contrib/libdiff/test/test102.right-P.txt diff --cc contrib/libdiff/test/test103.left-P.txt index 000000000000,940532533944..940532533944 mode 000000,100644..100644 --- a/contrib/libdiff/test/test103.left-P.txt +++ b/contrib/libdiff/test/test103.left-P.txt diff --cc contrib/libdiff/test/test103.right-P.txt index 000000000000,d9f266e14574..d9f266e14574 mode 000000,100644..100644 --- a/contrib/libdiff/test/test103.right-P.txt +++ b/contrib/libdiff/test/test103.right-P.txt diff --cc contrib/libdiff/test/test104.left-P.txt index 000000000000,72d95cf6331a..72d95cf6331a mode 000000,100644..100644 --- a/contrib/libdiff/test/test104.left-P.txt +++ b/contrib/libdiff/test/test104.left-P.txt diff --cc contrib/libdiff/test/test104.right-P.txt index 000000000000,cfe8f2ed6be0..cfe8f2ed6be0 mode 000000,100644..100644 --- a/contrib/libdiff/test/test104.right-P.txt +++ b/contrib/libdiff/test/test104.right-P.txt diff --cc contrib/libdiff/test/test105.left-P.txt index 000000000000,b77fc41c4c87..b77fc41c4c87 mode 000000,100644..100644 --- a/contrib/libdiff/test/test105.left-P.txt +++ b/contrib/libdiff/test/test105.left-P.txt diff --cc contrib/libdiff/test/test105.right-P.txt index 000000000000,2480cecfba48..2480cecfba48 mode 000000,100644..100644 --- a/contrib/libdiff/test/test105.right-P.txt +++ b/contrib/libdiff/test/test105.right-P.txt diff --cc contrib/libdiff/test/test106.left-P.txt index 000000000000,e01fce04d5ef..e01fce04d5ef mode 000000,100644..100644 --- a/contrib/libdiff/test/test106.left-P.txt +++ b/contrib/libdiff/test/test106.left-P.txt diff --cc contrib/libdiff/test/test106.right-P.txt index 000000000000,40a0f253dd2e..40a0f253dd2e mode 000000,100644..100644 --- a/contrib/libdiff/test/test106.right-P.txt +++ b/contrib/libdiff/test/test106.right-P.txt diff --cc contrib/libdiff/test/test107.left-P.txt index 000000000000,587be6b4c3f9..587be6b4c3f9 mode 000000,100644..100644 --- a/contrib/libdiff/test/test107.left-P.txt +++ b/contrib/libdiff/test/test107.left-P.txt diff --cc contrib/libdiff/test/test107.right-P.txt index 000000000000,47b0ccb04734..47b0ccb04734 mode 000000,100644..100644 --- a/contrib/libdiff/test/test107.right-P.txt +++ b/contrib/libdiff/test/test107.right-P.txt diff --cc contrib/libdiff/test/test108.left-P.txt index 000000000000,000000000000..587be6b4c3f9 new file mode 100644 --- /dev/null +++ b/contrib/libdiff/test/test108.left-P.txt @@@ -1,0 -1,0 +1,1 @@@ ++x diff --cc contrib/libdiff/test/test108.right-P.txt index 000000000000,70b67eef4500..70b67eef4500 mode 000000,100644..100644 --- a/contrib/libdiff/test/test108.right-P.txt +++ b/contrib/libdiff/test/test108.right-P.txt diff --cc contrib/libdiff/test/test109.left-P.txt index 000000000000,e4e5238f8e5d..e4e5238f8e5d mode 000000,100644..100644 --- a/contrib/libdiff/test/test109.left-P.txt +++ b/contrib/libdiff/test/test109.left-P.txt diff --cc contrib/libdiff/test/test109.right-P.txt index 000000000000,3a4386800dba..3a4386800dba mode 000000,100644..100644 --- a/contrib/libdiff/test/test109.right-P.txt +++ b/contrib/libdiff/test/test109.right-P.txt diff --cc contrib/libdiff/test/test110.left-P.txt index 000000000000,f68ae6a8ceaa..f68ae6a8ceaa mode 000000,100644..100644 --- a/contrib/libdiff/test/test110.left-P.txt +++ b/contrib/libdiff/test/test110.left-P.txt diff --cc contrib/libdiff/test/test110.right-P.txt index 000000000000,46844afad663..46844afad663 mode 000000,100644..100644 --- a/contrib/libdiff/test/test110.right-P.txt +++ b/contrib/libdiff/test/test110.right-P.txt diff --cc contrib/libdiff/test/test111.left-P.txt index 000000000000,2fbc5affa850..2fbc5affa850 mode 000000,100644..100644 --- a/contrib/libdiff/test/test111.left-P.txt +++ b/contrib/libdiff/test/test111.left-P.txt diff --cc contrib/libdiff/test/test111.right-P.txt index 000000000000,417db010011c..417db010011c mode 000000,100644..100644 --- a/contrib/libdiff/test/test111.right-P.txt +++ b/contrib/libdiff/test/test111.right-P.txt diff --cc contrib/libdiff/test/test112.left-P.txt index 000000000000,1081d16c6e49..1081d16c6e49 mode 000000,100644..100644 --- a/contrib/libdiff/test/test112.left-P.txt +++ b/contrib/libdiff/test/test112.left-P.txt diff --cc contrib/libdiff/test/test112.right-P.txt index 000000000000,dee7f5e68de3..dee7f5e68de3 mode 000000,100644..100644 --- a/contrib/libdiff/test/test112.right-P.txt +++ b/contrib/libdiff/test/test112.right-P.txt diff --cc contrib/libdiff/test/test113.left-Pw.txt index 000000000000,53b3adf33dac..53b3adf33dac mode 000000,100644..100644 --- a/contrib/libdiff/test/test113.left-Pw.txt +++ b/contrib/libdiff/test/test113.left-Pw.txt diff --cc contrib/libdiff/test/test113.right-Pw.txt index 000000000000,1509b4b4fdfa..1509b4b4fdfa mode 000000,100644..100644 --- a/contrib/libdiff/test/test113.right-Pw.txt +++ b/contrib/libdiff/test/test113.right-Pw.txt diff --cc contrib/libdiff/test/test114.left-P.txt index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libdiff/test/test114.left-P.txt diff --cc contrib/libdiff/test/test114.right-P.txt index 000000000000,f70f10e4db19..f70f10e4db19 mode 000000,100644..100644 --- a/contrib/libdiff/test/test114.right-P.txt +++ b/contrib/libdiff/test/test114.right-P.txt diff --cc contrib/libdiff/test/test115.left-P.txt index 000000000000,f70f10e4db19..f70f10e4db19 mode 000000,100644..100644 --- a/contrib/libdiff/test/test115.left-P.txt +++ b/contrib/libdiff/test/test115.left-P.txt diff --cc contrib/libdiff/test/test115.right-P.txt index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libdiff/test/test115.right-P.txt diff --cc contrib/libdiff/test/test116.left-P.txt index 000000000000,9a6e925fd9fb..9a6e925fd9fb mode 000000,100644..100644 --- a/contrib/libdiff/test/test116.left-P.txt +++ b/contrib/libdiff/test/test116.left-P.txt diff --cc contrib/libdiff/test/test116.right-P.txt index 000000000000,005c3dbd02ea..005c3dbd02ea mode 000000,100644..100644 --- a/contrib/libdiff/test/test116.right-P.txt *** 66 LINES SKIPPED *** From nobody Mon Mar 11 14:53:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtfsW5GqYz5D7Hj; Mon, 11 Mar 2024 14:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtfsW44jdz4SMr; Mon, 11 Mar 2024 14:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710168799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LrD+bvk7M/oW4KkS7olVg3Fj/FRPdIupZ61nhHI8Ztk=; b=Qw/gOTNDITAfq6yHEPfxj3u7j0Lx5t53Yp2gsJ51ajPSDSgPuWshWiguzolVMaf4ERPPyz 9febH/Xy5Qe3tvPa45kygWY2CNn+d7vpZw/uSPkdM/AvFXkPsIPR9Odg+p2Pzfjio5kWQO kPoQ8dLFPatOkK65YUPgBaV1NyyeYdrRTqF8NqkL2RFMi0XricVGSCn4UxVSzRhjM4MNyp 1qxxCyJk7VbaDodLhOHrQiVvm+nInIgGI/3W2G/X5CCNL7zdpA7CLboT7aMwmMP5csG/dW 6eTiNPIWFaZOQPhNTniPALSiye/AeRx9bVFAeevU4VB5LfIhdPyW29/1u4T+hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710168799; a=rsa-sha256; cv=none; b=bwvu/EaCl9Y2xxJ3vMLntBxOIehzj236dseTkoHyRDTzBCBiLtR5Ff9+2PVTXkfrqu2UQ5 j5iRGh6L/HL24ATso46/KmFh8UwfjUuzZ/iS6qhjfGQc5kGCNDcy/ntzgMy+1Y4WUiYVWA 0IA4PcWhi6izlkWBCboQqCahBVjdYF8cvF0of2IykFVX8qccQ+m3gKnB2dAreyQ7UDZpRg ZOURNVWne98EP65vKRq0UzxLbHcY71Ua/KSjqP3XOGHCpyEZk6HUJMxoN1jXy8OBl33amU frEmWiOUhwhEXzNmpke9aljTJuZbAEPTWAG3Ke00eJ/DExSoZBEtiTBLjynDnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710168799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LrD+bvk7M/oW4KkS7olVg3Fj/FRPdIupZ61nhHI8Ztk=; b=Y9JbyiwAyRXdNUfmt9vUKPuT0cnfMkxTVLnowux0cwSxIJX4kr5EWZ7Neo3sAo70xMNCqA L1d2xr3ijXSWReXpwzJ75lXOdVr7obXJ8vLpsaJgfLVilzQQwVn6CUWhUFIgh4f02zrHln I2Fs781OIoqDLWPvZVw4K2AvDf6AD/4Zh4di4kSk3d3G/e6Aj+vWVv/zZ1244y391XMVLI 1nfsCkR2hOZm5BNfZ5qeq5N/xPaLg8DSOJdCGeYGWLbSnvz7ng4m4L/wd/qKSWFdX8OzLk yY1AF/pVAtq3k72STA6lgVTM7YCGM/b8QiXMNsaUNCAvF0Supw3NeAQOoIUFlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtfsW3gryzZHc; Mon, 11 Mar 2024 14:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BErJ3k064423; Mon, 11 Mar 2024 14:53:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BErJ6E064420; Mon, 11 Mar 2024 14:53:19 GMT (envelope-from git) Date: Mon, 11 Mar 2024 14:53:19 GMT Message-Id: <202403111453.42BErJ6E064420@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 55951611e49a - main - tests/unix_seqpacket: mk_pair_of_sockets() requires a valid argument List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 55951611e49a5a43ba151582505019c38558c0e7 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=55951611e49a5a43ba151582505019c38558c0e7 commit 55951611e49a5a43ba151582505019c38558c0e7 Author: Gleb Smirnoff AuthorDate: 2024-03-11 14:50:29 +0000 Commit: Gleb Smirnoff CommitDate: 2024-03-11 14:50:29 +0000 tests/unix_seqpacket: mk_pair_of_sockets() requires a valid argument All callers do it right. Don't be overprotective against a stupid caller and thus don't look like a code that leaks a resource. Reported by: Coverity Scan CID: 1539210 --- tests/sys/kern/unix_seqpacket_test.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/sys/kern/unix_seqpacket_test.c b/tests/sys/kern/unix_seqpacket_test.c index e93bdfe7e0b1..ca3fcdef9e6a 100644 --- a/tests/sys/kern/unix_seqpacket_test.c +++ b/tests/sys/kern/unix_seqpacket_test.c @@ -124,10 +124,8 @@ mk_pair_of_sockets(int *sv) atf_tc_fail("accept(2) failed"); } - if (sv != NULL) { - sv[0] = s1; - sv[1] = s2; - } + sv[0] = s1; + sv[1] = s2; close(s); From nobody Mon Mar 11 15:53:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TthBV298sz5DCyq; Mon, 11 Mar 2024 15:53:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TthBV1fFjz4ZvD; Mon, 11 Mar 2024 15:53:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710172386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgsdD4MWnpBPQ8+RkgM3R27gdPUREGNF6QDrGTAQ7E4=; b=TqsDqiNbm15bjj1JHtyzfvfZpkRTs/AM3HDyoHGMV1o/GUA+oegsT1up7FHtf9YtybdPfa pm2gXKYlF7GW/2yWaBIpBvP+HgErUqeNCDA5r9YRDOGs7mHMHK3j2PTmKph2eOzkxt9Cce 8U9uAFNpTaKWWpkr2HvqjW8lgLtQByEgq11UmBnIrjFL9aseabSF46Pv+2DHiQnFjQaxhm T/Qq4u43MWMA3pP3IXD9Xpup7rb+emmR0ZF2+oekLeZkkR8Uv2CUmYtFz00hy2jRzLXxoW cESW3pjdbGLICeXn9i/36Vet4dpIy6dCWtFE3lFQPRNcywlWiZWNvPghAGCzdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710172386; a=rsa-sha256; cv=none; b=oqLjzJEmsixVVJ4Jw3zgnkKiF5UUfU8zTS/AJPKId8+oR5nAs+sRNQjwG5I2d8bN0flHhS Cvrk1pkKpUpYq7OF9GUjAj+1T2hWp7FziAB+9RhlMuROZ9mlLqxI9C1X95zuLDALTOnPyy jLdfnr7BUnRgn3n/6swkH3BSLespK26jK75HR6BsRxf32KvBVprQlAmPMsr6dcBgpjhM1J LRI0tEe5gK5CxlZRRwJvHcfZhjdwTvaKwNQa1FVq/GPanMDg8RopGHzMjRBEJByRfdThGW yF+rYUr2k9XfFNwiJaZnQXqmZ93Vg5XW320HIOkH3XN09EPNtifbhc0/sXoKHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710172386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MgsdD4MWnpBPQ8+RkgM3R27gdPUREGNF6QDrGTAQ7E4=; b=iYYWN/Lcz7y1VAP6z/2PryTZl+s+ruViPJLLdOMp1g/3G3xSp06WjFKKZ3iYyWdKXGfhw1 CSxBNb64OqHgK02SoDsua2bl+q0PONaSACehlU077Zp7iLFKIKJq9J5mne8vjkA71QteB9 PZPdxs/45I3sSOnQnEOI2s/Sd/k3exXbXS0ivMugdcyGEc5d1z4Ab2WvfQJH7a3SzWLZJe 09KiH6JelyUfTQPFXH4iDkdnm+tzuF2gZTkd9D4shjg8r1+o+PPJd0HcEl95S+BSaw6wg5 kvQyIvIHjl8fdAT5VjWfV7razVKuAvxuX2uHj+dOhDtWgvzXZgN1ZaxlygDguQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TthBV1Fs9zc52; Mon, 11 Mar 2024 15:53:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BFr6Xp065377; Mon, 11 Mar 2024 15:53:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BFr6JF065374; Mon, 11 Mar 2024 15:53:06 GMT (envelope-from git) Date: Mon, 11 Mar 2024 15:53:06 GMT Message-Id: <202403111553.42BFr6JF065374@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 16f8d8829472 - main - netlink: fix route protocol constant values to match Linux List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16f8d8829472dfdf6b3b2bb21d652f0bafefccbc Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=16f8d8829472dfdf6b3b2bb21d652f0bafefccbc commit 16f8d8829472dfdf6b3b2bb21d652f0bafefccbc Author: Marek Zarychta AuthorDate: 2024-03-11 15:50:46 +0000 Commit: Gleb Smirnoff CommitDate: 2024-03-11 15:50:46 +0000 netlink: fix route protocol constant values to match Linux Although these particular constants aren't supported, the incorrect values break bird 2.15 operation. PR: 277618 Reported by: Ondrej Zajicek --- sys/netlink/route/route.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netlink/route/route.h b/sys/netlink/route/route.h index 9247a59855bb..1d4149e23d2f 100644 --- a/sys/netlink/route/route.h +++ b/sys/netlink/route/route.h @@ -282,8 +282,8 @@ struct rtvia { NL_RTAX_RTO_MIN = 13, /* not supported */ NL_RTAX_INITRWND = 14, /* not supported */ NL_RTAX_QUICKACK = 15, /* not supported */ - NL_RTAX_CC_ALGO = 15, /* not supported */ - NL_RTAX_FASTOPEN_NO_COOKIE = 16, /* not supported */ + NL_RTAX_CC_ALGO = 16, /* not supported */ + NL_RTAX_FASTOPEN_NO_COOKIE = 17, /* not supported */ __NL_RTAX_MAX }; #define NL_RTAX_MAX (__NL_RTAX_MAX - 1) From nobody Mon Mar 11 17:57:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ttkxh19Sjz5DQwJ; Mon, 11 Mar 2024 17:57:12 +0000 (UTC) (envelope-from gbe@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ttkxh0dgWz4qv2; Mon, 11 Mar 2024 17:57:12 +0000 (UTC) (envelope-from gbe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710179832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Aii3rDzofKI8R/IrS1lhdAUmkja16ruiHqGjgSuQ1ac=; b=K1VqOdjb4agnonana4bJcuyJ06UWQqfKw3rZEUpWsqo+zGmNnH5UVnOpgx14VRekyQK6aH 6zEZimhWNzTI4fB48qeCx4m+oWIzJGN5cytUEw7w+UCURkaUKN15ULLQwFj0227k4DNhmq sA3NvMlGyi9koRDEPUEPQAJQsgkWePPvG2ymIkSlDqVS4/RDveZZioO876tsH92JsZYMLA Lstx3cWcNBmjcFxkDrTrDyWMgl8f1F9k+6rI9hujDR7o9Orybgv2xQDx0XX1EL4FNZsRvb VW7X/LlF3g/v57bgvQJjPV912V9g622n+3C7P5h1jTOw+yzSWDGTzetBUy1ZRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710179832; a=rsa-sha256; cv=none; b=xrMEyWdOiHGUmAKEWkmalTigyc/MYhZTMwnSCJunQtWiqnx7RzjZycPp4+UxWRDfjWj26y WGm60kvM7c1t15qIuoMt6idnA15D9C8Bnx8cV9OYBUtbb79jG8GYsSuv7eI8U38Aiqv9Wn 7OPPxcPxQirnvsarM4/EL4B7ugJwTI8LkfxPAxE11OJFuAh6rMoEkVaN2mm8cC+lgh4Gkw 4ieK0F5PAJAwJeJ/uCvvcQSmZRU4dq6kj6Cpn/D8WiAgjqYTle/mkgw+xaomZ7sypKWRYk xpV4auXVew9bE1wl04jy0OyHO6l7ACtC8/HqbFSsTw6cdi9wTeLO1sf+dRr3Yw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710179832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Aii3rDzofKI8R/IrS1lhdAUmkja16ruiHqGjgSuQ1ac=; b=ax3KRpWofLDAiztNRiD9NwHgR2E5R/dLnRtXFE24l/fBBBsph0GGpGD08dFN44by2jJ7g1 CMPJsgjuGsgiqMGfv0IaY7Gbt9ZQ/+17U7GK1mO1HQL6qDddpQT4NSlEyZj5/OtJKJZbiV 0tO8E3slOWdZExSCp2iQgm+rPqBmbFOb6M7pbKWj56KVCeaHJbNhWgtiCpJJha18fIRwAh F8/hcNwyiNFnRNi69SkceBXCZA1onJXiWtKWDfT0mRnNIJ6Qw4cadnJpEMi6QLA1CBmO6y ZMRAiSt9OTdLr4YunOY2Qn3wZt//tgyJMmtXc3jHEjYqCmxcnud7cbWWw1aAfg== Received: from localhost (p200300cb87078288d9d1a7fad7f0250b.dip0.t-ipconnect.de [IPv6:2003:cb:8707:8288:d9d1:a7fa:d7f0:250b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: gbe) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Ttkxg462kz19Ss; Mon, 11 Mar 2024 17:57:11 +0000 (UTC) (envelope-from gbe@freebsd.org) Date: Mon, 11 Mar 2024 18:57:08 +0100 From: Gordon Bergling To: Randall Stewart Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f6d489f402c3 - main - Update to bring the rack stack with all its fixes in. Message-ID: References: <202403111138.42BBctkj027965@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fimVM8nccGBLPuSg" Content-Disposition: inline In-Reply-To: <202403111138.42BBctkj027965@gitrepo.freebsd.org> X-Url: X-Operating-System: FreeBSD 14.0-RELEASE-p5 amd64 X-Host-Uptime: 6:52PM up 4 days, 1:51, 3 users, load averages: 0.18, 0.34, 0.83 --fimVM8nccGBLPuSg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Randall, thanks for updating the RACK stack. On Mon, Mar 11, 2024 at 11:38:55AM +0000, Randall Stewart wrote: > The branch main has been updated by rrs: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Df6d489f402c320f1a6eaa47349= 1a0b8c3878113e >=20 > commit f6d489f402c320f1a6eaa473491a0b8c3878113e > Author: Randall Stewart > AuthorDate: 2024-03-11 11:36:54 +0000 > Commit: Randall Stewart > CommitDate: 2024-03-11 11:36:54 +0000 >=20 > Update to bring the rack stack with all its fixes in. > =20 > This brings the rack stack up to the current level used at NF. Many f= ixes > and improvements have been added. I also add in a fix to BBR to deal = with > the changes that have been in hpts for a while i.e. only one call no = matter > if mbuf queue or tcp_output. > =20 > Note there is a new file that I can't figure out how to get in rack_p= cm.c > =20 > It basically does little except BBlogs and is a placemark for future = work on > doing path capacity measurements. Regarding rack_pcm.c, this file was actually committed, but has 0-bytes in = size. You could just copy the current file over it, or copy-and-past the code to = the already existing file. Just tried it on my development tree. --Gordon --fimVM8nccGBLPuSg Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEYbWI0KY5X7yH/Fy4OQX2V8rP09wFAmXvRfAACgkQOQX2V8rP 09x96wf8Cu4GqMkosEPlv/SPkEoNFUa1wLRjjM2MIMX39O9WKJGoxGp0/B+UFYli 9J1K/vSZPCLcdr9B+YOxi4a2Tu+XF25sH6HOXRWai7+x4fPuBQxjU1ejXG0tlvY4 BeODYEDFBejanD3cDb+Y/7EAJ6hfdAFpaQu1Fmk0ZcwSYyaeQqSiLxakZ4CuR8YM XbFWVegbMWpsJFvPjPS+Q9onNXE6J4wHu/hHug7OsOPA0GhymKTqWg4blSRcRynU Ro4ew47EUyxulBwBiY3jobJJIj8nxJ7RBr541eLWH+LecjN3OnXCEQlSOidVA1JV GNB2A2l6B9li70VL4wcB6E37JWQuLw== =+XuD -----END PGP SIGNATURE----- --fimVM8nccGBLPuSg-- From nobody Mon Mar 11 19:15:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ttmgq4Jw1z5DXTd; Mon, 11 Mar 2024 19:15:19 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ttmgq3RH2z4xCc; Mon, 11 Mar 2024 19:15:19 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710184519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2Y3yVZJDM/iLfaABctKtuLBMCOfPaxigOfTEsVdHQiA=; b=aOxhwrqbeoFplQI/+y5slnSc8KM/vgnE65dKe12/faWqPhfftDWr/TWaGyut1R9I/wi/EL Z6ENz9q6DhPi5S40V+xo8e2CQhoW/ggtwNHMG5xFkM0DJL+RveXSrdXkh8gObwnddDNXkd zf+i/YeMywf840wDC7hph1gnc4WVpaf9FsKJ4uXprlQMvxioCgQxGns2aX/kMkNsBu9eZy k5QFZT1tK62M6KbwFnPXr51nhjC9DHY+aiM3IWEduKV0XeRXsZyqTBkAVJ7bjmVkzCiAsp AQMkEyrAQZiUWzMfjXD/O7CB5HCatNO84bfLFDVVc8WIK0wrqcix7qeQaDyMiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710184519; a=rsa-sha256; cv=none; b=cu0B+mYOQ373NDwCiGZPVln3x9aIKPeZxFTsNoH6R7hqKUd28/57jlXjd11ltfAzelf8oe 8LMaKoCNL94K19Ba89vqd7VV19qTVZSAQYeUL79MN0N5ZfH4k3E3HzJ/TruBdhHrFJoaJf cU8DxTi8wyivpQf8fo399QyKRemYYMoyGvuIf0K0QFyOjuQeBEjLpsd5Fcf8hxK2mCbBLT W6niAePsXApS7pl6EVHjBryx76oiHQ7YRYAOuKP7naNPm3PPvU7R8AgnZs6Cv7070zgyZe 5Fef+Y6yq1nbe3uneL/a8S+YcFH8oZL1RcJGJKDiXOxw94TAHUAHs2m6Cj42/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710184519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2Y3yVZJDM/iLfaABctKtuLBMCOfPaxigOfTEsVdHQiA=; b=rLDMri/oFMdwCgFvWusfieMi9iMr4fcBIwA6YBSjGYtOpJ3/dExODMv6gORokwkVaIc1KS Whgb1AZXBzBNOMv1JuYPqeYyoYDUzMdVB/fi5Yq6uH5kYKCkvXVVFF1BPzMdWlNJ6RmN9B frUyFXwaCuHAnq+IrgdFeoAX4rksZQaU5zPy0xFncFWdp1UJD8e2wRuBR5mQ9pqWUHrNKF q6U+OYBXFJKB/C6OrcD+WjfQu2yy/6hPxXW4vcZkwN4o6rWOxcgWlW9wvlazZtFisj2czx 0ind+kSA+A7rcN3Qt6176bl4l2Zz8g8MqD5uN7mQyOiBu972yeWYP4Rq9WgxDg== Received: from ltc.des.dev (2a02-8428-0993-f001-922e-16ff-fef1-acef.rev.sfr.net [IPv6:2a02:8428:993:f001:922e:16ff:fef1:acef]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Ttmgq2JDxz1B0Q; Mon, 11 Mar 2024 19:15:19 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id BAA3378789; Mon, 11 Mar 2024 20:15:15 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Randall Stewart Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: f6d489f402c3 - main - Update to bring the rack stack with all its fixes in. In-Reply-To: <202403111138.42BBctkj027965@gitrepo.freebsd.org> (Randall Stewart's message of "Mon, 11 Mar 2024 11:38:55 GMT") References: <202403111138.42BBctkj027965@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Mon, 11 Mar 2024 20:15:15 +0100 Message-ID: <861q8glgvw.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Randall Stewart writes: > commit f6d489f402c320f1a6eaa473491a0b8c3878113e > Author: Randall Stewart > AuthorDate: 2024-03-11 11:36:54 +0000 > Commit: Randall Stewart > CommitDate: 2024-03-11 11:36:54 +0000 > > Update to bring the rack stack with all its fixes in. >=20=20=20=20=20 > This brings the rack stack up to the current level used at NF. Many f= ixes > and improvements have been added. I also add in a fix to BBR to deal = with > the changes that have been in hpts for a while i.e. only one call no = matter > if mbuf queue or tcp_output. >=20=20=20=20=20 > Note there is a new file that I can't figure out how to get in rack_p= cm.c >=20=20=20=20=20 > It basically does little except BBlogs and is a placemark for future = work on > doing path capacity measurements. >=20=20=20=20=20 > Reviewed by: tuexen, glebius > Sponsored by: Netflix Inc. > Differential Revision:https://reviews.freebsd.org/D43986 This was not ready and should not have been committed. If you can't figure out how to commit the missing file (despite clearly being able to commit an empty file in its place) please email it to me me so I can fix the build. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Mar 11 20:28:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtpJj5BnSz5DfZR; Mon, 11 Mar 2024 20:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtpJj4vBNz5682; Mon, 11 Mar 2024 20:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710188933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzxVdt+OfIHIQ/HpAyN/UlSRuWtUbNedpYiyuniJEHc=; b=apNOSm6RvNOYV2emDR6V4CCHa+zeiGLRxHynIXkRKCurihGadw4RSq+HBT6ajc1W1EBeBI b1L4R7s7Yw5uAvuy/nrBtcbTpT3l3xbtOaMvHJRQ/y1DTPvzAp+EjBr3/56WwLmxxD49AZ Jj2BlHWGqj9lo7Rg4YLufOVkSUpUCS6WT4SZ4nZi0Gi33G188mpOAL/TTUxRuk/5uP8uqQ JFr06U6hJ8XgJi4bN3BLvdSpnj7wz0eFtaCIinGSUOBZXmwRNgY2/6w80BKHIvJN7UhNG0 njFMtrdbb95iUiprTNstaOYiJ0wFGxKJmxMDuMZpRclRwdTi6G6n0GMnO4TWUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710188933; a=rsa-sha256; cv=none; b=JM3atpDnrPqQiBz+/mDoZQmzxZ5CfesKzrOLSnGwIHzCX0Nf0EomwwyNoPG8nEboy2si21 oE6SJ++snkw3znLqRn5OHpfOw2zmIZ3e0sW0c883W53m4uaO7FIWTNW+z+vUd7EmQBLz/P Pz7oIYlDTcSFVniLW/Uo3njWb8PNPSqjqLAsoYk+O0MX1ZRU2jvNdocRtrd7gQMYKJIbNX 05Urw8trWWuuITf8PRvy/z5gvOD35iJuaZb9sRprZVPyuZHtWozP3S4DvreJCnxEHn21UI OBhGLNSRa/m3SHrAMtywVIXJxjCeJ5h3+qpMrS5qV5paaBq6odS5h2owatetnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710188933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzxVdt+OfIHIQ/HpAyN/UlSRuWtUbNedpYiyuniJEHc=; b=oAkFvMRkk/zrEGXYL+AbAzrH84EPeg9Q3p9s/gZZ8PxHXnK4xVwJm5NlkEyJAjaOhnoDGu 9zrpAcP60MltLpR2HpFTRcDe5htaaPf0TZ7AmjrQ/SG5CzkgawH6okGy3+F1SEWV4A4Dqz eZWZwdFX1g9sKJ8DmZTjZyqX4ijj6MRl6yjgaFy/PzpCA8elOi/9iPbhgsTPWlkL3MF/Sa 2tgCTWxYqjDCri2qzNk1vHD4KGFyC4SLrwyY4WtjX1MOLmKDsMP5SR0PnPUgJF2lwISBed NAkIkWBmvGasbdc12ybCWHG129MiKyQqhK2g+EEv8ia8lYOrJiEamaGKu1B/cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtpJj4TyszkrM; Mon, 11 Mar 2024 20:28:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BKSrnC024813; Mon, 11 Mar 2024 20:28:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BKSrqq024810; Mon, 11 Mar 2024 20:28:53 GMT (envelope-from git) Date: Mon, 11 Mar 2024 20:28:53 GMT Message-Id: <202403112028.42BKSrqq024810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: c112243f6bd3 - main - Revert "Update to bring the rack stack with all its fixes in." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c112243f6bd3738ab1ca0fc56ba1accef66c9d7a Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=c112243f6bd3738ab1ca0fc56ba1accef66c9d7a commit c112243f6bd3738ab1ca0fc56ba1accef66c9d7a Author: Brooks Davis AuthorDate: 2024-03-11 20:15:20 +0000 Commit: Brooks Davis CommitDate: 2024-03-11 20:28:24 +0000 Revert "Update to bring the rack stack with all its fixes in." This commit was incomplete and breaks LINT kernels. The tree has been broken for 8+ hours. This reverts commit f6d489f402c320f1a6eaa473491a0b8c3878113e. --- sys/modules/tcp/rack/Makefile | 2 +- sys/netinet/tcp.h | 38 +- sys/netinet/tcp_log_buf.h | 9 +- sys/netinet/tcp_stacks/bbr.c | 4 +- sys/netinet/tcp_stacks/rack.c | 4447 +++++++++------------------------- sys/netinet/tcp_stacks/rack_pcm.c | 0 sys/netinet/tcp_stacks/sack_filter.h | 5 - sys/netinet/tcp_stacks/tailq_hash.c | 33 +- sys/netinet/tcp_stacks/tailq_hash.h | 8 +- sys/netinet/tcp_stacks/tcp_rack.h | 135 +- sys/netinet/tcp_subr.c | 57 +- sys/netinet/tcp_syncache.c | 5 +- sys/netinet/tcp_usrreq.c | 7 - sys/netinet/tcp_var.h | 12 +- 14 files changed, 1173 insertions(+), 3589 deletions(-) diff --git a/sys/modules/tcp/rack/Makefile b/sys/modules/tcp/rack/Makefile index d5f3ba170f68..c5bb20602337 100644 --- a/sys/modules/tcp/rack/Makefile +++ b/sys/modules/tcp/rack/Makefile @@ -5,7 +5,7 @@ STACKNAME= rack KMOD= tcp_${STACKNAME} -SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c rack_pcm.c +SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c SRCS+= opt_inet.h opt_inet6.h opt_ipsec.h SRCS+= opt_kern_tls.h diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index a8259fa30a3a..f9e561f6ce35 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -334,22 +334,9 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_RACK_PACING_DIVISOR 1146 /* Pacing divisor given to rate-limit code for burst sizing */ #define TCP_RACK_PACE_MIN_SEG 1147 /* Pacing min seg size rack will use */ #define TCP_RACK_DGP_IN_REC 1148 /* Do we use full DGP in recovery? */ -#define TCP_POLICER_DETECT 1149 /* Do we apply a thresholds to rack to detect and compensate for policers? */ -#define TCP_RXT_CLAMP TCP_POLICER_DETECT +#define TCP_RXT_CLAMP 1149 /* Do we apply a threshold to rack so if excess rxt clamp cwnd? */ #define TCP_HYBRID_PACING 1150 /* Hybrid pacing enablement */ #define TCP_PACING_DND 1151 /* When pacing with rr_config=3 can sacks disturb us */ -#define TCP_SS_EEXIT 1152 /* Do we do early exit from slowtart if no b/w growth */ -#define TCP_DGP_UPPER_BOUNDS 1153 /* SS and CA upper bound in percentage */ -#define TCP_NO_TIMELY 1154 /* Disable/enable Timely */ -#define TCP_HONOR_HPTS_MIN 1155 /* Do we honor hpts min to */ -#define TCP_REC_IS_DYN 1156 /* Do we allow timely to change recovery multiplier? */ -#define TCP_SIDECHAN_DIS 1157 /* Disable/enable the side-channel */ -#define TCP_FILLCW_RATE_CAP 1158 /* Set a cap for DGP's fillcw */ -#define TCP_POLICER_MSS 1159 /* Policer MSS requirement */ -#define TCP_STACK_SPEC_INFO 1160 /* Get stack specific information (if present) */ -#define RACK_CSPR_IS_FCC 1161 -#define TCP_GP_USE_LTBW 1162 /* how we use lt_bw 0=not, 1=min, 2=max */ - /* Start of reserved space for third-party user-settable options. */ #define TCP_VENDOR SO_VENDOR @@ -460,7 +447,6 @@ struct tcp_info { u_int32_t tcpi_rcv_adv; /* Peer advertised window */ u_int32_t tcpi_dupacks; /* Consecutive dup ACKs recvd */ - u_int32_t tcpi_rttmin; /* Min observed RTT */ /* Padding to grow without breaking ABI. */ u_int32_t __tcpi_pad[14]; /* Padding. */ }; @@ -477,20 +463,6 @@ struct tcp_fastopen { #define TCP_FUNCTION_NAME_LEN_MAX 32 -struct stack_specific_info { - char stack_name[TCP_FUNCTION_NAME_LEN_MAX]; - uint64_t policer_last_bw; /* Only valid if detection enabled and policer detected */ - uint64_t bytes_transmitted; - uint64_t bytes_retransmitted; - uint32_t policer_detection_enabled: 1, - policer_detected : 1, /* transport thinks a policer is on path */ - highly_buffered : 1, /* transport considers the path highly buffered */ - spare : 29; - uint32_t policer_bucket_size; /* Only valid if detection enabled and policer detected */ - uint32_t current_round; - uint32_t _rack_i_pad[18]; -}; - struct tcp_function_set { char function_set_name[TCP_FUNCTION_NAME_LEN_MAX]; uint32_t pcbcnt; @@ -516,7 +488,6 @@ struct tcp_snd_req { uint64_t start; uint64_t end; uint32_t flags; - uint32_t playout_ms; }; union tcp_log_userdata { @@ -547,12 +518,9 @@ struct tcp_log_user { #define TCP_HYBRID_PACING_H_MS 0x0008 /* A client hint for maxseg is present */ #define TCP_HYBRID_PACING_ENABLE 0x0010 /* We are enabling hybrid pacing else disable */ #define TCP_HYBRID_PACING_S_MSS 0x0020 /* Clent wants us to set the mss overriding gp est in CU */ -#define TCP_HAS_PLAYOUT_MS 0x0040 /* The client included the chunk playout milliseconds: deprecate */ -/* the below are internal only flags */ -#define TCP_HYBRID_PACING_USER_MASK 0x0FFF /* Non-internal flags mask */ -#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tells us we set the mss on this entry */ +#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tellsus we set the mss on this entry */ #define TCP_HYBRID_PACING_WASSET 0x2000 /* We init to this to know if a hybrid command was issued */ -#define TCP_HYBRID_PACING_SENDTIME 0x4000 /* Duplicate tm to last, use sendtime for catch up mode */ + struct tcp_hybrid_req { struct tcp_snd_req req; diff --git a/sys/netinet/tcp_log_buf.h b/sys/netinet/tcp_log_buf.h index 2e91d9cbdf3c..1f5b7cf9b54f 100644 --- a/sys/netinet/tcp_log_buf.h +++ b/sys/netinet/tcp_log_buf.h @@ -267,9 +267,7 @@ enum tcp_log_events { TCP_RACK_TP_TRIGGERED, /* A rack tracepoint is triggered 68 */ TCP_HYBRID_PACING_LOG, /* Hybrid pacing log 69 */ TCP_LOG_PRU, /* TCP protocol user request 70 */ - TCP_POLICER_DET, /* TCP Policer detectionn 71 */ - TCP_PCM_MEASURE, /* TCP Path Capacity Measurement 72 */ - TCP_LOG_END /* End (keep at end) 72 */ + TCP_LOG_END /* End (keep at end) 71 */ }; enum tcp_log_states { @@ -373,11 +371,10 @@ struct tcp_log_dev_log_queue { #define TCP_TP_COLLAPSED_RXT 0x00000004 /* When we actually retransmit a collapsed window rsm */ #define TCP_TP_REQ_LOG_FAIL 0x00000005 /* We tried to allocate a Request log but had no space */ #define TCP_TP_RESET_RCV 0x00000006 /* Triggers when we receive a RST */ -#define TCP_TP_POLICER_DET 0x00000007 /* When we detect a policer */ -#define TCP_TP_EXCESS_RXT TCP_TP_POLICER_DET /* alias */ +#define TCP_TP_EXCESS_RXT 0x00000007 /* When we get excess RXT's clamping the cwnd */ #define TCP_TP_SAD_TRIGGERED 0x00000008 /* Sack Attack Detection triggers */ + #define TCP_TP_SAD_SUSPECT 0x0000000a /* A sack has supicious information in it */ -#define TCP_TP_PACED_BOTTOM 0x0000000b /* We have paced at the bottom */ #ifdef _KERNEL diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 934b35bd22d7..931beba7a262 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -11529,9 +11529,7 @@ bbr_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, bbr_set_pktepoch(bbr, cts, __LINE__); bbr_check_bbr_for_state(bbr, cts, __LINE__, (bbr->r_ctl.rc_lost - lost)); if (nxt_pkt == 0) { - if ((bbr->r_wanted_output != 0) || - (tp->t_flags & TF_ACKNOW)) { - + if (bbr->r_wanted_output != 0) { bbr->rc_output_starts_timer = 0; did_out = 1; if (tcp_output(tp) < 0) diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 1fe07fa8d641..49d946dbb63b 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -142,12 +142,9 @@ VNET_DECLARE(uint32_t, newreno_beta_ecn); #define V_newreno_beta VNET(newreno_beta) #define V_newreno_beta_ecn VNET(newreno_beta_ecn) -#define M_TCPFSB __CONCAT(M_TCPFSB, STACKNAME) -#define M_TCPDO __CONCAT(M_TCPDO, STACKNAME) -MALLOC_DEFINE(M_TCPFSB, "tcp_fsb_" __XSTRING(STACKNAME), "TCP fast send block"); -MALLOC_DEFINE(M_TCPDO, "tcp_do_" __XSTRING(STACKNAME), "TCP deferred options"); -MALLOC_DEFINE(M_TCPPCM, "tcp_pcm_" __XSTRING(STACKNAME), "TCP PCM measurement information"); +MALLOC_DEFINE(M_TCPFSB, "tcp_fsb", "TCP fast send block"); +MALLOC_DEFINE(M_TCPDO, "tcp_do", "TCP deferred options"); struct sysctl_ctx_list rack_sysctl_ctx; struct sysctl_oid *rack_sysctl_root; @@ -193,24 +190,12 @@ static int32_t rack_tlp_use_greater = 1; static int32_t rack_reorder_thresh = 2; static int32_t rack_reorder_fade = 60000000; /* 0 - never fade, def 60,000,000 * - 60 seconds */ -static uint16_t rack_policer_rxt_thresh= 0; /* 499 = 49.9%, 0 is off */ -static uint8_t rack_policer_avg_thresh = 0; /* 3.2 */ -static uint8_t rack_policer_med_thresh = 0; /* 1 - 16 */ -static uint16_t rack_policer_bucket_reserve = 20; /* How much % is reserved in the bucket */ -static uint64_t rack_pol_min_bw = 125000; /* 1mbps in Bytes per sec */ -static uint32_t rack_policer_data_thresh = 64000; /* 64,000 bytes must be sent before we engage */ -static uint32_t rack_policing_do_bw_comp = 1; -static uint32_t rack_pcm_every_n_rounds = 100; -static uint32_t rack_pcm_blast = 0; -static uint32_t rack_pcm_is_enabled = 1; -static uint8_t rack_req_del_mss = 18; /* How many segments need to be sent in a recovery episode to do policer_detection */ -static uint8_t rack_ssthresh_rest_rto_rec = 0; /* Do we restore ssthresh when we have rec -> rto -> rec */ - -static uint32_t rack_gp_gain_req = 1200; /* Amount percent wise required to gain to record a round has "gaining" */ -static uint32_t rack_rnd_cnt_req = 0x10005; /* Default number of rounds if we are below rack_gp_gain_req where we exit ss */ - - -static int32_t rack_rxt_scoreboard_clear_thresh = 2; +static uint32_t rack_clamp_ss_upper = 110; +static uint32_t rack_clamp_ca_upper = 105; +static uint32_t rack_rxt_min_rnds = 10; /* Min rounds if drastic rxt clamp is in place */ +static uint32_t rack_unclamp_round_thresh = 100; /* number of perfect rounds before we unclamp */ +static uint32_t rack_unclamp_rxt_thresh = 5; /* .5% and under */ +static uint64_t rack_rxt_clamp_thresh = 0; /* Do we do the rxt clamp thing */ static int32_t rack_dnd_default = 0; /* For rr_conf = 3, what is the default for dnd */ static int32_t rack_rxt_controls = 0; static int32_t rack_fill_cw_state = 0; @@ -232,8 +217,9 @@ static int32_t rack_do_hystart = 0; static int32_t rack_apply_rtt_with_reduced_conf = 0; static int32_t rack_hibeta_setting = 0; static int32_t rack_default_pacing_divisor = 250; +static int32_t rack_uses_full_dgp_in_rec = 1; static uint16_t rack_pacing_min_seg = 0; -static int32_t rack_timely_off = 0; + static uint32_t sad_seg_size_per = 800; /* 80.0 % */ static int32_t rack_pkt_delay = 1000; @@ -249,7 +235,7 @@ static int32_t rack_use_rsm_rfo = 1; static int32_t rack_max_abc_post_recovery = 2; static int32_t rack_client_low_buf = 0; static int32_t rack_dsack_std_based = 0x3; /* bit field bit 1 sets rc_rack_tmr_std_based and bit 2 sets rc_rack_use_dsack */ -static int32_t rack_bw_multipler = 0; /* Limit on fill cw's jump up to be this x gp_est */ +static int32_t rack_bw_multipler = 2; /* Limit on fill cw's jump up to be this x gp_est */ #ifdef TCP_ACCOUNTING static int32_t rack_tcp_accounting = 0; #endif @@ -261,9 +247,8 @@ static int32_t use_rack_rr = 1; static int32_t rack_non_rxt_use_cr = 0; /* does a non-rxt in recovery use the configured rate (ss/ca)? */ static int32_t rack_persist_min = 250000; /* 250usec */ static int32_t rack_persist_max = 2000000; /* 2 Second in usec's */ -static int32_t rack_honors_hpts_min_to = 1; /* Do we honor the hpts minimum time out for pacing timers */ -static uint32_t rack_max_reduce = 10; /* Percent we can reduce slot by */ static int32_t rack_sack_not_required = 1; /* set to one to allow non-sack to use rack */ +static int32_t rack_default_init_window = 0; /* Use system default */ static int32_t rack_limit_time_with_srtt = 0; static int32_t rack_autosndbuf_inc = 20; /* In percentage form */ static int32_t rack_enobuf_hw_boost_mult = 0; /* How many times the hw rate we boost slot using time_between */ @@ -297,6 +282,7 @@ static int32_t rack_rwnd_block_ends_measure = 0; static int32_t rack_def_profile = 0; static int32_t rack_lower_cwnd_at_tlp = 0; +static int32_t rack_limited_retran = 0; static int32_t rack_always_send_oldest = 0; static int32_t rack_tlp_threshold_use = TLP_USE_TWO_ONE; @@ -370,7 +356,6 @@ static int32_t rack_timely_no_stopping = 0; static int32_t rack_down_raise_thresh = 100; static int32_t rack_req_segs = 1; static uint64_t rack_bw_rate_cap = 0; -static uint64_t rack_fillcw_bw_cap = 3750000; /* Cap fillcw at 30Mbps */ /* Rack specific counters */ @@ -392,7 +377,6 @@ counter_u64_t rack_tlp_retran; counter_u64_t rack_tlp_retran_bytes; counter_u64_t rack_to_tot; counter_u64_t rack_hot_alloc; -counter_u64_t tcp_policer_detected; counter_u64_t rack_to_alloc; counter_u64_t rack_to_alloc_hard; counter_u64_t rack_to_alloc_emerg; @@ -456,7 +440,7 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, static int rack_process_ack(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, - uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val, int32_t orig_tlen); + uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val); static int rack_process_data(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, int32_t drop_hdrlen, int32_t tlen, @@ -470,8 +454,6 @@ static struct rack_sendmap *rack_alloc_limit(struct tcp_rack *rack, static struct rack_sendmap * rack_check_recovery_mode(struct tcpcb *tp, uint32_t tsused); -static uint32_t -rack_grab_rtt(struct tcpcb *tp, struct tcp_rack *rack); static void rack_cong_signal(struct tcpcb *tp, uint32_t type, uint32_t ack, int ); @@ -522,14 +504,13 @@ rack_log_ack(struct tcpcb *tp, struct tcpopt *to, static void rack_log_output(struct tcpcb *tp, struct tcpopt *to, int32_t len, uint32_t seq_out, uint16_t th_flags, int32_t err, uint64_t ts, - struct rack_sendmap *hintrsm, uint32_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); + struct rack_sendmap *hintrsm, uint16_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); static uint64_t rack_get_gp_est(struct tcp_rack *rack); - static void rack_log_sack_passed(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint32_t cts); + struct rack_sendmap *rsm); static void rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rsm); static int32_t rack_output(struct tcpcb *tp); @@ -545,10 +526,10 @@ static int32_t rack_stopall(struct tcpcb *tp); static void rack_timer_cancel(struct tcpcb *tp, struct tcp_rack *rack, uint32_t cts, int line); static uint32_t rack_update_entry(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint32_t add_flag, int segsiz); + struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint16_t add_flag, int segsiz); static void rack_update_rsm(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint64_t ts, uint32_t add_flag, int segsiz); + struct rack_sendmap *rsm, uint64_t ts, uint16_t add_flag, int segsiz); static int rack_update_rtt(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendmap *rsm, struct tcpopt *to, uint32_t cts, int32_t ack_type, tcp_seq th_ack); @@ -557,10 +538,6 @@ static int rack_do_close_wait(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos); - -static void -rack_peg_rxt(struct tcp_rack *rack, struct rack_sendmap *rsm, uint32_t segsiz); - static int rack_do_closing(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, @@ -743,22 +720,6 @@ rack_undo_cc_pacing(struct tcp_rack *rack) rack_swap_beta_values(rack, 4); } -static void -rack_remove_pacing(struct tcp_rack *rack) -{ - if (rack->rc_pacing_cc_set) - rack_undo_cc_pacing(rack); - if (rack->r_ctl.pacing_method & RACK_REG_PACING) - tcp_decrement_paced_conn(); - if (rack->r_ctl.pacing_method & RACK_DGP_PACING) - tcp_dec_dgp_pacing_cnt(); - rack->rc_always_pace = 0; - rack->r_ctl.pacing_method = RACK_PACING_NONE; - rack->dgp_on = 0; - rack->rc_hybrid_mode = 0; - rack->use_fixed_rate = 0; -} - static void rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, uint32_t send_end_t, int line, uint8_t mode, struct rack_sendmap *rsm) @@ -781,8 +742,6 @@ rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, log.u_bbr.pkts_out = line; log.u_bbr.cwnd_gain = rack->app_limited_needs_set; log.u_bbr.pkt_epoch = rack->r_ctl.rc_app_limited_cnt; - log.u_bbr.epoch = rack->r_ctl.current_round; - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; if (rsm != NULL) { log.u_bbr.applimited = rsm->r_start; log.u_bbr.delivered = rsm->r_end; @@ -898,7 +857,6 @@ rack_init_sysctls(void) struct sysctl_oid *rack_measure; struct sysctl_oid *rack_probertt; struct sysctl_oid *rack_hw_pacing; - struct sysctl_oid *rack_policing; rack_attack = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -1036,36 +994,11 @@ rack_init_sysctls(void) "pacing", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Pacing related Controls"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "pcm_enabled", CTLFLAG_RW, - &rack_pcm_is_enabled, 1, - "Do we by default do PCM measurements?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "pcm_rnds", CTLFLAG_RW, - &rack_pcm_every_n_rounds, 100, - "How many rounds before we need to do a PCM measurement"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "pcm_blast", CTLFLAG_RW, - &rack_pcm_blast, 0, - "Blast out the full cwnd/rwnd when doing a PCM measurement"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "rnd_gp_gain", CTLFLAG_RW, - &rack_gp_gain_req, 1200, - "How much do we have to increase the GP to record the round 1200 = 120.0"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "dgp_out_of_ss_at", CTLFLAG_RW, - &rack_rnd_cnt_req, 0x10005, - "How many rounds less than rnd_gp_gain will drop us out of SS"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "no_timely", CTLFLAG_RW, - &rack_timely_off, 0, - "Do we not use timely in DGP?"); + OID_AUTO, "fulldgpinrec", CTLFLAG_RW, + &rack_uses_full_dgp_in_rec, 1, + "Do we use all DGP features in recovery (fillcw, timely et.al.)?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "fullbufdisc", CTLFLAG_RW, @@ -1084,13 +1017,13 @@ rack_init_sysctls(void) SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "divisor", CTLFLAG_RW, - &rack_default_pacing_divisor, 250, + &rack_default_pacing_divisor, 4, "What is the default divisor given to the rl code?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "fillcw_max_mult", CTLFLAG_RW, - &rack_bw_multipler, 0, - "What is the limit multiplier of the current gp_est that fillcw can increase the b/w too, 200 == 200% (0 = off)?"); + &rack_bw_multipler, 2, + "What is the multiplier of the current gp_est that fillcw can increase the b/w too?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "max_pace_over", CTLFLAG_RW, @@ -1106,6 +1039,11 @@ rack_init_sysctls(void) OID_AUTO, "limit_wsrtt", CTLFLAG_RW, &rack_limit_time_with_srtt, 0, "Do we limit pacing time based on srtt"); + SYSCTL_ADD_S32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "init_win", CTLFLAG_RW, + &rack_default_init_window, 0, + "Do we have a rack initial window 0 = system default"); SYSCTL_ADD_U16(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "gp_per_ss", CTLFLAG_RW, @@ -1141,11 +1079,6 @@ rack_init_sysctls(void) OID_AUTO, "rate_cap", CTLFLAG_RW, &rack_bw_rate_cap, 0, "If set we apply this value to the absolute rate cap used by pacing"); - SYSCTL_ADD_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "fillcw_cap", CTLFLAG_RW, - &rack_fillcw_bw_cap, 3750000, - "Do we have an absolute cap on the amount of b/w fillcw can specify (0 = no)?"); SYSCTL_ADD_U8(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), OID_AUTO, "req_measure_cnt", CTLFLAG_RW, @@ -1384,6 +1317,11 @@ rack_init_sysctls(void) OID_AUTO, "send_oldest", CTLFLAG_RW, &rack_always_send_oldest, 0, "Should we always send the oldest TLP and RACK-TLP"); + SYSCTL_ADD_S32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_tlp), + OID_AUTO, "rack_tlimit", CTLFLAG_RW, + &rack_limited_retran, 0, + "How many times can a rack timeout drive out sends"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_tlp), OID_AUTO, "tlp_cwnd_flag", CTLFLAG_RW, @@ -1417,26 +1355,6 @@ rack_init_sysctls(void) "timers", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Timer related controls"); - SYSCTL_ADD_U8(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_timers), - OID_AUTO, "reset_ssth_rec_rto", CTLFLAG_RW, - &rack_ssthresh_rest_rto_rec, 0, - "When doing recovery -> rto -> recovery do we reset SSthresh?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_timers), - OID_AUTO, "scoreboard_thresh", CTLFLAG_RW, - &rack_rxt_scoreboard_clear_thresh, 2, - "How many RTO's are allowed before we clear the scoreboard"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_timers), - OID_AUTO, "honor_hpts_min", CTLFLAG_RW, - &rack_honors_hpts_min_to, 1, - "Do rack pacing timers honor hpts min timeout"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_timers), - OID_AUTO, "hpts_max_reduce", CTLFLAG_RW, - &rack_max_reduce, 10, - "Max percentage we will reduce slot by for pacing when we are behind"); SYSCTL_ADD_U32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_timers), OID_AUTO, "persmin", CTLFLAG_RW, @@ -1516,6 +1434,11 @@ rack_init_sysctls(void) "features", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Feature controls"); + SYSCTL_ADD_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_features), + OID_AUTO, "rxt_clamp_thresh", CTLFLAG_RW, + &rack_rxt_clamp_thresh, 0, + "Bit encoded clamping setup bits CCCC CCCCC UUUU UULF PPPP PPPP PPPP PPPP"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_features), OID_AUTO, "hybrid_set_maxseg", CTLFLAG_RW, @@ -1551,53 +1474,6 @@ rack_init_sysctls(void) OID_AUTO, "hystartplusplus", CTLFLAG_RW, &rack_do_hystart, 0, "Should RACK enable HyStart++ on connections?"); - /* Policer detection */ - rack_policing = SYSCTL_ADD_NODE(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_sysctl_root), - OID_AUTO, - "policing", - CTLFLAG_RW | CTLFLAG_MPSAFE, 0, - "policer detection"); - SYSCTL_ADD_U16(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "rxt_thresh", CTLFLAG_RW, - &rack_policer_rxt_thresh, 0, - "Percentage of retransmits we need to be a possible policer (499 = 49.9 percent)"); - SYSCTL_ADD_U8(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "avg_thresh", CTLFLAG_RW, - &rack_policer_avg_thresh, 0, - "What threshold of average retransmits needed to recover a lost packet (1 - 169 aka 21 = 2.1)?"); - SYSCTL_ADD_U8(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "med_thresh", CTLFLAG_RW, - &rack_policer_med_thresh, 0, - "What threshold of Median retransmits needed to recover a lost packet (1 - 16)?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "data_thresh", CTLFLAG_RW, - &rack_policer_data_thresh, 64000, - "How many bytes must have gotten through before we can start doing policer detection?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "bwcomp", CTLFLAG_RW, - &rack_policing_do_bw_comp, 1, - "Do we raise up low b/w so that at least pace_max_seg can be sent in the srtt?"); - SYSCTL_ADD_U8(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "recmss", CTLFLAG_RW, - &rack_req_del_mss, 18, - "How many MSS must be delivered during recovery to engage policer detection?"); - SYSCTL_ADD_U16(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "res_div", CTLFLAG_RW, - &rack_policer_bucket_reserve, 20, - "What percentage is reserved in the policer bucket?"); - SYSCTL_ADD_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_policing), - OID_AUTO, "min_comp_bw", CTLFLAG_RW, - &rack_pol_min_bw, 125000, - "Do we have a min b/w for b/w compensation (0 = no)?"); /* Misc rack controls */ rack_misc = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -1702,8 +1578,31 @@ rack_init_sysctls(void) OID_AUTO, "autoscale", CTLFLAG_RW, &rack_autosndbuf_inc, 20, "What percentage should rack scale up its snd buffer by?"); - - + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_misc), + OID_AUTO, "rnds_for_rxt_clamp", CTLFLAG_RW, + &rack_rxt_min_rnds, 10, + "Number of rounds needed between RTT clamps due to high loss rates"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_misc), + OID_AUTO, "rnds_for_unclamp", CTLFLAG_RW, + &rack_unclamp_round_thresh, 100, + "Number of rounds needed with no loss to unclamp"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_misc), + OID_AUTO, "rxt_threshs_for_unclamp", CTLFLAG_RW, + &rack_unclamp_rxt_thresh, 5, + "Percentage of retransmits we need to be under to unclamp (5 = .5 percent)\n"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_misc), + OID_AUTO, "clamp_ss_upper", CTLFLAG_RW, + &rack_clamp_ss_upper, 110, + "Clamp percentage ceiling in SS?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_misc), + OID_AUTO, "clamp_ca_upper", CTLFLAG_RW, + &rack_clamp_ca_upper, 110, + "Clamp percentage ceiling in CA?"); /* Sack Attacker detection stuff */ SYSCTL_ADD_U32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_attack), @@ -1880,13 +1779,6 @@ rack_init_sysctls(void) OID_AUTO, "alloc_hot", CTLFLAG_RD, &rack_hot_alloc, "Total allocations from the top of our list"); - tcp_policer_detected = counter_u64_alloc(M_WAITOK); - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_counters), - OID_AUTO, "policer_detected", CTLFLAG_RD, - &tcp_policer_detected, - "Total policer_detections"); - rack_to_alloc = counter_u64_alloc(M_WAITOK); SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_counters), @@ -2065,8 +1957,17 @@ rack_init_sysctls(void) static uint32_t rc_init_window(struct tcp_rack *rack) { - return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); + uint32_t win; + if (rack->rc_init_win == 0) { + /* + * Nothing set by the user, use the system stack + * default. + */ + return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); + } + win = ctf_fixed_maxseg(rack->rc_tp) * rack->rc_init_win; + return (win); } static uint64_t @@ -2170,7 +2071,6 @@ rack_log_hybrid_bw(struct tcp_rack *rack, uint32_t seq, uint64_t cbw, uint64_t t off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); log.u_bbr.bbr_substate = (uint8_t)(off / sizeof(struct tcp_sendfile_track)); #endif - log.u_bbr.inhpts = 1; log.u_bbr.flex4 = (uint32_t)(rack->rc_tp->t_sndbytes - cur->sent_at_fs); log.u_bbr.flex5 = (uint32_t)(rack->rc_tp->t_snd_rxt_bytes - cur->rxt_at_fs); log.u_bbr.flex7 = (uint16_t)cur->hybrid_flags; @@ -2216,24 +2116,9 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int memset(&log, 0, sizeof(log)); log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; log.u_bbr.delRate = cur->sent_at_fs; - - if ((cur->flags & TCP_TRK_TRACK_FLG_LSND) == 0) { - /* - * We did not get a new Rules Applied to set so - * no overlapping send occured, this means the - * current byte counts are correct. - */ - log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; - log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; - } else { - /* - * Overlapping send case, we switched to a new - * send and did a rules applied. - */ - log.u_bbr.cur_del_rate = cur->sent_at_ls; - log.u_bbr.rttProp = cur->rxt_at_ls; - } + log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; log.u_bbr.bw_inuse = cur->rxt_at_fs; log.u_bbr.cwnd_gain = line; off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); @@ -2253,7 +2138,6 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int log.u_bbr.lt_epoch = (uint32_t)((cur->timestamp >> 32) & 0x00000000ffffffff); /* now set all the flags in */ log.u_bbr.pkts_out = cur->hybrid_flags; - log.u_bbr.lost = cur->playout_ms; log.u_bbr.flex6 = cur->flags; /* * Last send time = note we do not distinguish cases @@ -2262,20 +2146,6 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int */ log.u_bbr.pkt_epoch = (uint32_t)(rack->r_ctl.last_tmit_time_acked & 0x00000000ffffffff); log.u_bbr.flex5 = (uint32_t)((rack->r_ctl.last_tmit_time_acked >> 32) & 0x00000000ffffffff); - /* - * Compose bbr_state to be a bit wise 0000ADHF - * where A is the always_pace flag - * where D is the dgp_on flag - * where H is the hybrid_mode on flag - * where F is the use_fixed_rate flag. - */ - log.u_bbr.bbr_state = rack->rc_always_pace; - log.u_bbr.bbr_state <<= 1; - log.u_bbr.bbr_state |= rack->dgp_on; - log.u_bbr.bbr_state <<= 1; - log.u_bbr.bbr_state |= rack->rc_hybrid_mode; - log.u_bbr.bbr_state <<= 1; - log.u_bbr.bbr_state |= rack->use_fixed_rate; log.u_bbr.flex8 = HYBRID_LOG_SENT_LOST; tcp_log_event(rack->rc_tp, NULL, @@ -2429,7 +2299,6 @@ normal_ratecap: #ifdef TCP_REQUEST_TRK if (rack->rc_hybrid_mode && rack->rc_catch_up && - (rack->r_ctl.rc_last_sft != NULL) && (rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_S_MSS) && (rack_hybrid_allow_set_maxseg == 1) && ((rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_SETMSS) == 0)) { @@ -2469,10 +2338,7 @@ rack_get_gp_est(struct tcp_rack *rack) */ uint64_t srtt; - if (rack->dis_lt_bw == 1) - lt_bw = 0; - else - lt_bw = rack_get_lt_bw(rack); + lt_bw = rack_get_lt_bw(rack); if (lt_bw) { /* * No goodput bw but a long-term b/w does exist @@ -2508,22 +2374,19 @@ rack_get_gp_est(struct tcp_rack *rack) /* Still doing initial average must calculate */ bw = rack->r_ctl.gp_bw / max(rack->r_ctl.num_measurements, 1); } - if (rack->dis_lt_bw) { - /* We are not using lt-bw */ - ret_bw = bw; - goto compensate; - } lt_bw = rack_get_lt_bw(rack); if (lt_bw == 0) { /* If we don't have one then equate it to the gp_bw */ lt_bw = rack->r_ctl.gp_bw; } - if (rack->use_lesser_lt_bw) { + if ((rack->r_cwnd_was_clamped == 1) && (rack->r_clamped_gets_lower > 0)){ + /* if clamped take the lowest */ if (lt_bw < bw) ret_bw = lt_bw; else ret_bw = bw; } else { + /* If not set for clamped to get lowest, take the highest */ if (lt_bw > bw) ret_bw = lt_bw; else @@ -2624,8 +2487,6 @@ rack_log_dsack_event(struct tcp_rack *rack, uint8_t mod, uint32_t flex4, uint32_ log.u_bbr.flex7 = rack->r_ctl.dsack_persist; log.u_bbr.flex8 = mod; log.u_bbr.timeStamp = tcp_get_usecs(&tv); - log.u_bbr.epoch = rack->r_ctl.current_round; - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2674,8 +2535,6 @@ rack_log_hdwr_pacing(struct tcp_rack *rack, else log.u_bbr.cur_del_rate = 0; log.u_bbr.rttProp = rack->r_ctl.last_hw_bw_req; - log.u_bbr.epoch = rack->r_ctl.current_round; - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2693,9 +2552,28 @@ rack_get_output_bw(struct tcp_rack *rack, uint64_t bw, struct rack_sendmap *rsm, uint64_t bw_est, high_rate; uint64_t gain; - gain = (uint64_t)rack_get_output_gain(rack, rsm); - bw_est = bw * gain; - bw_est /= (uint64_t)100; + if ((rack->r_pacing_discount == 0) || + (rack_full_buffer_discount == 0)) { + /* + * No buffer level based discount from client buffer + * level is enabled or the feature is disabled. + */ + gain = (uint64_t)rack_get_output_gain(rack, rsm); + bw_est = bw * gain; + bw_est /= (uint64_t)100; + } else { + /* + * We have a discount in place apply it with + * just a 100% gain (we get no boost if the buffer + * is full). + */ + uint64_t discount; + + discount = bw * (uint64_t)(rack_full_buffer_discount * rack->r_ctl.pacing_discount_amm); + discount /= 100; + /* What %% of the b/w do we discount */ + bw_est = bw - discount; + } /* Never fall below the minimum (def 64kbps) */ if (bw_est < RACK_MIN_BW) bw_est = RACK_MIN_BW; @@ -2781,8 +2659,6 @@ log_anyway: log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; - log.u_bbr.epoch = rack->r_ctl.current_round; - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2822,10 +2698,6 @@ rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t slot log.u_bbr.lt_epoch = rack->rc_tp->t_rxtshift; log.u_bbr.lost = rack_rto_min; log.u_bbr.epoch = rack->r_ctl.roundends; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; - log.u_bbr.applimited = rack->rc_tp->t_flags2; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2859,9 +2731,6 @@ rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rs log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2911,9 +2780,6 @@ rack_log_map_chg(struct tcpcb *tp, struct tcp_rack *rack, log.u_bbr.lost = 0; else log.u_bbr.lost = rack->r_ctl.rc_prr_sndcnt; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3061,9 +2927,6 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time log.u_bbr.flex4 = where; log.u_bbr.flex7 = 2; log.u_bbr.timeStamp = tcp_get_usecs(&tv); - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3076,7 +2939,7 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time static void rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t tsecho) { - if (rack_verbose_logging && tcp_bblogging_on(rack->rc_tp)) { + if (tcp_bblogging_on(rack->rc_tp)) { union tcp_log_stackspecific log; struct timeval tv; @@ -3088,9 +2951,6 @@ rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t log.u_bbr.flex7 = 3; log.u_bbr.rttProp = tsv; log.u_bbr.timeStamp = tcp_get_usecs(&tv); - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3119,9 +2979,6 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3194,13 +3051,6 @@ rack_log_doseg_done(struct tcp_rack *rack, uint32_t cts, int32_t nxt_pkt, int32_ log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; - log.u_bbr.epoch = rack->rc_inp->inp_socket->so_snd.sb_hiwat; - log.u_bbr.lt_epoch = rack->rc_inp->inp_socket->so_rcv.sb_hiwat; - log.u_bbr.lost = rack->rc_tp->t_srtt; - log.u_bbr.pkt_epoch = rack->rc_tp->rfbuf_cnt; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3262,9 +3112,6 @@ rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, ui log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; log.u_bbr.cwnd_gain = rack->rc_has_collapsed; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3299,9 +3146,6 @@ rack_log_to_cancel(struct tcp_rack *rack, int32_t hpts_removed, int line, uint32 log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; - log.u_bbr.bw_inuse = rack->r_ctl.current_round; - log.u_bbr.bw_inuse <<= 32; - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3470,7 +3314,6 @@ rack_counter_destroy(void) counter_u64_free(rack_saw_enobuf_hw); counter_u64_free(rack_saw_enetunreach); counter_u64_free(rack_hot_alloc); - counter_u64_free(tcp_policer_detected); counter_u64_free(rack_to_alloc); counter_u64_free(rack_to_alloc_hard); counter_u64_free(rack_to_alloc_emerg); @@ -3632,8 +3475,6 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) rack->r_ctl.rc_num_split_allocs--; } if (rsm == rack->r_ctl.rc_first_appl) { - rack->r_ctl.cleared_app_ack_seq = rsm->r_start + (rsm->r_end - rsm->r_start); - rack->r_ctl.cleared_app_ack = 1; if (rack->r_ctl.rc_app_limited_cnt == 0) rack->r_ctl.rc_first_appl = NULL; else @@ -3649,7 +3490,7 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) rack->r_ctl.rc_sacklast = NULL; memset(rsm, 0, sizeof(struct rack_sendmap)); /* Make sure we are not going to overrun our count limit of 0xff */ - if ((rack->rc_free_cnt + 1) > RACK_FREE_CNT_MAX) { + if ((rack->rc_free_cnt + 1) > 0xff) { rack_free_trim(rack); } TAILQ_INSERT_HEAD(&rack->r_ctl.rc_free, rsm, r_tnext); @@ -3965,8 +3806,6 @@ rack_increase_bw_mul(struct tcp_rack *rack, int timely_says, uint64_t cur_bw, ui logged = 0; - if (rack->rc_skip_timely) - return; if (override) { /* * override is passed when we are @@ -4137,8 +3976,6 @@ rack_decrease_bw_mul(struct tcp_rack *rack, int timely_says, uint32_t rtt, int32 uint64_t logvar, logvar2, logvar3; uint32_t logged, new_per, ss_red, ca_red, rec_red, alt, val; - if (rack->rc_skip_timely) - return; if (rack->rc_gp_incr) { /* Turn off increment counting */ rack->rc_gp_incr = 0; @@ -4340,7 +4177,6 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) */ uint32_t segsiz; - rack->r_ctl.rc_lower_rtt_us_cts = us_cts; if (rack->rc_gp_dyn_mul == 0) return; @@ -4367,6 +4203,7 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) rack->r_ctl.rc_pace_min_segs); rack->in_probe_rtt = 1; rack->measure_saw_probe_rtt = 1; + rack->r_ctl.rc_lower_rtt_us_cts = us_cts; rack->r_ctl.rc_time_probertt_starts = 0; rack->r_ctl.rc_entry_gp_rtt = rack->r_ctl.rc_gp_srtt; if (rack_probertt_use_min_rtt_entry) @@ -4550,7 +4387,6 @@ static void rack_check_probe_rtt(struct tcp_rack *rack, uint32_t us_cts) { /* Check in on probe-rtt */ - if (rack->rc_gp_filled == 0) { /* We do not do p-rtt unless we have gp measurements */ return; @@ -4595,10 +4431,7 @@ no_exit: if (calc) { /* Maybe */ calc *= rack_per_of_gp_probertt_reduce; - if (calc > rack_per_of_gp_probertt) - rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_lowthresh; - else - rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_probertt - calc; + rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_probertt - calc; /* Limit it too */ if (rack->r_ctl.rack_per_of_gp_probertt < rack_per_of_gp_lowthresh) rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_lowthresh; @@ -4639,9 +4472,7 @@ no_exit: rack_exit_probertt(rack, us_cts); } - } else if ((rack->rc_skip_timely == 0) && - (TSTMP_GT(us_cts, rack->r_ctl.rc_lower_rtt_us_cts)) && *** 6977 LINES SKIPPED *** From nobody Mon Mar 11 20:33:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtpPY46d0z5DfkY; Mon, 11 Mar 2024 20:33:05 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtpPY3YWSz570K; Mon, 11 Mar 2024 20:33:05 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710189185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aTLEbkb9DP4D//CzgZOV9iHsj/mwIolb7kdjTUQqMKo=; b=vzO1xUOgAOnbYasy+13GWnpk+gcaa5R/G7lDpebCy622+Ma5nx0qnB7xr9mU4049ybYooq Yjdb2e2dCbNkugNLqunONL3EK53s0GEsxsRR8tcrOZxzDQy6N1hbiRJKomLprH+8RALYPy Eiugg9tUiTQO6bSpafd5bCsW6nmBIA+S1fDHnmu1LqfyrRx33kregePi3ah52k1r/OVTbI sLRN4H9qDzXiqlOoDCjT+j2oE+eFw+MR7u3F77pxnheKFeIakWmVqKMzZfzZR1/3eaBuDy rEn74Z+etyJhJvxzjPrEQ7YyB7nLghPXSaW+OexjXZ3aFkSEexXOjJ0suQEh7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710189185; a=rsa-sha256; cv=none; b=Trz1yIOKZjA/chiVfZ6RAXgsrkxCbSFKvvVLz7q2hafQ76pf3n4eaIUjttLMZo7tv6evWC u8JY3g+yFZLaDB2BZslRDcJE5zKxoQbTucCgxg2zdcwkDeFPyuNjSO5mBLLYN3M6CXZ128 68TbCtV6pD/GdXuCbhJ/oqZ20iV8SraZ6YwppFeK8TDDJKusZnrYVnU3/xKnc5zYbDQ1u7 MnW1S1ad8m2mx23KyRJcF07i3rE9o8oG3oN2Ke6pqf1v2XUy3Lp2/vATLpyxqXu5v7Ddzc 7k0TvqhmvGYV8FgaZ8Y4j46b9Efpx3QOGoEBTSTPxnT8VIsjt4y2ieFKS+p4+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710189185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=aTLEbkb9DP4D//CzgZOV9iHsj/mwIolb7kdjTUQqMKo=; b=GNlMIx0cisyxYkX4HDm6G4GprjwT5UMvfFTwXwXD4aRVZ+tHZwCMfyosb9eHEZzYvlu3Kq CQ90OwMo3KpEJZarWwotQn4AFFNnPvvaYzAWCfUskn7s5W7rZhPeGXPA7QY0N6kQ2NfPJ0 Ylj/3IOc6d8R9sM8INfxcBIm0eQVHc0G+NGqNCWEKiFvvTUzDjNO2UxbzXVNnp2LfyFq9w m23QwmJTBABAyJNwKWdnvjoKoNyMNuOo0IkYsMCv2LrW1YwoBXRkWq1orquT99qHhEeGnO XyasNnd7X3ucyrZdUbaouKHjsUYNQStGS5qRkrPbuJvLRBe1skE7G/wpSztX8g== Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4TtpPY2ks8z1DQT; Mon, 11 Mar 2024 20:33:05 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id D37533C019B; Mon, 11 Mar 2024 20:33:04 +0000 (UTC) Date: Mon, 11 Mar 2024 20:33:04 +0000 From: Brooks Davis To: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: c112243f6bd3 - main - Revert "Update to bring the rack stack with all its fixes in." Message-ID: References: <202403112028.42BKSrqq024810@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202403112028.42BKSrqq024810@gitrepo.freebsd.org> Beyond the breakage, due to the empty rack_pcm.c, a casual review of the diff in git showed several whitespace errors (spaces at EOL or before tabs), and the Differential Revision line was misformatted causing phabricator not to process the commit properly. All this lead me to deem it best to revert to a fresh commit can be done correctly. -- Brooks On Mon, Mar 11, 2024 at 08:28:53PM +0000, Brooks Davis wrote: > The branch main has been updated by brooks: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c112243f6bd3738ab1ca0fc56ba1accef66c9d7a > > commit c112243f6bd3738ab1ca0fc56ba1accef66c9d7a > Author: Brooks Davis > AuthorDate: 2024-03-11 20:15:20 +0000 > Commit: Brooks Davis > CommitDate: 2024-03-11 20:28:24 +0000 > > Revert "Update to bring the rack stack with all its fixes in." > > This commit was incomplete and breaks LINT kernels. The tree has been > broken for 8+ hours. > > This reverts commit f6d489f402c320f1a6eaa473491a0b8c3878113e. > --- > sys/modules/tcp/rack/Makefile | 2 +- > sys/netinet/tcp.h | 38 +- > sys/netinet/tcp_log_buf.h | 9 +- > sys/netinet/tcp_stacks/bbr.c | 4 +- > sys/netinet/tcp_stacks/rack.c | 4447 +++++++++------------------------- > sys/netinet/tcp_stacks/rack_pcm.c | 0 > sys/netinet/tcp_stacks/sack_filter.h | 5 - > sys/netinet/tcp_stacks/tailq_hash.c | 33 +- > sys/netinet/tcp_stacks/tailq_hash.h | 8 +- > sys/netinet/tcp_stacks/tcp_rack.h | 135 +- > sys/netinet/tcp_subr.c | 57 +- > sys/netinet/tcp_syncache.c | 5 +- > sys/netinet/tcp_usrreq.c | 7 - > sys/netinet/tcp_var.h | 12 +- > 14 files changed, 1173 insertions(+), 3589 deletions(-) > > diff --git a/sys/modules/tcp/rack/Makefile b/sys/modules/tcp/rack/Makefile > index d5f3ba170f68..c5bb20602337 100644 > --- a/sys/modules/tcp/rack/Makefile > +++ b/sys/modules/tcp/rack/Makefile > @@ -5,7 +5,7 @@ > > STACKNAME= rack > KMOD= tcp_${STACKNAME} > -SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c rack_pcm.c > +SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c > > SRCS+= opt_inet.h opt_inet6.h opt_ipsec.h > SRCS+= opt_kern_tls.h > diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h > index a8259fa30a3a..f9e561f6ce35 100644 > --- a/sys/netinet/tcp.h > +++ b/sys/netinet/tcp.h > @@ -334,22 +334,9 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) > #define TCP_RACK_PACING_DIVISOR 1146 /* Pacing divisor given to rate-limit code for burst sizing */ > #define TCP_RACK_PACE_MIN_SEG 1147 /* Pacing min seg size rack will use */ > #define TCP_RACK_DGP_IN_REC 1148 /* Do we use full DGP in recovery? */ > -#define TCP_POLICER_DETECT 1149 /* Do we apply a thresholds to rack to detect and compensate for policers? */ > -#define TCP_RXT_CLAMP TCP_POLICER_DETECT > +#define TCP_RXT_CLAMP 1149 /* Do we apply a threshold to rack so if excess rxt clamp cwnd? */ > #define TCP_HYBRID_PACING 1150 /* Hybrid pacing enablement */ > #define TCP_PACING_DND 1151 /* When pacing with rr_config=3 can sacks disturb us */ > -#define TCP_SS_EEXIT 1152 /* Do we do early exit from slowtart if no b/w growth */ > -#define TCP_DGP_UPPER_BOUNDS 1153 /* SS and CA upper bound in percentage */ > -#define TCP_NO_TIMELY 1154 /* Disable/enable Timely */ > -#define TCP_HONOR_HPTS_MIN 1155 /* Do we honor hpts min to */ > -#define TCP_REC_IS_DYN 1156 /* Do we allow timely to change recovery multiplier? */ > -#define TCP_SIDECHAN_DIS 1157 /* Disable/enable the side-channel */ > -#define TCP_FILLCW_RATE_CAP 1158 /* Set a cap for DGP's fillcw */ > -#define TCP_POLICER_MSS 1159 /* Policer MSS requirement */ > -#define TCP_STACK_SPEC_INFO 1160 /* Get stack specific information (if present) */ > -#define RACK_CSPR_IS_FCC 1161 > -#define TCP_GP_USE_LTBW 1162 /* how we use lt_bw 0=not, 1=min, 2=max */ > - > > /* Start of reserved space for third-party user-settable options. */ > #define TCP_VENDOR SO_VENDOR > @@ -460,7 +447,6 @@ struct tcp_info { > u_int32_t tcpi_rcv_adv; /* Peer advertised window */ > u_int32_t tcpi_dupacks; /* Consecutive dup ACKs recvd */ > > - u_int32_t tcpi_rttmin; /* Min observed RTT */ > /* Padding to grow without breaking ABI. */ > u_int32_t __tcpi_pad[14]; /* Padding. */ > }; > @@ -477,20 +463,6 @@ struct tcp_fastopen { > > #define TCP_FUNCTION_NAME_LEN_MAX 32 > > -struct stack_specific_info { > - char stack_name[TCP_FUNCTION_NAME_LEN_MAX]; > - uint64_t policer_last_bw; /* Only valid if detection enabled and policer detected */ > - uint64_t bytes_transmitted; > - uint64_t bytes_retransmitted; > - uint32_t policer_detection_enabled: 1, > - policer_detected : 1, /* transport thinks a policer is on path */ > - highly_buffered : 1, /* transport considers the path highly buffered */ > - spare : 29; > - uint32_t policer_bucket_size; /* Only valid if detection enabled and policer detected */ > - uint32_t current_round; > - uint32_t _rack_i_pad[18]; > -}; > - > struct tcp_function_set { > char function_set_name[TCP_FUNCTION_NAME_LEN_MAX]; > uint32_t pcbcnt; > @@ -516,7 +488,6 @@ struct tcp_snd_req { > uint64_t start; > uint64_t end; > uint32_t flags; > - uint32_t playout_ms; > }; > > union tcp_log_userdata { > @@ -547,12 +518,9 @@ struct tcp_log_user { > #define TCP_HYBRID_PACING_H_MS 0x0008 /* A client hint for maxseg is present */ > #define TCP_HYBRID_PACING_ENABLE 0x0010 /* We are enabling hybrid pacing else disable */ > #define TCP_HYBRID_PACING_S_MSS 0x0020 /* Clent wants us to set the mss overriding gp est in CU */ > -#define TCP_HAS_PLAYOUT_MS 0x0040 /* The client included the chunk playout milliseconds: deprecate */ > -/* the below are internal only flags */ > -#define TCP_HYBRID_PACING_USER_MASK 0x0FFF /* Non-internal flags mask */ > -#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tells us we set the mss on this entry */ > +#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tellsus we set the mss on this entry */ > #define TCP_HYBRID_PACING_WASSET 0x2000 /* We init to this to know if a hybrid command was issued */ > -#define TCP_HYBRID_PACING_SENDTIME 0x4000 /* Duplicate tm to last, use sendtime for catch up mode */ > + > > struct tcp_hybrid_req { > struct tcp_snd_req req; > diff --git a/sys/netinet/tcp_log_buf.h b/sys/netinet/tcp_log_buf.h > index 2e91d9cbdf3c..1f5b7cf9b54f 100644 > --- a/sys/netinet/tcp_log_buf.h > +++ b/sys/netinet/tcp_log_buf.h > @@ -267,9 +267,7 @@ enum tcp_log_events { > TCP_RACK_TP_TRIGGERED, /* A rack tracepoint is triggered 68 */ > TCP_HYBRID_PACING_LOG, /* Hybrid pacing log 69 */ > TCP_LOG_PRU, /* TCP protocol user request 70 */ > - TCP_POLICER_DET, /* TCP Policer detectionn 71 */ > - TCP_PCM_MEASURE, /* TCP Path Capacity Measurement 72 */ > - TCP_LOG_END /* End (keep at end) 72 */ > + TCP_LOG_END /* End (keep at end) 71 */ > }; > > enum tcp_log_states { > @@ -373,11 +371,10 @@ struct tcp_log_dev_log_queue { > #define TCP_TP_COLLAPSED_RXT 0x00000004 /* When we actually retransmit a collapsed window rsm */ > #define TCP_TP_REQ_LOG_FAIL 0x00000005 /* We tried to allocate a Request log but had no space */ > #define TCP_TP_RESET_RCV 0x00000006 /* Triggers when we receive a RST */ > -#define TCP_TP_POLICER_DET 0x00000007 /* When we detect a policer */ > -#define TCP_TP_EXCESS_RXT TCP_TP_POLICER_DET /* alias */ > +#define TCP_TP_EXCESS_RXT 0x00000007 /* When we get excess RXT's clamping the cwnd */ > #define TCP_TP_SAD_TRIGGERED 0x00000008 /* Sack Attack Detection triggers */ > + > #define TCP_TP_SAD_SUSPECT 0x0000000a /* A sack has supicious information in it */ > -#define TCP_TP_PACED_BOTTOM 0x0000000b /* We have paced at the bottom */ > > #ifdef _KERNEL > > diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c > index 934b35bd22d7..931beba7a262 100644 > --- a/sys/netinet/tcp_stacks/bbr.c > +++ b/sys/netinet/tcp_stacks/bbr.c > @@ -11529,9 +11529,7 @@ bbr_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, > bbr_set_pktepoch(bbr, cts, __LINE__); > bbr_check_bbr_for_state(bbr, cts, __LINE__, (bbr->r_ctl.rc_lost - lost)); > if (nxt_pkt == 0) { > - if ((bbr->r_wanted_output != 0) || > - (tp->t_flags & TF_ACKNOW)) { > - > + if (bbr->r_wanted_output != 0) { > bbr->rc_output_starts_timer = 0; > did_out = 1; > if (tcp_output(tp) < 0) > diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c > index 1fe07fa8d641..49d946dbb63b 100644 > --- a/sys/netinet/tcp_stacks/rack.c > +++ b/sys/netinet/tcp_stacks/rack.c > @@ -142,12 +142,9 @@ VNET_DECLARE(uint32_t, newreno_beta_ecn); > #define V_newreno_beta VNET(newreno_beta) > #define V_newreno_beta_ecn VNET(newreno_beta_ecn) > > -#define M_TCPFSB __CONCAT(M_TCPFSB, STACKNAME) > -#define M_TCPDO __CONCAT(M_TCPDO, STACKNAME) > > -MALLOC_DEFINE(M_TCPFSB, "tcp_fsb_" __XSTRING(STACKNAME), "TCP fast send block"); > -MALLOC_DEFINE(M_TCPDO, "tcp_do_" __XSTRING(STACKNAME), "TCP deferred options"); > -MALLOC_DEFINE(M_TCPPCM, "tcp_pcm_" __XSTRING(STACKNAME), "TCP PCM measurement information"); > +MALLOC_DEFINE(M_TCPFSB, "tcp_fsb", "TCP fast send block"); > +MALLOC_DEFINE(M_TCPDO, "tcp_do", "TCP deferred options"); > > struct sysctl_ctx_list rack_sysctl_ctx; > struct sysctl_oid *rack_sysctl_root; > @@ -193,24 +190,12 @@ static int32_t rack_tlp_use_greater = 1; > static int32_t rack_reorder_thresh = 2; > static int32_t rack_reorder_fade = 60000000; /* 0 - never fade, def 60,000,000 > * - 60 seconds */ > -static uint16_t rack_policer_rxt_thresh= 0; /* 499 = 49.9%, 0 is off */ > -static uint8_t rack_policer_avg_thresh = 0; /* 3.2 */ > -static uint8_t rack_policer_med_thresh = 0; /* 1 - 16 */ > -static uint16_t rack_policer_bucket_reserve = 20; /* How much % is reserved in the bucket */ > -static uint64_t rack_pol_min_bw = 125000; /* 1mbps in Bytes per sec */ > -static uint32_t rack_policer_data_thresh = 64000; /* 64,000 bytes must be sent before we engage */ > -static uint32_t rack_policing_do_bw_comp = 1; > -static uint32_t rack_pcm_every_n_rounds = 100; > -static uint32_t rack_pcm_blast = 0; > -static uint32_t rack_pcm_is_enabled = 1; > -static uint8_t rack_req_del_mss = 18; /* How many segments need to be sent in a recovery episode to do policer_detection */ > -static uint8_t rack_ssthresh_rest_rto_rec = 0; /* Do we restore ssthresh when we have rec -> rto -> rec */ > - > -static uint32_t rack_gp_gain_req = 1200; /* Amount percent wise required to gain to record a round has "gaining" */ > -static uint32_t rack_rnd_cnt_req = 0x10005; /* Default number of rounds if we are below rack_gp_gain_req where we exit ss */ > - > - > -static int32_t rack_rxt_scoreboard_clear_thresh = 2; > +static uint32_t rack_clamp_ss_upper = 110; > +static uint32_t rack_clamp_ca_upper = 105; > +static uint32_t rack_rxt_min_rnds = 10; /* Min rounds if drastic rxt clamp is in place */ > +static uint32_t rack_unclamp_round_thresh = 100; /* number of perfect rounds before we unclamp */ > +static uint32_t rack_unclamp_rxt_thresh = 5; /* .5% and under */ > +static uint64_t rack_rxt_clamp_thresh = 0; /* Do we do the rxt clamp thing */ > static int32_t rack_dnd_default = 0; /* For rr_conf = 3, what is the default for dnd */ > static int32_t rack_rxt_controls = 0; > static int32_t rack_fill_cw_state = 0; > @@ -232,8 +217,9 @@ static int32_t rack_do_hystart = 0; > static int32_t rack_apply_rtt_with_reduced_conf = 0; > static int32_t rack_hibeta_setting = 0; > static int32_t rack_default_pacing_divisor = 250; > +static int32_t rack_uses_full_dgp_in_rec = 1; > static uint16_t rack_pacing_min_seg = 0; > -static int32_t rack_timely_off = 0; > + > > static uint32_t sad_seg_size_per = 800; /* 80.0 % */ > static int32_t rack_pkt_delay = 1000; > @@ -249,7 +235,7 @@ static int32_t rack_use_rsm_rfo = 1; > static int32_t rack_max_abc_post_recovery = 2; > static int32_t rack_client_low_buf = 0; > static int32_t rack_dsack_std_based = 0x3; /* bit field bit 1 sets rc_rack_tmr_std_based and bit 2 sets rc_rack_use_dsack */ > -static int32_t rack_bw_multipler = 0; /* Limit on fill cw's jump up to be this x gp_est */ > +static int32_t rack_bw_multipler = 2; /* Limit on fill cw's jump up to be this x gp_est */ > #ifdef TCP_ACCOUNTING > static int32_t rack_tcp_accounting = 0; > #endif > @@ -261,9 +247,8 @@ static int32_t use_rack_rr = 1; > static int32_t rack_non_rxt_use_cr = 0; /* does a non-rxt in recovery use the configured rate (ss/ca)? */ > static int32_t rack_persist_min = 250000; /* 250usec */ > static int32_t rack_persist_max = 2000000; /* 2 Second in usec's */ > -static int32_t rack_honors_hpts_min_to = 1; /* Do we honor the hpts minimum time out for pacing timers */ > -static uint32_t rack_max_reduce = 10; /* Percent we can reduce slot by */ > static int32_t rack_sack_not_required = 1; /* set to one to allow non-sack to use rack */ > +static int32_t rack_default_init_window = 0; /* Use system default */ > static int32_t rack_limit_time_with_srtt = 0; > static int32_t rack_autosndbuf_inc = 20; /* In percentage form */ > static int32_t rack_enobuf_hw_boost_mult = 0; /* How many times the hw rate we boost slot using time_between */ > @@ -297,6 +282,7 @@ static int32_t rack_rwnd_block_ends_measure = 0; > static int32_t rack_def_profile = 0; > > static int32_t rack_lower_cwnd_at_tlp = 0; > +static int32_t rack_limited_retran = 0; > static int32_t rack_always_send_oldest = 0; > static int32_t rack_tlp_threshold_use = TLP_USE_TWO_ONE; > > @@ -370,7 +356,6 @@ static int32_t rack_timely_no_stopping = 0; > static int32_t rack_down_raise_thresh = 100; > static int32_t rack_req_segs = 1; > static uint64_t rack_bw_rate_cap = 0; > -static uint64_t rack_fillcw_bw_cap = 3750000; /* Cap fillcw at 30Mbps */ > > > /* Rack specific counters */ > @@ -392,7 +377,6 @@ counter_u64_t rack_tlp_retran; > counter_u64_t rack_tlp_retran_bytes; > counter_u64_t rack_to_tot; > counter_u64_t rack_hot_alloc; > -counter_u64_t tcp_policer_detected; > counter_u64_t rack_to_alloc; > counter_u64_t rack_to_alloc_hard; > counter_u64_t rack_to_alloc_emerg; > @@ -456,7 +440,7 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, > static int > rack_process_ack(struct mbuf *m, struct tcphdr *th, > struct socket *so, struct tcpcb *tp, struct tcpopt *to, > - uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val, int32_t orig_tlen); > + uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val); > static int > rack_process_data(struct mbuf *m, struct tcphdr *th, > struct socket *so, struct tcpcb *tp, int32_t drop_hdrlen, int32_t tlen, > @@ -470,8 +454,6 @@ static struct rack_sendmap *rack_alloc_limit(struct tcp_rack *rack, > static struct rack_sendmap * > rack_check_recovery_mode(struct tcpcb *tp, > uint32_t tsused); > -static uint32_t > -rack_grab_rtt(struct tcpcb *tp, struct tcp_rack *rack); > static void > rack_cong_signal(struct tcpcb *tp, > uint32_t type, uint32_t ack, int ); > @@ -522,14 +504,13 @@ rack_log_ack(struct tcpcb *tp, struct tcpopt *to, > static void > rack_log_output(struct tcpcb *tp, struct tcpopt *to, int32_t len, > uint32_t seq_out, uint16_t th_flags, int32_t err, uint64_t ts, > - struct rack_sendmap *hintrsm, uint32_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); > + struct rack_sendmap *hintrsm, uint16_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); > > static uint64_t rack_get_gp_est(struct tcp_rack *rack); > > - > static void > rack_log_sack_passed(struct tcpcb *tp, struct tcp_rack *rack, > - struct rack_sendmap *rsm, uint32_t cts); > + struct rack_sendmap *rsm); > static void rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rsm); > static int32_t rack_output(struct tcpcb *tp); > > @@ -545,10 +526,10 @@ static int32_t rack_stopall(struct tcpcb *tp); > static void rack_timer_cancel(struct tcpcb *tp, struct tcp_rack *rack, uint32_t cts, int line); > static uint32_t > rack_update_entry(struct tcpcb *tp, struct tcp_rack *rack, > - struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint32_t add_flag, int segsiz); > + struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint16_t add_flag, int segsiz); > static void > rack_update_rsm(struct tcpcb *tp, struct tcp_rack *rack, > - struct rack_sendmap *rsm, uint64_t ts, uint32_t add_flag, int segsiz); > + struct rack_sendmap *rsm, uint64_t ts, uint16_t add_flag, int segsiz); > static int > rack_update_rtt(struct tcpcb *tp, struct tcp_rack *rack, > struct rack_sendmap *rsm, struct tcpopt *to, uint32_t cts, int32_t ack_type, tcp_seq th_ack); > @@ -557,10 +538,6 @@ static int > rack_do_close_wait(struct mbuf *m, struct tcphdr *th, > struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, > int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos); > - > -static void > -rack_peg_rxt(struct tcp_rack *rack, struct rack_sendmap *rsm, uint32_t segsiz); > - > static int > rack_do_closing(struct mbuf *m, struct tcphdr *th, > struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, > @@ -743,22 +720,6 @@ rack_undo_cc_pacing(struct tcp_rack *rack) > rack_swap_beta_values(rack, 4); > } > > -static void > -rack_remove_pacing(struct tcp_rack *rack) > -{ > - if (rack->rc_pacing_cc_set) > - rack_undo_cc_pacing(rack); > - if (rack->r_ctl.pacing_method & RACK_REG_PACING) > - tcp_decrement_paced_conn(); > - if (rack->r_ctl.pacing_method & RACK_DGP_PACING) > - tcp_dec_dgp_pacing_cnt(); > - rack->rc_always_pace = 0; > - rack->r_ctl.pacing_method = RACK_PACING_NONE; > - rack->dgp_on = 0; > - rack->rc_hybrid_mode = 0; > - rack->use_fixed_rate = 0; > -} > - > static void > rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, > uint32_t send_end_t, int line, uint8_t mode, struct rack_sendmap *rsm) > @@ -781,8 +742,6 @@ rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, > log.u_bbr.pkts_out = line; > log.u_bbr.cwnd_gain = rack->app_limited_needs_set; > log.u_bbr.pkt_epoch = rack->r_ctl.rc_app_limited_cnt; > - log.u_bbr.epoch = rack->r_ctl.current_round; > - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; > if (rsm != NULL) { > log.u_bbr.applimited = rsm->r_start; > log.u_bbr.delivered = rsm->r_end; > @@ -898,7 +857,6 @@ rack_init_sysctls(void) > struct sysctl_oid *rack_measure; > struct sysctl_oid *rack_probertt; > struct sysctl_oid *rack_hw_pacing; > - struct sysctl_oid *rack_policing; > > rack_attack = SYSCTL_ADD_NODE(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_sysctl_root), > @@ -1036,36 +994,11 @@ rack_init_sysctls(void) > "pacing", > CTLFLAG_RW | CTLFLAG_MPSAFE, 0, > "Pacing related Controls"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "pcm_enabled", CTLFLAG_RW, > - &rack_pcm_is_enabled, 1, > - "Do we by default do PCM measurements?"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "pcm_rnds", CTLFLAG_RW, > - &rack_pcm_every_n_rounds, 100, > - "How many rounds before we need to do a PCM measurement"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "pcm_blast", CTLFLAG_RW, > - &rack_pcm_blast, 0, > - "Blast out the full cwnd/rwnd when doing a PCM measurement"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "rnd_gp_gain", CTLFLAG_RW, > - &rack_gp_gain_req, 1200, > - "How much do we have to increase the GP to record the round 1200 = 120.0"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "dgp_out_of_ss_at", CTLFLAG_RW, > - &rack_rnd_cnt_req, 0x10005, > - "How many rounds less than rnd_gp_gain will drop us out of SS"); > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "no_timely", CTLFLAG_RW, > - &rack_timely_off, 0, > - "Do we not use timely in DGP?"); > + OID_AUTO, "fulldgpinrec", CTLFLAG_RW, > + &rack_uses_full_dgp_in_rec, 1, > + "Do we use all DGP features in recovery (fillcw, timely et.al.)?"); > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_pacing), > OID_AUTO, "fullbufdisc", CTLFLAG_RW, > @@ -1084,13 +1017,13 @@ rack_init_sysctls(void) > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_pacing), > OID_AUTO, "divisor", CTLFLAG_RW, > - &rack_default_pacing_divisor, 250, > + &rack_default_pacing_divisor, 4, > "What is the default divisor given to the rl code?"); > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_pacing), > OID_AUTO, "fillcw_max_mult", CTLFLAG_RW, > - &rack_bw_multipler, 0, > - "What is the limit multiplier of the current gp_est that fillcw can increase the b/w too, 200 == 200% (0 = off)?"); > + &rack_bw_multipler, 2, > + "What is the multiplier of the current gp_est that fillcw can increase the b/w too?"); > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_pacing), > OID_AUTO, "max_pace_over", CTLFLAG_RW, > @@ -1106,6 +1039,11 @@ rack_init_sysctls(void) > OID_AUTO, "limit_wsrtt", CTLFLAG_RW, > &rack_limit_time_with_srtt, 0, > "Do we limit pacing time based on srtt"); > + SYSCTL_ADD_S32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_pacing), > + OID_AUTO, "init_win", CTLFLAG_RW, > + &rack_default_init_window, 0, > + "Do we have a rack initial window 0 = system default"); > SYSCTL_ADD_U16(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_pacing), > OID_AUTO, "gp_per_ss", CTLFLAG_RW, > @@ -1141,11 +1079,6 @@ rack_init_sysctls(void) > OID_AUTO, "rate_cap", CTLFLAG_RW, > &rack_bw_rate_cap, 0, > "If set we apply this value to the absolute rate cap used by pacing"); > - SYSCTL_ADD_U64(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_pacing), > - OID_AUTO, "fillcw_cap", CTLFLAG_RW, > - &rack_fillcw_bw_cap, 3750000, > - "Do we have an absolute cap on the amount of b/w fillcw can specify (0 = no)?"); > SYSCTL_ADD_U8(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_sysctl_root), > OID_AUTO, "req_measure_cnt", CTLFLAG_RW, > @@ -1384,6 +1317,11 @@ rack_init_sysctls(void) > OID_AUTO, "send_oldest", CTLFLAG_RW, > &rack_always_send_oldest, 0, > "Should we always send the oldest TLP and RACK-TLP"); > + SYSCTL_ADD_S32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_tlp), > + OID_AUTO, "rack_tlimit", CTLFLAG_RW, > + &rack_limited_retran, 0, > + "How many times can a rack timeout drive out sends"); > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_tlp), > OID_AUTO, "tlp_cwnd_flag", CTLFLAG_RW, > @@ -1417,26 +1355,6 @@ rack_init_sysctls(void) > "timers", > CTLFLAG_RW | CTLFLAG_MPSAFE, 0, > "Timer related controls"); > - SYSCTL_ADD_U8(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_timers), > - OID_AUTO, "reset_ssth_rec_rto", CTLFLAG_RW, > - &rack_ssthresh_rest_rto_rec, 0, > - "When doing recovery -> rto -> recovery do we reset SSthresh?"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_timers), > - OID_AUTO, "scoreboard_thresh", CTLFLAG_RW, > - &rack_rxt_scoreboard_clear_thresh, 2, > - "How many RTO's are allowed before we clear the scoreboard"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_timers), > - OID_AUTO, "honor_hpts_min", CTLFLAG_RW, > - &rack_honors_hpts_min_to, 1, > - "Do rack pacing timers honor hpts min timeout"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_timers), > - OID_AUTO, "hpts_max_reduce", CTLFLAG_RW, > - &rack_max_reduce, 10, > - "Max percentage we will reduce slot by for pacing when we are behind"); > SYSCTL_ADD_U32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_timers), > OID_AUTO, "persmin", CTLFLAG_RW, > @@ -1516,6 +1434,11 @@ rack_init_sysctls(void) > "features", > CTLFLAG_RW | CTLFLAG_MPSAFE, 0, > "Feature controls"); > + SYSCTL_ADD_U64(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_features), > + OID_AUTO, "rxt_clamp_thresh", CTLFLAG_RW, > + &rack_rxt_clamp_thresh, 0, > + "Bit encoded clamping setup bits CCCC CCCCC UUUU UULF PPPP PPPP PPPP PPPP"); > SYSCTL_ADD_S32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_features), > OID_AUTO, "hybrid_set_maxseg", CTLFLAG_RW, > @@ -1551,53 +1474,6 @@ rack_init_sysctls(void) > OID_AUTO, "hystartplusplus", CTLFLAG_RW, > &rack_do_hystart, 0, > "Should RACK enable HyStart++ on connections?"); > - /* Policer detection */ > - rack_policing = SYSCTL_ADD_NODE(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_sysctl_root), > - OID_AUTO, > - "policing", > - CTLFLAG_RW | CTLFLAG_MPSAFE, 0, > - "policer detection"); > - SYSCTL_ADD_U16(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "rxt_thresh", CTLFLAG_RW, > - &rack_policer_rxt_thresh, 0, > - "Percentage of retransmits we need to be a possible policer (499 = 49.9 percent)"); > - SYSCTL_ADD_U8(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "avg_thresh", CTLFLAG_RW, > - &rack_policer_avg_thresh, 0, > - "What threshold of average retransmits needed to recover a lost packet (1 - 169 aka 21 = 2.1)?"); > - SYSCTL_ADD_U8(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "med_thresh", CTLFLAG_RW, > - &rack_policer_med_thresh, 0, > - "What threshold of Median retransmits needed to recover a lost packet (1 - 16)?"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "data_thresh", CTLFLAG_RW, > - &rack_policer_data_thresh, 64000, > - "How many bytes must have gotten through before we can start doing policer detection?"); > - SYSCTL_ADD_U32(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "bwcomp", CTLFLAG_RW, > - &rack_policing_do_bw_comp, 1, > - "Do we raise up low b/w so that at least pace_max_seg can be sent in the srtt?"); > - SYSCTL_ADD_U8(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "recmss", CTLFLAG_RW, > - &rack_req_del_mss, 18, > - "How many MSS must be delivered during recovery to engage policer detection?"); > - SYSCTL_ADD_U16(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "res_div", CTLFLAG_RW, > - &rack_policer_bucket_reserve, 20, > - "What percentage is reserved in the policer bucket?"); > - SYSCTL_ADD_U64(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_policing), > - OID_AUTO, "min_comp_bw", CTLFLAG_RW, > - &rack_pol_min_bw, 125000, > - "Do we have a min b/w for b/w compensation (0 = no)?"); > /* Misc rack controls */ > rack_misc = SYSCTL_ADD_NODE(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_sysctl_root), > @@ -1702,8 +1578,31 @@ rack_init_sysctls(void) > OID_AUTO, "autoscale", CTLFLAG_RW, > &rack_autosndbuf_inc, 20, > "What percentage should rack scale up its snd buffer by?"); > - > - > + SYSCTL_ADD_U32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_misc), > + OID_AUTO, "rnds_for_rxt_clamp", CTLFLAG_RW, > + &rack_rxt_min_rnds, 10, > + "Number of rounds needed between RTT clamps due to high loss rates"); > + SYSCTL_ADD_U32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_misc), > + OID_AUTO, "rnds_for_unclamp", CTLFLAG_RW, > + &rack_unclamp_round_thresh, 100, > + "Number of rounds needed with no loss to unclamp"); > + SYSCTL_ADD_U32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_misc), > + OID_AUTO, "rxt_threshs_for_unclamp", CTLFLAG_RW, > + &rack_unclamp_rxt_thresh, 5, > + "Percentage of retransmits we need to be under to unclamp (5 = .5 percent)\n"); > + SYSCTL_ADD_U32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_misc), > + OID_AUTO, "clamp_ss_upper", CTLFLAG_RW, > + &rack_clamp_ss_upper, 110, > + "Clamp percentage ceiling in SS?"); > + SYSCTL_ADD_U32(&rack_sysctl_ctx, > + SYSCTL_CHILDREN(rack_misc), > + OID_AUTO, "clamp_ca_upper", CTLFLAG_RW, > + &rack_clamp_ca_upper, 110, > + "Clamp percentage ceiling in CA?"); > /* Sack Attacker detection stuff */ > SYSCTL_ADD_U32(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_attack), > @@ -1880,13 +1779,6 @@ rack_init_sysctls(void) > OID_AUTO, "alloc_hot", CTLFLAG_RD, > &rack_hot_alloc, > "Total allocations from the top of our list"); > - tcp_policer_detected = counter_u64_alloc(M_WAITOK); > - SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, > - SYSCTL_CHILDREN(rack_counters), > - OID_AUTO, "policer_detected", CTLFLAG_RD, > - &tcp_policer_detected, > - "Total policer_detections"); > - > rack_to_alloc = counter_u64_alloc(M_WAITOK); > SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, > SYSCTL_CHILDREN(rack_counters), > @@ -2065,8 +1957,17 @@ rack_init_sysctls(void) > static uint32_t > rc_init_window(struct tcp_rack *rack) > { > - return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); > + uint32_t win; > > + if (rack->rc_init_win == 0) { > + /* > + * Nothing set by the user, use the system stack > + * default. > + */ > + return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); > + } > + win = ctf_fixed_maxseg(rack->rc_tp) * rack->rc_init_win; > + return (win); > } > > static uint64_t > @@ -2170,7 +2071,6 @@ rack_log_hybrid_bw(struct tcp_rack *rack, uint32_t seq, uint64_t cbw, uint64_t t > off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); > log.u_bbr.bbr_substate = (uint8_t)(off / sizeof(struct tcp_sendfile_track)); > #endif > - log.u_bbr.inhpts = 1; > log.u_bbr.flex4 = (uint32_t)(rack->rc_tp->t_sndbytes - cur->sent_at_fs); > log.u_bbr.flex5 = (uint32_t)(rack->rc_tp->t_snd_rxt_bytes - cur->rxt_at_fs); > log.u_bbr.flex7 = (uint16_t)cur->hybrid_flags; > @@ -2216,24 +2116,9 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int > memset(&log, 0, sizeof(log)); > > log.u_bbr.timeStamp = tcp_get_usecs(&tv); > + log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; > log.u_bbr.delRate = cur->sent_at_fs; > - > - if ((cur->flags & TCP_TRK_TRACK_FLG_LSND) == 0) { > - /* > - * We did not get a new Rules Applied to set so > - * no overlapping send occured, this means the > - * current byte counts are correct. > - */ > - log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; > - log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; > - } else { > - /* > - * Overlapping send case, we switched to a new > - * send and did a rules applied. > - */ > - log.u_bbr.cur_del_rate = cur->sent_at_ls; > - log.u_bbr.rttProp = cur->rxt_at_ls; > - } > + log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; > log.u_bbr.bw_inuse = cur->rxt_at_fs; > log.u_bbr.cwnd_gain = line; > off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); > @@ -2253,7 +2138,6 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int > log.u_bbr.lt_epoch = (uint32_t)((cur->timestamp >> 32) & 0x00000000ffffffff); > /* now set all the flags in */ > log.u_bbr.pkts_out = cur->hybrid_flags; > - log.u_bbr.lost = cur->playout_ms; > log.u_bbr.flex6 = cur->flags; > /* > * Last send time = note we do not distinguish cases > @@ -2262,20 +2146,6 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int > */ > log.u_bbr.pkt_epoch = (uint32_t)(rack->r_ctl.last_tmit_time_acked & 0x00000000ffffffff); > log.u_bbr.flex5 = (uint32_t)((rack->r_ctl.last_tmit_time_acked >> 32) & 0x00000000ffffffff); > - /* > - * Compose bbr_state to be a bit wise 0000ADHF > - * where A is the always_pace flag > - * where D is the dgp_on flag > - * where H is the hybrid_mode on flag > - * where F is the use_fixed_rate flag. > - */ > - log.u_bbr.bbr_state = rack->rc_always_pace; > - log.u_bbr.bbr_state <<= 1; > - log.u_bbr.bbr_state |= rack->dgp_on; > - log.u_bbr.bbr_state <<= 1; > - log.u_bbr.bbr_state |= rack->rc_hybrid_mode; > - log.u_bbr.bbr_state <<= 1; > - log.u_bbr.bbr_state |= rack->use_fixed_rate; > > log.u_bbr.flex8 = HYBRID_LOG_SENT_LOST; > tcp_log_event(rack->rc_tp, NULL, > @@ -2429,7 +2299,6 @@ normal_ratecap: > #ifdef TCP_REQUEST_TRK > if (rack->rc_hybrid_mode && > rack->rc_catch_up && > - (rack->r_ctl.rc_last_sft != NULL) && > (rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_S_MSS) && > (rack_hybrid_allow_set_maxseg == 1) && > ((rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_SETMSS) == 0)) { > @@ -2469,10 +2338,7 @@ rack_get_gp_est(struct tcp_rack *rack) > */ > uint64_t srtt; > > - if (rack->dis_lt_bw == 1) > - lt_bw = 0; > - else > - lt_bw = rack_get_lt_bw(rack); > + lt_bw = rack_get_lt_bw(rack); > if (lt_bw) { > /* > * No goodput bw but a long-term b/w does exist > @@ -2508,22 +2374,19 @@ rack_get_gp_est(struct tcp_rack *rack) > /* Still doing initial average must calculate */ > bw = rack->r_ctl.gp_bw / max(rack->r_ctl.num_measurements, 1); > } > - if (rack->dis_lt_bw) { > - /* We are not using lt-bw */ > - ret_bw = bw; > - goto compensate; > - } > lt_bw = rack_get_lt_bw(rack); > if (lt_bw == 0) { > /* If we don't have one then equate it to the gp_bw */ > lt_bw = rack->r_ctl.gp_bw; > } > - if (rack->use_lesser_lt_bw) { > + if ((rack->r_cwnd_was_clamped == 1) && (rack->r_clamped_gets_lower > 0)){ > + /* if clamped take the lowest */ > if (lt_bw < bw) > ret_bw = lt_bw; > else > ret_bw = bw; > } else { > + /* If not set for clamped to get lowest, take the highest */ > if (lt_bw > bw) > ret_bw = lt_bw; > else > @@ -2624,8 +2487,6 @@ rack_log_dsack_event(struct tcp_rack *rack, uint8_t mod, uint32_t flex4, uint32_ > log.u_bbr.flex7 = rack->r_ctl.dsack_persist; > log.u_bbr.flex8 = mod; > log.u_bbr.timeStamp = tcp_get_usecs(&tv); > - log.u_bbr.epoch = rack->r_ctl.current_round; > - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -2674,8 +2535,6 @@ rack_log_hdwr_pacing(struct tcp_rack *rack, > else > log.u_bbr.cur_del_rate = 0; > log.u_bbr.rttProp = rack->r_ctl.last_hw_bw_req; > - log.u_bbr.epoch = rack->r_ctl.current_round; > - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -2693,9 +2552,28 @@ rack_get_output_bw(struct tcp_rack *rack, uint64_t bw, struct rack_sendmap *rsm, > uint64_t bw_est, high_rate; > uint64_t gain; > > - gain = (uint64_t)rack_get_output_gain(rack, rsm); > - bw_est = bw * gain; > - bw_est /= (uint64_t)100; > + if ((rack->r_pacing_discount == 0) || > + (rack_full_buffer_discount == 0)) { > + /* > + * No buffer level based discount from client buffer > + * level is enabled or the feature is disabled. > + */ > + gain = (uint64_t)rack_get_output_gain(rack, rsm); > + bw_est = bw * gain; > + bw_est /= (uint64_t)100; > + } else { > + /* > + * We have a discount in place apply it with > + * just a 100% gain (we get no boost if the buffer > + * is full). > + */ > + uint64_t discount; > + > + discount = bw * (uint64_t)(rack_full_buffer_discount * rack->r_ctl.pacing_discount_amm); > + discount /= 100; > + /* What %% of the b/w do we discount */ > + bw_est = bw - discount; > + } > /* Never fall below the minimum (def 64kbps) */ > if (bw_est < RACK_MIN_BW) > bw_est = RACK_MIN_BW; > @@ -2781,8 +2659,6 @@ log_anyway: > log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; > log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; > log.u_bbr.pacing_gain = rack->r_must_retran; > - log.u_bbr.epoch = rack->r_ctl.current_round; > - log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -2822,10 +2698,6 @@ rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t slot > log.u_bbr.lt_epoch = rack->rc_tp->t_rxtshift; > log.u_bbr.lost = rack_rto_min; > log.u_bbr.epoch = rack->r_ctl.roundends; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > - log.u_bbr.applimited = rack->rc_tp->t_flags2; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -2859,9 +2731,6 @@ rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rs > log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; > log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; > log.u_bbr.pacing_gain = rack->r_must_retran; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -2911,9 +2780,6 @@ rack_log_map_chg(struct tcpcb *tp, struct tcp_rack *rack, > log.u_bbr.lost = 0; > else > log.u_bbr.lost = rack->r_ctl.rc_prr_sndcnt; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3061,9 +2927,6 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time > log.u_bbr.flex4 = where; > log.u_bbr.flex7 = 2; > log.u_bbr.timeStamp = tcp_get_usecs(&tv); > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3076,7 +2939,7 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time > static void > rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t tsecho) > { > - if (rack_verbose_logging && tcp_bblogging_on(rack->rc_tp)) { > + if (tcp_bblogging_on(rack->rc_tp)) { > union tcp_log_stackspecific log; > struct timeval tv; > > @@ -3088,9 +2951,6 @@ rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t > log.u_bbr.flex7 = 3; > log.u_bbr.rttProp = tsv; > log.u_bbr.timeStamp = tcp_get_usecs(&tv); > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3119,9 +2979,6 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, > log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; > log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; > log.u_bbr.pacing_gain = rack->r_must_retran; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3194,13 +3051,6 @@ rack_log_doseg_done(struct tcp_rack *rack, uint32_t cts, int32_t nxt_pkt, int32_ > log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; > log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; > log.u_bbr.pacing_gain = rack->r_must_retran; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > - log.u_bbr.epoch = rack->rc_inp->inp_socket->so_snd.sb_hiwat; > - log.u_bbr.lt_epoch = rack->rc_inp->inp_socket->so_rcv.sb_hiwat; > - log.u_bbr.lost = rack->rc_tp->t_srtt; > - log.u_bbr.pkt_epoch = rack->rc_tp->rfbuf_cnt; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3262,9 +3112,6 @@ rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, ui > log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; > log.u_bbr.pacing_gain = rack->r_must_retran; > log.u_bbr.cwnd_gain = rack->rc_has_collapsed; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3299,9 +3146,6 @@ rack_log_to_cancel(struct tcp_rack *rack, int32_t hpts_removed, int line, uint32 > log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; > log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; > log.u_bbr.pacing_gain = rack->r_must_retran; > - log.u_bbr.bw_inuse = rack->r_ctl.current_round; > - log.u_bbr.bw_inuse <<= 32; > - log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; > TCP_LOG_EVENTP(rack->rc_tp, NULL, > &rack->rc_inp->inp_socket->so_rcv, > &rack->rc_inp->inp_socket->so_snd, > @@ -3470,7 +3314,6 @@ rack_counter_destroy(void) > counter_u64_free(rack_saw_enobuf_hw); > counter_u64_free(rack_saw_enetunreach); > counter_u64_free(rack_hot_alloc); > - counter_u64_free(tcp_policer_detected); > counter_u64_free(rack_to_alloc); > counter_u64_free(rack_to_alloc_hard); > counter_u64_free(rack_to_alloc_emerg); > @@ -3632,8 +3475,6 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) > rack->r_ctl.rc_num_split_allocs--; > } > if (rsm == rack->r_ctl.rc_first_appl) { > - rack->r_ctl.cleared_app_ack_seq = rsm->r_start + (rsm->r_end - rsm->r_start); > - rack->r_ctl.cleared_app_ack = 1; > if (rack->r_ctl.rc_app_limited_cnt == 0) > rack->r_ctl.rc_first_appl = NULL; > else > @@ -3649,7 +3490,7 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) > rack->r_ctl.rc_sacklast = NULL; > memset(rsm, 0, sizeof(struct rack_sendmap)); > /* Make sure we are not going to overrun our count limit of 0xff */ > - if ((rack->rc_free_cnt + 1) > RACK_FREE_CNT_MAX) { > + if ((rack->rc_free_cnt + 1) > 0xff) { > rack_free_trim(rack); > } > TAILQ_INSERT_HEAD(&rack->r_ctl.rc_free, rsm, r_tnext); > @@ -3965,8 +3806,6 @@ rack_increase_bw_mul(struct tcp_rack *rack, int timely_says, uint64_t cur_bw, ui > > logged = 0; > > - if (rack->rc_skip_timely) > - return; > if (override) { > /* > * override is passed when we are > @@ -4137,8 +3976,6 @@ rack_decrease_bw_mul(struct tcp_rack *rack, int timely_says, uint32_t rtt, int32 > uint64_t logvar, logvar2, logvar3; > uint32_t logged, new_per, ss_red, ca_red, rec_red, alt, val; > > - if (rack->rc_skip_timely) > - return; > if (rack->rc_gp_incr) { > /* Turn off increment counting */ > rack->rc_gp_incr = 0; > @@ -4340,7 +4177,6 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) > */ > uint32_t segsiz; > > - rack->r_ctl.rc_lower_rtt_us_cts = us_cts; > if (rack->rc_gp_dyn_mul == 0) > return; > > @@ -4367,6 +4203,7 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) > rack->r_ctl.rc_pace_min_segs); > rack->in_probe_rtt = 1; > rack->measure_saw_probe_rtt = 1; > + rack->r_ctl.rc_lower_rtt_us_cts = us_cts; > rack->r_ctl.rc_time_probertt_starts = 0; > rack->r_ctl.rc_entry_gp_rtt = rack->r_ctl.rc_gp_srtt; > if (rack_probertt_use_min_rtt_entry) > @@ -4550,7 +4387,6 @@ static void > rack_check_probe_rtt(struct tcp_rack *rack, uint32_t us_cts) > { > /* Check in on probe-rtt */ > - > if (rack->rc_gp_filled == 0) { > /* We do not do p-rtt unless we have gp measurements */ > return; > @@ -4595,10 +4431,7 @@ no_exit: > if (calc) { > /* Maybe */ > calc *= rack_per_of_gp_probertt_reduce; > - if (calc > rack_per_of_gp_probertt) > - rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_lowthresh; > - else > - rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_probertt - calc; > + rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_probertt - calc; > /* Limit it too */ > if (rack->r_ctl.rack_per_of_gp_probertt < rack_per_of_gp_lowthresh) > rack->r_ctl.rack_per_of_gp_probertt = rack_per_of_gp_lowthresh; > @@ -4639,9 +4472,7 @@ no_exit: > rack_exit_probertt(rack, us_cts); > } > > - } else if ((rack->rc_skip_timely == 0) && > - (TSTMP_GT(us_cts, rack->r_ctl.rc_lower_rtt_us_cts)) && > *** 6977 LINES SKIPPED *** > From nobody Mon Mar 11 21:23:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtqWb6b6Pz5DlMj; Mon, 11 Mar 2024 21:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtqWb5ky2z413C; Mon, 11 Mar 2024 21:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L7Kyc6AA5xx3X9mcAJoRjoTEP6FljAzY/uJnXBwW10k=; b=Kpvz8zTDB9lV5ei3TDGFjzYYD9EMliF0kI+Yu17CmTYSde/P+6ga+DoBwlG1R1xz0ZFLRZ HphF9On7IRPKtFE5xi3PthUZFVtJhpE+P6qqRT19EeiiFfeoozel92hfTIV2u/uemIyUtQ 1HXMoRB2PR4JlP9fj7hkBZUWTGMhGV/wHA5C+nCKOBIpI5mS+M6tVw9xAWdluqjo7XrdFW ZwYX5A8GpjCS56grGK3UISF9YhecqkbUidOhsRTDDkFEB4d7WBR3Rzoie6VzmfdUayeivs 08ONtwsLbDeq4ZDORV++thEPOKF0sJ2bG2kaU+uIWZR06i1cP4DPAmIj1sgD7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710192203; a=rsa-sha256; cv=none; b=GePh/hEcu1GvsJnbLbAurlJboz09LZuTmKzZspOZ/pYo7BK0wpKdowRdrrzmeyjhp3/D6Y o2CUZzQT1lwuj8q+UmdHvWwS6OsOQ8bp9MQxtZJGE3BJh8Ow+41Q7GQ4ZOytwakPOWssda oNIYpnP+EHTTZR0hwVIyeSx0d9+0HNmzHHvVanXwyVBO6ncuhk499bvga9Mk6/MdYYkXaU 1C5ImIhLE+4xDvHsDTkV8Z3cPHcmEsu9aLmD1TfQjqVKLyqw1x/uN/v0FYoRi2DybuNORT Dr9DxWRQXYST47HjG+mYGoRuY5+HYd+WL7KBWvvl2gW1LNrqpeTseH5lDs9nbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L7Kyc6AA5xx3X9mcAJoRjoTEP6FljAzY/uJnXBwW10k=; b=ChrpXQ/F5BjZBwlePmQHrK+BI/RJ0LGvsNB/f9eBQwMxj4wOF6s1CLwIqPAGi2d65zH155 T1yDw0Fwk1RYhgDQ3x/0Cr84f6ptivhU4bbZu6VGW3ZzgOSmzhUW+gkE1cfFAiKDa2TLUP QVryoBCljF243cDctigUCYUewpfEcDyblzJU5MXwqbpvtH/hpaNG9IZ+Sg4iFAKFoeDHCf KiIUHm8uEbNados7WOoV7xcWvPnZ5QMyvuppkFU99o8Eeu40uSIL7QG5X+1o9/mK/eJAyi Djp3rCTVolHZlQSO5909Mla9zKTcDIXMpZ/URy134deVnl+yuXjF96EnOx110A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtqWb51tTzmXC; Mon, 11 Mar 2024 21:23:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BLNNaC025480; Mon, 11 Mar 2024 21:23:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BLNNDg025477; Mon, 11 Mar 2024 21:23:23 GMT (envelope-from git) Date: Mon, 11 Mar 2024 21:23:23 GMT Message-Id: <202403112123.42BLNNDg025477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 3ae18fdfbcaa - main - kboot: Create function for error checking. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ae18fdfbcaad827defdc217386e73c993beeba0 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3ae18fdfbcaad827defdc217386e73c993beeba0 commit 3ae18fdfbcaad827defdc217386e73c993beeba0 Author: Warner Losh AuthorDate: 2024-03-11 20:15:03 +0000 Commit: Warner Losh CommitDate: 2024-03-11 21:21:51 +0000 kboot: Create function for error checking. Linux has the convention of returning -ERRNO to flag errors from its system calls. Sometimes other negative values are returned that are success... However, only values -1 to -4096 (inclusive) are really errors. The rest are either truncated values that only look negative (so use long instead of int), or are things like addresses or legal unsigned file offsets or similar that are successful returns. Filter out the latter. Sponsored by: Netflix --- stand/kboot/include/host_syscall.h | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/stand/kboot/include/host_syscall.h b/stand/kboot/include/host_syscall.h index fd3b7a0f362b..68106093ce1f 100644 --- a/stand/kboot/include/host_syscall.h +++ b/stand/kboot/include/host_syscall.h @@ -190,20 +190,36 @@ ssize_t host_write(int fd, const void *buf, size_t nbyte); host_mmap(0, size, HOST_PROT_READ | HOST_PROT_WRITE, \ HOST_MAP_PRIVATE | HOST_MAP_ANONYMOUS, -1, 0); +/* + * Since we have to interface with the 'raw' system call, we have to cope with + * Linux's conventions. To run on the most architectures possible, they don't + * return errors through some CPU flag, but instead, return a negative value for + * an error, and a positive one for success. However, there's some issues since + * addresses have to be returned, some of which are also negative, so Linus + * declared that no successful result could be -4096 to 0. This implements + * that quirk so we can check return values easily. + */ +static __inline bool +is_linux_error(long e) +{ + return (e < 0 && e >= -4096); +} + /* * Translate Linux errno to FreeBSD errno. The two system have idenitcal errors * for 1-34. After that, they differ. Linux also has errno that don't map * exactly to FreeBSD's errno, plus the Linux errno are arch dependent > * 34. Since we just need to do this for simple cases, use the simple mapping * function where -1 to -34 are translated to 1 to 34 and all others are EINVAL. - * Pass the linux return value, which will be the -errno. + * Pass the linux return value, which will be the -errno. Linux returns these + * values as a 'long' which has to align to CPU register size, so accept that + * size as the error so the assert can catch more values. */ static __inline int -host_to_stand_errno(int e) +host_to_stand_errno(long e) { - assert(e < 0); + assert(is_linux_error(e)); return((-e) > 34 ? EINVAL : (-e)); } - #endif From nobody Mon Mar 11 21:23:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtqWd041Jz5DlHp; Mon, 11 Mar 2024 21:23:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtqWc66F0z41PH; Mon, 11 Mar 2024 21:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MdEELzIMXpUVb7gsmXc1Ce11t8PDhdhwErscbM/ZjZE=; b=UXeM2sExIYdm40C0OLTdVnQN3llT4nWftS0z3URPq42f3mVt1npvNaHNDIczMI1I3Loaat jXTFx6OChMRmnDF20w8bDlY3wQrqOyAbh873CuVzahgGW+cF/pRRZz9NzQt/MlcELmadeN M1CTRWnXG8FaIUyfeISqBqfo7Y9PgWdrw98aK11N9fM/TXV4J6ewO/4FZRqHxCin8ztrbI /CNehnI+Xjs7kxGKNJioVq5Z2YbuZFTDvt5OBFpDMrJFbrWaQgnPXmGe1G44rcQq6gNmtQ qyZV1EpzJG1YaJZ01xBFUsuNerhJbsecY9QojY5aIehAXtTjlGkDDD4FxYYcRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710192204; a=rsa-sha256; cv=none; b=wcHh9kwU2wm4+7gRvRt0Q5lnAfo95qQR2A+lsDvADiilSUlW4FM6aDUg478nxOV1xwZ8YW 02U7ibNR0HViGFihpyPgKBfe55AiJTl4RTdLY57Z/qcbtKMQPiKVnNMxgPYhutp1YapK1v ilsyIOLmqckkXTbh9osSvFiRBEr8arGW6+popjywUQSeFxAm3ZVdJgSsqkiLmMJhqbmWOs +0KRHLox+jjJeWHglOb7FmwMrJN8P2DsHWON8McDU13AMqTIDomB7thZnAZ93Kr5ZUdc49 SYxTG0SblZ+S+G4wwtbNx3qRIBe6od7dBnMHhwZlFjH16l/DbkZbtk9uuLUccQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MdEELzIMXpUVb7gsmXc1Ce11t8PDhdhwErscbM/ZjZE=; b=kzFk8iGkFq45rgLN3UH/xy7GMTf6N63UIOxvgedIcRupMZgEgUYuF2Z8TxwjFVlBeuMvOG 9j5Wo11sb3nLumJv8QfVjQnyJf3JegPDLDEd28nS60Fh1BPTQIBud3qCM2QN77BT6nQdna qVpxgWQyBAwrWFhLSgYSbeC7CfewVa6uF6fbNtO6EFGrpuGIXN2iW2+ozbabdUgcei+Gd3 4xIiAsFBVnItX1IZ7gmB6hAIgWYA4fNL9NpjlwsntBMAyE2c1uKqSfR2ZGf6q70kjLqSeg nTCJr29U6toE9sviXA0taJ8VkGhLjO6aXjTMM8uv3eGnIvGhEL/8RW7FyALg9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtqWc5jkXzlql; Mon, 11 Mar 2024 21:23:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BLNOxA025527; Mon, 11 Mar 2024 21:23:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BLNOFi025524; Mon, 11 Mar 2024 21:23:24 GMT (envelope-from git) Date: Mon, 11 Mar 2024 21:23:24 GMT Message-Id: <202403112123.42BLNOFi025524@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 8b1925f29c54 - main - kboot: Avoid UB in signed shift List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b1925f29c54f5791db3c8dcdf2b67541bb8ab32 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b1925f29c54f5791db3c8dcdf2b67541bb8ab32 commit 8b1925f29c54f5791db3c8dcdf2b67541bb8ab32 Author: Warner Losh AuthorDate: 2024-03-11 20:15:10 +0000 Commit: Warner Losh CommitDate: 2024-03-11 21:21:51 +0000 kboot: Avoid UB in signed shift offset is signed. Copy it to the unsigned res before shifting. This avoids any possible undefined behavior for right shifting signed numbers. No functional change intended (and the code generated is the nearly same for aarch64). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44285 --- stand/kboot/kboot/hostfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stand/kboot/kboot/hostfs.c b/stand/kboot/kboot/hostfs.c index 02afa885d833..7c0600fc35a0 100644 --- a/stand/kboot/kboot/hostfs.c +++ b/stand/kboot/kboot/hostfs.c @@ -133,8 +133,9 @@ hostfs_seek(struct open_file *f, off_t offset, int whence) * from V7 later ISO-C). Also assumes we have to support powerpc still, * it's interface is weird for legacy reasons.... */ - offl = offset & 0xffffffff; - offh = (offset >> 32) & 0xffffffff; + res = (uint64_t)offset; + offl = res & 0xfffffffful; + offh = (res >> 32) & 0xfffffffful; err = host_llseek(hf->hf_fd, offh, offl, &res, whence); if (err < 0) return (err); From nobody Mon Mar 11 21:23:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtqWf1ghPz5Dl70; Mon, 11 Mar 2024 21:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtqWd74CVz41RY; Mon, 11 Mar 2024 21:23:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6SwwY58pNv/P0YEuSyeAwo7fUXnLUGC3xdIbXLXmRiE=; b=csnBfIedYI7M+13UIq3jAU/73Vup+3Hi+Ij6QP4WZj6r8NE6xE4/53MOfjguj2G+j8tDg7 xZxL4gspQnbWWg/rlJ98GRjPhVw75vYUqoHjk9b6ksoYYeVaRjq+e3XNF+Sv63kOhoD7BE utKk6gTLCXDnfiYLP/slMUs5wDN/0ggwT9bZ8UyOnAGf541OHRUE8nKLd+M8a95236BO26 rMZh5/pkFu5STGuRsnB28lBEt9rUaLEOBPzdaTGccLB53C88PS4ycQ628SOashDULhpqPu 2LtUhXGzV/ZB0MAfKEuLNJaJU06R/APkJOI81yrJs5g8yegA2DTMKU95NYSFGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710192206; a=rsa-sha256; cv=none; b=TeRKCUd2N2vNLnw0XF0boU+MPICFHV0M/PBknjb5mY8sg1GoY53CHC0CcoNBeDVB1e9xO3 8ia08FHYJUdyRIpmdNMuWC/n1BMBTFghL4/ZXGf2UVvZDAzd+LUXidmZmQhAfUscpUGEj9 /LbEH0TiUofKiqPJrrqcjXRSUZ89yrOG7/dDfhSzd3CPHeUGE1ItNFrhFr+rD9KzPmf9ce ofnBzOVh3RlttQWlwmp2YTT75YTVvfpXN9SWsyYCvJIllID1Tn5QBPU3mBuPlFwrMXJ6rC z3VbYmcMbVz8ZKK/BDcxabeHXvNGkjgrEmu6w2vNKIrw1FOlx9SflBE/FqSj0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6SwwY58pNv/P0YEuSyeAwo7fUXnLUGC3xdIbXLXmRiE=; b=x9kjdgejp97a/NqVHRrYi+89FVr53f0W6vWoMyTI5AmL61kfAS6S0g4JWvjnE+HRbi7kkU MDDDNL5V3cCan9Mr7/XsVFjPFovSP1ysQNGY/B8CzmgJndKVycBD7kZewq/8H3erPPHRo+ KGLWP0q+Thi4j1lE52RtRmWc8wB98gc2QVfhcUmU+N0iKR3xCdAO9f1njjX0rEGz5oEetj DG3VNm3KNkDSxQdKYS70zqlzBlBm6XQekntgHD/sQTSwIs1DyZFDvJ0Ib9BvVJuMFJnD46 NsYShOrLpPohD7tM/yaShubiUF6+mCSxUlpq9R3WnfMZQEVwKlnFWAgxwt1mCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtqWd6gKtzmZZ; Mon, 11 Mar 2024 21:23:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BLNPQi025578; Mon, 11 Mar 2024 21:23:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BLNPOq025575; Mon, 11 Mar 2024 21:23:25 GMT (envelope-from git) Date: Mon, 11 Mar 2024 21:23:25 GMT Message-Id: <202403112123.42BLNPOq025575@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d650c3efb638 - main - kboot: hostfs -- check for llseek failure correctly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d650c3efb638f1b2742429a5fb8e7c087839868b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d650c3efb638f1b2742429a5fb8e7c087839868b commit d650c3efb638f1b2742429a5fb8e7c087839868b Author: Warner Losh AuthorDate: 2024-03-11 20:15:24 +0000 Commit: Warner Losh CommitDate: 2024-03-11 21:21:51 +0000 kboot: hostfs -- check for llseek failure correctly The host_* syscalls are all raw Linux system calls, not the POSIX wrappers that glibc / musl create. So we have to ranage change the return value of host_llseek correctly to use the negative value hack that all Linux system calls use. This fixes a false positive error detection when we do something like lseek(fd, 0xf1234567, ...); This returns 0xf1234567, which is a negative value which used to trigger the error path. Instead, we check using the is_linux_error() and store the return value in a long. Translate that errno to a host errno and set the global errno to that and return -1. lseek can't otherwise return a negative number, since it's the offset after seeking into the file, which by definition is positive. This kept the 'read the UEFI memory map out of physical memory' from working on aarch64 (whose boot loader falls back to reading it since there are restrictive kernel options that can also prevent it), since the physical address the memory map was at on my platform was like 0xfa008018. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44286 --- stand/kboot/kboot/hostfs.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/stand/kboot/kboot/hostfs.c b/stand/kboot/kboot/hostfs.c index 7c0600fc35a0..cfd3476b3c84 100644 --- a/stand/kboot/kboot/hostfs.c +++ b/stand/kboot/kboot/hostfs.c @@ -124,7 +124,7 @@ hostfs_seek(struct open_file *f, off_t offset, int whence) { hostfs_file *hf = f->f_fsdata; uint32_t offl, offh; - int err; + long err; uint64_t res; /* @@ -137,8 +137,15 @@ hostfs_seek(struct open_file *f, off_t offset, int whence) offl = res & 0xfffffffful; offh = (res >> 32) & 0xfffffffful; err = host_llseek(hf->hf_fd, offh, offl, &res, whence); - if (err < 0) - return (err); + /* + * Since we're interfacing to the raw linux system call, we have to + * carefully check. We have to translate the errno value from the host + * to libsa's conventions. + */ + if (is_linux_error(err)) { + errno = host_to_stand_errno(err); + return (-1); + } return (res); } From nobody Mon Mar 11 21:23:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtqWg2kPrz5Dl1p; Mon, 11 Mar 2024 21:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtqWg0xkJz41Rl; Mon, 11 Mar 2024 21:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0CrnF2pZB9OXXxtH+RonzgxUyHyxr5nFevjih+fwfV8=; b=ebF4fJOXpnG9FdOwaBpjIqudm7DXbhUTfpXcp/VtBRZtOnCzrEmraVdSVxS1aaq4BC8Mml tQGEojyXdqF1IYyN8uduFHWr+6EYSXQ+6HPVBkcx6QE8+aFAHyGnUrS7ihsob5MoIOfbSY lq96rpv4i0hwC49nY4JXGNHQWfxQcsMUlOxpIsfIT4tzn+IHYTZRal3MgDtlkEsKZFeWqH vwgtTf1WKXAWgViZfJgneS8xw8H1/Xe2ZG/vhMNE6GrSTH/CFI4RWa2J/MZlc6L2i/vbW7 844lpA3SQMr0FFJ1B1oE2OSgrNxMviVmVC+zeC+n/CKsccbORXp7sfZ3/sRfsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710192207; a=rsa-sha256; cv=none; b=BTlr1tywjROT+cegLVEr7dh5XDq8j1R9Nv5OpDGWFODMOSxmwTXa+mcayEzYhbJnKRbvd6 1ONr4KUmvtjm4FMOAmV56XIG5EfpmyJSFdpZHe6FlVzI1sdYD40oacpruR/FHzI13vuU59 BLqTyWtAErRNwe6aa1rUepiXeNHBXhwmpnqkw+nRy8bw/u96hZWYRZy0fDiJ9JCt3gNk5u X1Pa8QgSdCmN2lb++nhDoB+jlVhRPesFrYz/vITfMFwxfSCHFD3uSez983KXVBfvlXP1Ow di6mRF/Q14vboIjhLRURVO5MP15x1QtCj2oqpTLadPl69smcSRhIrdG3323vHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0CrnF2pZB9OXXxtH+RonzgxUyHyxr5nFevjih+fwfV8=; b=ZbAiuFHL9RkgjkXBXq5emHiZXvpBqBDhw2YPYfaPL4448rjLJF7MJCJqNgT11y5VLTFzPX kHncmQLW7zLq3VHyGpRBYYq4VJwu2OZ74BWA685xPuL7FFxt0hJsF7yUPMQmsalma7wVt3 IysTrvy7ywBbJj3DL8DSW7oXWFueh2/mrdAySX5veBaTvUeGnXxiPJwIj44sMbn36dvOF8 jDU4lsA1cIXvkvxfi+utK94qcZfCINKEdTiBcW6dtlKClNXje+QqoGdZruiy36TjSQDmsw 9boBs5wrBZbbnV6BIIc5f2BKSWbKzKpREClaTsIo0Y913CYdn/3HhUUznrVKnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtqWg0Xwwzlqm; Mon, 11 Mar 2024 21:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BLNQwc025620; Mon, 11 Mar 2024 21:23:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BLNQKo025617; Mon, 11 Mar 2024 21:23:26 GMT (envelope-from git) Date: Mon, 11 Mar 2024 21:23:26 GMT Message-Id: <202403112123.42BLNQKo025617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a9cd3b675e24 - main - kboot: Print UEFI memory map List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9cd3b675e243648aa681bc6ce1bf3e788be88c8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a9cd3b675e243648aa681bc6ce1bf3e788be88c8 commit a9cd3b675e243648aa681bc6ce1bf3e788be88c8 Author: Warner Losh AuthorDate: 2024-03-11 20:15:34 +0000 Commit: Warner Losh CommitDate: 2024-03-11 21:21:52 +0000 kboot: Print UEFI memory map If we can read the UEFI memory map, go ahead and print the memory map. While the kernel prints this with bootverbose, having it at this stage is useful for debugging other problems. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44287 --- stand/kboot/kboot/arch/aarch64/load_addr.c | 85 ++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/stand/kboot/kboot/arch/aarch64/load_addr.c b/stand/kboot/kboot/arch/aarch64/load_addr.c index 4cbbd5192f5b..8ea3516a5cff 100644 --- a/stand/kboot/kboot/arch/aarch64/load_addr.c +++ b/stand/kboot/kboot/arch/aarch64/load_addr.c @@ -23,6 +23,87 @@ uint32_t efi_map_size; vm_paddr_t efi_map_phys_src; /* From DTB */ vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ +typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); + +static void +foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp) +{ + struct efi_md *map, *p; + size_t efisz; + int ndesc, i; + + /* + * Memory map data provided by UEFI via the GetMemoryMap + * Boot Services API. + */ + efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf; + map = (struct efi_md *)((uint8_t *)efihdr + efisz); + + if (efihdr->descriptor_size == 0) + return; + ndesc = efihdr->memory_size / efihdr->descriptor_size; + + for (i = 0, p = map; i < ndesc; i++, + p = efi_next_descriptor(p, efihdr->descriptor_size)) { + cb(p, argp); + } +} + +static void +print_efi_map_entry(struct efi_md *p, void *argp __unused) +{ + const char *type; + static const char *types[] = { + "Reserved", + "LoaderCode", + "LoaderData", + "BootServicesCode", + "BootServicesData", + "RuntimeServicesCode", + "RuntimeServicesData", + "ConventionalMemory", + "UnusableMemory", + "ACPIReclaimMemory", + "ACPIMemoryNVS", + "MemoryMappedIO", + "MemoryMappedIOPortSpace", + "PalCode", + "PersistentMemory" + }; + + if (p->md_type < nitems(types)) + type = types[p->md_type]; + else + type = ""; + printf("%23s %012lx %012lx %08lx ", type, p->md_phys, + p->md_virt, p->md_pages); + if (p->md_attr & EFI_MD_ATTR_UC) + printf("UC "); + if (p->md_attr & EFI_MD_ATTR_WC) + printf("WC "); + if (p->md_attr & EFI_MD_ATTR_WT) + printf("WT "); + if (p->md_attr & EFI_MD_ATTR_WB) + printf("WB "); + if (p->md_attr & EFI_MD_ATTR_UCE) + printf("UCE "); + if (p->md_attr & EFI_MD_ATTR_WP) + printf("WP "); + if (p->md_attr & EFI_MD_ATTR_RP) + printf("RP "); + if (p->md_attr & EFI_MD_ATTR_XP) + printf("XP "); + if (p->md_attr & EFI_MD_ATTR_NV) + printf("NV "); + if (p->md_attr & EFI_MD_ATTR_MORE_RELIABLE) + printf("MORE_RELIABLE "); + if (p->md_attr & EFI_MD_ATTR_RO) + printf("RO "); + if (p->md_attr & EFI_MD_ATTR_RT) + printf("RUNTIME"); + printf("\n"); +} + static bool do_memory_from_fdt(int fd) { @@ -130,6 +211,10 @@ do_memory_from_fdt(int fd) printf("Read UEFI mem map from physmem\n"); efi_map_phys_src = 0; /* Mark MODINFOMD_EFI_MAP as valid */ close(fd2); + printf("UEFI MAP:\n"); + printf("%23s %12s %12s %8s %4s\n", + "Type", "Physical", "Virtual", "#Pages", "Attr"); + foreach_efi_map_entry(efihdr, print_efi_map_entry, NULL); return true; /* OK, we really have the memory map */ no_read: From nobody Mon Mar 11 21:23:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtqWh3bM9z5Dl1t; Mon, 11 Mar 2024 21:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtqWh1ZTRz415q; Mon, 11 Mar 2024 21:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8qo+09UDvcFEM7X4znxj6BUQUpBKBLYceMu03DJI12A=; b=vUZVGMPIioa9X4/Mw5ui8vN/UArt32uvKEcTBhhweH86K//2Lm55s4oIGV3/d+YNwLgQ8i RgAikF7KFCagTzimANXBS2K2N2PqUzwqE16t2MVJ0jYaPWk+aHfRMdjPonfGbXMPFdxdBQ V1ZQOJM5aGUNIgo/fC0QQovaPNivs6jQNNd3HkwlRlatG1tt+bNLCYJKvZ6oEyqRJGBny7 lhEmOyjK2vJhxQ+yqbAbymGnNFjg8TYIKbCjrzCm1ql9TfadYL4RTaL6xoyAcQu7NdFGRg OvZQ2ayvRrsuGuP4RXEBTv6IbAacqq9YjEzgcW60tTtQ6iAkjfDp+kQhSFi1hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710192208; a=rsa-sha256; cv=none; b=iZbxWJrNjTJ7vjZWmc3CkouqREzm1V61z2MArkn8u/IvHOWPjYbj2/miXd1JKAygNMrMrY 4OiwgJP9g2lwIl+PtNimHSLpbERetDrT9RXNnGmZqtHj3Pk39JrZVZ2CJgelzIgYoQpQLa 6VQq/2Gj/sq0NF8JJau2OU4DTpodW3G1PfelJGZ87QMeS0JKR5DVh+ggrG4i+sPJeHLemn jSmhhk+GmqRaoMl8BESzbwYtpnTlHsQKlyKvKB9w2GTe3zzOsHR4iNI4ALBFirpmwWozi/ en0KQ/3T3D3SAm07yQFs9t1EGlNMCAONPLGW9uqfc7wTgidX+IGcIt5Zv2Tsyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8qo+09UDvcFEM7X4znxj6BUQUpBKBLYceMu03DJI12A=; b=daVZd1wTVK6IzB6sbAG+h6fEMfMpqzCoNBzZslO3rb64dY0jM46RBQpc09egRzGw2T+Fvv upVwU+yKTQFx6K9Bd3UKBNRUdWOACx3cn3Okh8YtJHgEeBikmq25GqoodzwYnoV0U4Lx8x JBGWfrtcf+dq5HJtSb3lby56+cwXmtR9RVvzLUlPtXf/1DINce9jkSoo2oOfsllxQ5elrP REQ1rGQdYnP/af9OUlDB4Vi3ZzDsmuuKOBYOdw2orDTbVl6TYbgnfqPIO6JwkafvzAXSEc WdyjereQ83iqCRZ0Zy9TcS9G9C9H9k1S+7GHlSAaa3EjM+I0TWFmqeL2i5NdeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtqWh1BKLzmLR; Mon, 11 Mar 2024 21:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BLNSMS025671; Mon, 11 Mar 2024 21:23:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BLNSrH025668; Mon, 11 Mar 2024 21:23:28 GMT (envelope-from git) Date: Mon, 11 Mar 2024 21:23:28 GMT Message-Id: <202403112123.42BLNSrH025668@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d75524b3fe21 - main - kboot: Use is_linux_error to check mmap return error List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d75524b3fe21752b233f66ae8e9d6450d507f75c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d75524b3fe21752b233f66ae8e9d6450d507f75c commit d75524b3fe21752b233f66ae8e9d6450d507f75c Author: Warner Losh AuthorDate: 2024-03-11 20:15:39 +0000 Commit: Warner Losh CommitDate: 2024-03-11 21:21:52 +0000 kboot: Use is_linux_error to check mmap return error Rather than checking against the (incorrect) -511, use the is_linux_error() function to check to see if host_mmap failed. Sponsored by: Netflix --- stand/kboot/kboot/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/kboot/kboot/main.c b/stand/kboot/kboot/main.c index c397e573fc75..e57446baa47d 100644 --- a/stand/kboot/kboot/main.c +++ b/stand/kboot/kboot/main.c @@ -232,7 +232,7 @@ caddr_t ptov(uintptr_t pa) * the raw system call we have to do that ourselves. */ va = host_mmap(0, PAGE, HOST_PROT_READ, HOST_MAP_SHARED, smbios_fd, pa2); - if ((intptr_t)va < 0 && (intptr_t)va >= -511) + if (is_linux_error((long)va)) panic("smbios mmap offset %#jx failed", (uintmax_t)pa2); m = &map[nmap++]; m->pa = pa2; From nobody Mon Mar 11 21:23:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtqWj5k7Vz5DlFC; Mon, 11 Mar 2024 21:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtqWj311xz41QF; Mon, 11 Mar 2024 21:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bpx44nnydK3F8rAx2pq7mtCglq2zGNsizL8SmBaJ8y8=; b=GqU541Lg2L14wBnKQ5L946RP57r3pNdaiKtqckndcUYo+elDo8L9f7z1S7JjDDPuxEeEsr whBR25ZYow35ezSOy54FmTb9nywnxEjIvGBOMeruvVzmZPBEZkwW0TG9uOOpjAbLzUZiZm 7oAHuc0uXKws4faAEtYXQQ+EnCKAjAqkVZYyc9ItVFQESD/lNLiDZGuKXPKQ2wR4hM7XOe qoXsDHNijAxrmOqTFfkRd+Ja9dzd9Fu6bkj0aEjUIeH+A92VhTKYOBPbT/5gBGq8WQxVOq n7gq91DAu4hnkh+4Cf1IYcNW4218peMe3ylkpMSvtSDKQSTCb9gZtwxdCr4y3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710192209; a=rsa-sha256; cv=none; b=Kso6k1q0k+ABZuuESYNBJTwIFZ5wl70BNtU4PWO0ZJ5MGCGO1/+xAcYODGiYpuRndkNXkO HZb1ieejLh3FouO/AkWZSM9zPNZHUpzAGs4jmbhjKI0w91cMKEjUoYov9sHnNEtqU9hFKT gzRjAruZtX+vY/HTQ8D4vyLIyaC7XCVXFyVIehLmwc251ReBdF5i7tL6/Trlel+1flVdiJ WDu/pqEtcBRScn3TM8/Cxpkb2leyR+M23LETdpNtvL+Lv7zFf6SLoUIxcDTdtOJN0knDxk /Zt8HSUDvdYzbcYAGwKxRtxMXV6hWzklga/zaFAivTTjM6l0akwRk3ADYONBJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710192209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bpx44nnydK3F8rAx2pq7mtCglq2zGNsizL8SmBaJ8y8=; b=KDja19wwOf4X7ayIOatlUlrYYuMXtdSIdJhas1iymOGhJbnm5VsyNsWzlzxhnMiAyPR8yk RtL945RH3j/HeF49AkLvWFBemmNYizG07/bfT0xgaXHL5mSohDcrd0iuTwelkJL3k+jyeA A1FKdi3E4mSYhgKc0vzFYmETkulfJzwAbgZBP+Av4XMifDFJkjnCOeWK5F4FUndbpv0YEc 5MEkiiEy62BZ/IxegI/ROqUhqEFq8mz65g5ouQ8sKeN/rOxywcgGmiPF5WGR6EId03fbZm IhyUjnq+ft1bc1hZXfp1HMndiTVfEm2PqaE+xUCI469WQEOCKrbWtw1mPspleA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtqWj26TLzmWK; Mon, 11 Mar 2024 21:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42BLNTvv025720; Mon, 11 Mar 2024 21:23:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42BLNTLf025717; Mon, 11 Mar 2024 21:23:29 GMT (envelope-from git) Date: Mon, 11 Mar 2024 21:23:29 GMT Message-Id: <202403112123.42BLNTLf025717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 462af7676b3e - main - kboot: kbootfdt: fix error handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 462af7676b3ee8a8bd9ee9b55a35c0cf815a351f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=462af7676b3ee8a8bd9ee9b55a35c0cf815a351f commit 462af7676b3ee8a8bd9ee9b55a35c0cf815a351f Author: Warner Losh AuthorDate: 2024-03-11 20:15:44 +0000 Commit: Warner Losh CommitDate: 2024-03-11 21:21:52 +0000 kboot: kbootfdt: fix error handling If we are able to open /sys/firmware/fdt, but aren't able to read it, fall back to /proc/device-tree. Remove comment that's not really true, it turns out. Sponsored by: Netflix --- stand/kboot/kboot/kbootfdt.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/stand/kboot/kboot/kbootfdt.c b/stand/kboot/kboot/kbootfdt.c index 70844820d345..e4c378423585 100644 --- a/stand/kboot/kboot/kbootfdt.c +++ b/stand/kboot/kboot/kbootfdt.c @@ -91,22 +91,21 @@ fdt_platform_load_dtb(void) { void *buffer; size_t buflen = 409600; - int fd; + int fd, err = 0; /* * Should load /sys/firmware/fdt if it exists, otherwise we walk the * tree from /proc/device-tree. The former is much easier than the * latter and also the newer interface. But as long as we support the - * PS3 boot, we'll need the latter due to that kernel's age. It likely - * would be better to script the decision between the two, but that - * turns out to be tricky... + * PS3 boot, we'll need the latter due to that kernel's age. */ buffer = malloc(buflen); fd = host_open("/sys/firmware/fdt", O_RDONLY, 0); - if (fd != -1) { - buflen = host_read(fd, buffer, buflen); + if (fd >= 0) { + err = host_read(fd, buffer, buflen); close(fd); - } else { + } + if (fd < 0 || err < 0) { fdt_create_empty_tree(buffer, buflen); add_node_to_fdt(buffer, "/proc/device-tree", fdt_path_offset(buffer, "/")); From nobody Tue Mar 12 01:00:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TtwKd1KMtz5Csgj; Tue, 12 Mar 2024 01:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TtwKd0g4sz4QZj; Tue, 12 Mar 2024 01:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710205205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aeRyif73frr3JdZc+oHBSCVmKc/0pG3prxLhkdiNDfk=; b=nHpdjnazgaA/jdBMRHjGAnnlna3Ar4TJ+RZuIxzHbCVi7lCalGZfw7Tn6GavMRCSUppBwN bEh6uBZc5Npldef3jFS//FODX5lLErOUnlYDuSCd2se2t3CfmeSOt3K2rNMm4i95/heaAU zqftEEI65HyjCQvrtqZf8wHHeVz3mVanxD21mVn7aBGuYaiNxGVfQhpdW/m8HcVO77fJ+5 UeTQuN1B2d4vKW2bTwAeIrg6UU28H8gapKFJaBjn8M0Ny6vqtDNq0PMj05Nxl+H/53gwUj uLxfOH9J6ZxfwWXOcAGBCCkIhICQXILPpFehMn4iZMk+S8ao1c09Ijvh4HFAYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710205205; a=rsa-sha256; cv=none; b=s4qss5lgQickN03ihdXIB/KAa5Ys7L5zK+qEeHurb1R1Jo5MjtSNB6HVDyqcMq8uVcIdEp NXnDBzgvUfJI5z3+dQVx82siIEfzD5rQ00okmPHRaPXwpBPB6zroRD1GVsJ3B6145+n8K4 +1ev50HC807u4s886B33LrcQWBwFJLJAZarsz+TNEphn+O9xLfDfNRDGqdq7fC2hrcIlpI 4YNvBVMuqiimxO2bfyfs+vzEWruEUnWXWLlRRhLlO7eMzyTtYgYaz9lBR5SuFp0us6yoY6 50NefPU1uvHrRp2sqFDfUc8dDcgcAWPUzZQqKHV+iRxhH9vG2djoD+KAQNpFPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710205205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aeRyif73frr3JdZc+oHBSCVmKc/0pG3prxLhkdiNDfk=; b=ACAt3hD3K6AbvDjDZop05VkuZ7dxD1M63tRV0p1cdL7e4teaWT+7lK4CeRM8H3vcRh25he uWrKkwmi+T5VDAGNQT0Uajm25bgZ3sc59WVOLRGzMXf/62ZMlYdPCMs7r3petN22sifHzF HmtYnxGDB0zkn3jZrDYJXJ83DClJ0+qPQek9K0fZR7ikQFlaDmkPOC/7Ofk9yHHBa6bIMm 0yqGtcf9HKPVPyGwZZr7kKqAiFdya+fzpRfJJKPV+ugLCS8PHKyRld558hD3Gu2V0XNjfv D1rFl4n5to8jLu8q1rEYZgAsBTjWlwVFROZbZfZRMacpyDZieIzdBDUGC+qgtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TtwKd0DQ7zsTf; Tue, 12 Mar 2024 01:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42C104DA085415; Tue, 12 Mar 2024 01:00:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42C104UN085409; Tue, 12 Mar 2024 01:00:04 GMT (envelope-from git) Date: Tue, 12 Mar 2024 01:00:04 GMT Message-Id: <202403120100.42C104UN085409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 7b133b34f8e8 - main - vmm: fix standalone module build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b133b34f8e8508838c3ce334a632715efc2f547 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=7b133b34f8e8508838c3ce334a632715efc2f547 commit 7b133b34f8e8508838c3ce334a632715efc2f547 Author: Gleb Smirnoff AuthorDate: 2024-03-12 00:59:03 +0000 Commit: Gleb Smirnoff CommitDate: 2024-03-12 00:59:03 +0000 vmm: fix standalone module build --- sys/modules/vmm/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile index a67797276bae..075e594c4da1 100644 --- a/sys/modules/vmm/Makefile +++ b/sys/modules/vmm/Makefile @@ -3,7 +3,8 @@ KMOD= vmm -SRCS= opt_acpi.h opt_ddb.h device_if.h bus_if.h pci_if.h pcib_if.h acpi_if.h +SRCS= opt_acpi.h opt_bhyve_snapshot.h opt_ddb.h \ + acpi_if.h bus_if.h device_if.h pci_if.h pcib_if.h vnode_if.h CFLAGS+= -DVMM_KEEP_STATS CFLAGS+= -I${SRCTOP}/sys/${MACHINE}/vmm From nobody Tue Mar 12 04:19:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tv0lz6JBCz5DC9J; Tue, 12 Mar 2024 04:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tv0lz5ll0z4hwH; Tue, 12 Mar 2024 04:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710217183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mX7X/bOlGB+E4PA7pTOzaw3QWwlKtIGdROqpCji49oU=; b=v7gPpZp6ct5AqMYhZAYDgmez0YtCQN7LHETw8/jrobfZJMlIU/WLxM0z86Htw+QweMdfAg qRKnVIHqJBmI07IwDte17JHkeFCzu3EQmbU8qNDltRmoQ8GiTyJQY+PUIf9PVyntLQOnQm t1UlbcqYJ3Kh42T9nz375HLK5e5x9jxqiskpXcE3lUt8a2/JLB0U4KFFC8SgHlBFM4INqb kj5wFIBkmW/fPRXcZq51FQlznyF8BFOpiUx6ossvJw9t9/5KA3ekBK2GxRUa1+JdoSc3Ge X9YIFN5gbVrpe5rrT+RI3/RH0GdYXf+aYxis37kNrTCD8J+e4rTzdZTsk77g1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710217183; a=rsa-sha256; cv=none; b=s+kp4Q34fWu75q+xI4BUDd0v7CDvh+mjeO4M43o6ArfARzkpfQVFGl4mh3LeSvq0KcX6cM TlQ5HvV3Ob0/XWhWh0nomKik35F6aek0OoAcAs4ax41hZgRsTUhNway9GV3GxxbTYuVtgm Lg1u0x3XRn+NP4z3XQkJEuFxZ0jU3rgpsaSvpyQJgVI4nB8osL3dBBtxA7VOA45oVf+ur4 6hUtETOFDQECARPQocGR9yFuY79OZ0OqgBVSCfTJvlYOiE+rWwn1PshNm08ILsbN72b9Q6 WlrKk09k5UQWJF9Oc9GlC5pGgKpeohuQ4eueAEMTlJq5EyQDViMH/nzaUdIUwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710217183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mX7X/bOlGB+E4PA7pTOzaw3QWwlKtIGdROqpCji49oU=; b=p2J2CIyowTcKjEmpfcLMpXi5rXirXnlWHsRoMWZukoxycdZuEbUstaeF5P0VlxFeX7jLfX FIOpPh1MZbO3rwNxZrOgsqH0YyGgg/hOhiUfVABOikNC/1x3y8TAJsuwASbidBwmSO/1Wc ET6S/In4DbaAtSmgCLtctL+HPGgVRQ2bheynO6c7E7uQEl9n4COIKDEZ7U7l8v3UTPk6fV Ub0M89Ml2MZVnSe/+NGvhyaZTztKqdJe19PRakiYOANHQ9ZB2N8SZyM0cm0mUMUnHg0IKh XjS2y2C58ufR2XBDHHCEaiG9aATs1Q07sM1FFeSK8QN4KXp4YRhOARLEY4eM+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tv0lz5Lmxzysp; Tue, 12 Mar 2024 04:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42C4Jhmg022279; Tue, 12 Mar 2024 04:19:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42C4JhvU022276; Tue, 12 Mar 2024 04:19:43 GMT (envelope-from git) Date: Tue, 12 Mar 2024 04:19:43 GMT Message-Id: <202403120419.42C4JhvU022276@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a34940a9756a - main - timezone: Move to the XSI/POSIX definition for timezone. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a34940a9756ac8edce36fec176949ee82e9235b4 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a34940a9756ac8edce36fec176949ee82e9235b4 commit a34940a9756ac8edce36fec176949ee82e9235b4 Author: Warner Losh AuthorDate: 2024-03-12 04:19:05 +0000 Commit: Warner Losh CommitDate: 2024-03-12 04:19:31 +0000 timezone: Move to the XSI/POSIX definition for timezone. The old timezone(3) function has long since been obsolete and has a fatally flawed interface. Retain this function for compatibility purposes, but shift to providing the offset from UTC in the timezone variable, whether or not the timezone observes summer time in the 'daylight' variable. Document the tzname variable that's already been set. Also make _tztab() static. It's not used in libc (or anywhere in the tree) and it's not exported as a public dynamic symbol. Sponsored by: Netflix Reviewed by: brooks, kib Differential Revision: https://reviews.freebsd.org/D44281 --- contrib/tzcode/tzconfig.h | 2 +- include/time.h | 3 ++- lib/libc/gen/Makefile.inc | 3 ++- lib/libc/gen/Symbol.map | 1 - lib/libc/gen/timezone.3 | 66 --------------------------------------------- lib/libc/gen/timezone.c | 7 ++--- lib/libc/gen/tzset.3 | 23 +++++++++++++++- lib/libc/stdtime/Symbol.map | 5 ++++ 8 files changed, 36 insertions(+), 74 deletions(-) diff --git a/contrib/tzcode/tzconfig.h b/contrib/tzcode/tzconfig.h index 730043b36526..c692d06953a2 100644 --- a/contrib/tzcode/tzconfig.h +++ b/contrib/tzcode/tzconfig.h @@ -13,7 +13,7 @@ #define NETBSD_INSPIRED 0 #define STD_INSPIRED 1 #define HAVE_TZNAME 2 -#define USG_COMPAT 0 +#define USG_COMPAT 2 #define ALTZONE 0 #endif /* !TZCONFIG_H_INCLUDED */ diff --git a/include/time.h b/include/time.h index 0ba685426f82..defad96907bf 100644 --- a/include/time.h +++ b/include/time.h @@ -162,10 +162,11 @@ struct tm *localtime_r(const time_t *, struct tm *); #if __XSI_VISIBLE char *strptime(const char * __restrict, const char * __restrict, struct tm * __restrict); +extern long timezone; +extern int daylight; #endif #if __BSD_VISIBLE -char *timezone(int, int); /* XXX XSI conflict */ time_t timelocal(struct tm * const); time_t timegm(struct tm * const); int timer_oshandle_np(timer_t timerid); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 3a8b4e57420a..9c79cd589395 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -307,7 +307,6 @@ MAN+= alarm.3 \ times.3 \ timespec_get.3 \ timespec_getres.3 \ - timezone.3 \ ttyname.3 \ tzset.3 \ ualarm.3 \ @@ -535,6 +534,8 @@ MLINKS+=tcsetattr.3 cfgetispeed.3 \ tcsetattr.3 tcgetattr.3 MLINKS+=ttyname.3 isatty.3 \ ttyname.3 ttyname_r.3 +MLINKS+=tzset.3 daylight.3 \ + tzset.3 timezone.3 MLINKS+=unvis.3 strunvis.3 \ unvis.3 strunvisx.3 MLINKS+=vis.3 nvis.3 \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 0c58411168af..43d9c36c789e 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -261,7 +261,6 @@ FBSD_1.0 { setlogmask; ttyname_r; ttyname; - timezone; times; time; telldir; diff --git a/lib/libc/gen/timezone.3 b/lib/libc/gen/timezone.3 deleted file mode 100644 index e469f18346bf..000000000000 --- a/lib/libc/gen/timezone.3 +++ /dev/null @@ -1,66 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd April 19, 1994 -.Dt TIMEZONE 3 -.Os -.Sh NAME -.Nm timezone -.Nd return the timezone abbreviation -.Sh LIBRARY -.Lb libc -.Sh SYNOPSIS -.Ft char * -.Fn timezone "int zone" "int dst" -.Sh DESCRIPTION -.Bf Sy -This interface is for compatibility only; it is impossible to reliably -map timezone's arguments to a time zone abbreviation. -See -.Xr ctime 3 . -.Ef -.Pp -The -.Fn timezone -function returns a pointer to a time zone abbreviation for the specified -.Fa zone -and -.Fa dst -values. -The -.Fa zone -argument -is the number of minutes west of GMT and -.Fa dst -is non-zero if daylight savings time is in effect. -.Sh SEE ALSO -.Xr ctime 3 -.Sh HISTORY -A -.Fn timezone -function appeared in -.At v7 . diff --git a/lib/libc/gen/timezone.c b/lib/libc/gen/timezone.c index 1adc9aa1e988..2809067eb8d8 100644 --- a/lib/libc/gen/timezone.c +++ b/lib/libc/gen/timezone.c @@ -36,7 +36,7 @@ #include #define TZ_MAX_CHARS 255 -char *_tztab(int, int); +static char *_tztab(int, int); /* * timezone -- @@ -49,7 +49,7 @@ char *_tztab(int, int); static char czone[TZ_MAX_CHARS]; /* space for zone name */ char * -timezone(int zone, int dst) +__timezone_compat(int zone, int dst) { char *beg, *end; @@ -68,6 +68,7 @@ timezone(int zone, int dst) } return(_tztab(zone,dst)); /* default: table or created zone */ } +__sym_compat(timezone, __timezone_compat, FBSD_1.0); static struct zone { int offset; @@ -99,7 +100,7 @@ static struct zone { * aren't in place in /etc. DO NOT USE THIS ROUTINE OUTSIDE OF THE * STANDARD LIBRARY. */ -char * +static char * _tztab(int zone, int dst) { struct zone *zp; diff --git a/lib/libc/gen/tzset.3 b/lib/libc/gen/tzset.3 index 1207818d4057..94ccbec9aba7 100644 --- a/lib/libc/gen/tzset.3 +++ b/lib/libc/gen/tzset.3 @@ -28,16 +28,22 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 6, 2023 +.Dd December 25, 2023 .Dt TZSET 3 .Os .Sh NAME +.Nm daylight , +.Nm timezone , +.Nm tzname , .Nm tzset .Nd initialize time conversion information .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In time.h +.Vt extern int daylight ; +.Vt extern long timezone ; +.Vt extern char *tzname[2] ; .Ft void .Fn tzset void .Sh DESCRIPTION @@ -93,6 +99,21 @@ environment variable does not specify a file and cannot be interpreted as a direct specification, .Tn UTC is used. +.Pp +After the first call to +.Nm tzset , +the +.Vt timezone +variable is set to the difference, in seconds, between Coordinated Universal +Time (UTC) and the local time. +The +.Vt daylight +variable is set to 0 if the local timezone is observing standard time. +It is set to 1 if the local timezone ever observes an alternate time, such as summer time. +The first element of the +.Vt tzname +array is the timezone name of standard time, while the second element is the +name of the altnerative time zone. .Sh SPECIFICATION FORMAT When .Ev TZ diff --git a/lib/libc/stdtime/Symbol.map b/lib/libc/stdtime/Symbol.map index 0dca02903a1a..669d4d47907b 100644 --- a/lib/libc/stdtime/Symbol.map +++ b/lib/libc/stdtime/Symbol.map @@ -30,3 +30,8 @@ FBSD_1.0 { asctime_r; asctime; }; + +FBSD_1.8 { + daylight; + timezone; +}; From nobody Tue Mar 12 04:19:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tv0m10WBPz5DCLX; Tue, 12 Mar 2024 04:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tv0m06rYzz4hyW; Tue, 12 Mar 2024 04:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710217185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3CQ8tpROTbhlrgexx8xkmZ4fyPICtRks/cf9DBVS0u0=; b=W0YJQe47t3OzpoMXEKKjG+CnEN2zxE1Ru3s9ibyzbVaLknzxJpSi/cB7HOOPXLYCcLpcxC oCsYdZxZ9xNe3IzDWLKlF5EQObp7MkHywovEUOb7l44qkNywVnkxI4FmfILaSUzglPyXsJ Zxv3j3GbQpAg3EU/S3mLnp/0rBBxzq5x5YA5i+4fNcuqOwG9yz9LFdt/v6C/RG4o2YHP2e rAvZDD9PqKHVg/odhTVuZ/ffe9JyxKCuiTK24A6j8hjZXhkobUXFcjTXXn1Ml9VbSkQb0t JIeE9U0GkkOcuhrg1Z9p+qJh4fA6WhTLvfzOY0koSdjE1CM7p/dZQsf7nLNyYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710217185; a=rsa-sha256; cv=none; b=suXbkF5cwaop7PXBA/gnBC8PYTxdyME+cX3O8xdE7cWOgtzOBl+9C83X1ahvmS7F8x6Ewe mAX7yNQCvvqfkphrm9gDiZBOtcAi3PHq96uXDJ8VqKgvA1C+/C4ElzyCBX4aZC/mA+m3ON hsZHD54Y+JlJ6LuSYWvSSXnNtaIhjUBVK/SPwpUqyVXUjXXX7Znm113+bMXDyLTodjK1lG LRK4RfVHkWnIUIXpr3l06cLzdls+mN2GNGw2e6dRWaRY+/yVtPOEyMn2HzNi1JuQf9oW9i 23OgQHUO4KJ3Z2dn7ksmKu8QzRZLiB3kvDxyDSCfPs4UCnU1sP9zuAmFUKMoig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710217185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3CQ8tpROTbhlrgexx8xkmZ4fyPICtRks/cf9DBVS0u0=; b=ZWxTDqINarSLSN7UxAoBFjDl+RAsBh/SNY86k0CtOJD4xfRQyTInU5PEnbilYqjUp+YBOw dEwn/RaSNXQAPojPYcg1H3GUoINAFYh7Ez+pnEyTRlVoQQWJ4D4ucCc4dHnN2XUvcAFMXh o1oMpN11c3424k07YWxqjNOtFUvj311rnkCqMlOApIpDiBLUnak//6duHvviXtg5KFMyzL 0wN5nGtjyIaH58EGPtlpd/cmuAMiymTOuWzAn1AekPqtHFdt/wdi9kGfx0oVNTtuo+jgvC /V1lLqjcsMHqArTMGeJOfn0rBR8ZBnHGppu0SU9tM67lJugLAi/XGmeIQ+36Cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tv0m06KbKzylQ; Tue, 12 Mar 2024 04:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42C4Ji2f022321; Tue, 12 Mar 2024 04:19:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42C4JiWR022318; Tue, 12 Mar 2024 04:19:44 GMT (envelope-from git) Date: Tue, 12 Mar 2024 04:19:44 GMT Message-Id: <202403120419.42C4JiWR022318@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7a0a6b276cfd - main - libc: Move tzset.3 to stdtime List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7a0a6b276cfd7e072346842fe4746d08ee30e617 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7a0a6b276cfd7e072346842fe4746d08ee30e617 commit 7a0a6b276cfd7e072346842fe4746d08ee30e617 Author: Warner Losh AuthorDate: 2024-03-12 04:19:15 +0000 Commit: Warner Losh CommitDate: 2024-03-12 04:19:31 +0000 libc: Move tzset.3 to stdtime This really belongs in stddime, since it documents interfaces implemented in stdtime. Suggested by: brooks Sponsored by: Netflix --- lib/libc/gen/Makefile.inc | 3 --- lib/libc/stdtime/Makefile.inc | 4 +++- lib/libc/{gen => stdtime}/tzset.3 | 0 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 9c79cd589395..2f034e7d476a 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -308,7 +308,6 @@ MAN+= alarm.3 \ timespec_get.3 \ timespec_getres.3 \ ttyname.3 \ - tzset.3 \ ualarm.3 \ ucontext.3 \ ulimit.3 \ @@ -534,8 +533,6 @@ MLINKS+=tcsetattr.3 cfgetispeed.3 \ tcsetattr.3 tcgetattr.3 MLINKS+=ttyname.3 isatty.3 \ ttyname.3 ttyname_r.3 -MLINKS+=tzset.3 daylight.3 \ - tzset.3 timezone.3 MLINKS+=unvis.3 strunvis.3 \ unvis.3 strunvisx.3 MLINKS+=vis.3 nvis.3 \ diff --git a/lib/libc/stdtime/Makefile.inc b/lib/libc/stdtime/Makefile.inc index 07ca69aab4c5..5d0ce7765b63 100644 --- a/lib/libc/stdtime/Makefile.inc +++ b/lib/libc/stdtime/Makefile.inc @@ -20,7 +20,7 @@ CFLAGS.localtime.c+= -DALL_STATE -DTHREAD_SAFE CFLAGS.localtime.c+= -DDETECT_TZ_CHANGES .endif -MAN+= ctime.3 strftime.3 strptime.3 time2posix.3 +MAN+= ctime.3 strftime.3 strptime.3 time2posix.3 tzset.3 MAN+= tzfile.5 MLINKS+=ctime.3 asctime.3 ctime.3 difftime.3 ctime.3 gmtime.3 \ @@ -30,3 +30,5 @@ MLINKS+=ctime.3 asctime.3 ctime.3 difftime.3 ctime.3 gmtime.3 \ MLINKS+=strftime.3 strftime_l.3 MLINKS+=strptime.3 strptime_l.3 MLINKS+=time2posix.3 posix2time.3 +MLINKS+=tzset.3 daylight.3 \ + tzset.3 timezone.3 diff --git a/lib/libc/gen/tzset.3 b/lib/libc/stdtime/tzset.3 similarity index 100% rename from lib/libc/gen/tzset.3 rename to lib/libc/stdtime/tzset.3 From nobody Tue Mar 12 10:08:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tv8V61hCVz5DXBL; Tue, 12 Mar 2024 10:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tv8V61DjQz4K4S; Tue, 12 Mar 2024 10:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710238094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+du4xYwOBCrJKJ+9gdNgJVPtnQkUky5Pi0J5/yBMWys=; b=d71q6v4uLG4yfJ0BeAVovDEryEP9WN3eU+yV6qWmbXoOJeO45v2mk4wUqDKJNqBj29vJ9C xmhoCV9v3dcSz7kTQH2lDM/6rt6Y7Rz55b6I2RFNtDSus3QFzQBZmpr0TtJAYyN4+Uffxm RydTbbnqMqXW2Bz+nh11sgB+0xOjLZ0HZ7V6ex1yOSaF84df0EbJuzQ6Qlk/PNOgnHlepO NRsGmp6bt1zVEVVsYr8tjvPi84NniK61KdDMlOuit4Nq99RiQS1JiMsDLmPEcjsdpfGo64 1IzahCSrgHjAImiRTLx21xKFdgivUJsYr3Nn8goMmW3dwLi4AAsYPcDuxImkAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710238094; a=rsa-sha256; cv=none; b=D6u0MnJINQgSGwj3LVSrqtndk2IBBrCrot4bKG8hYc92hdwp/xNL1ZUbtSBmyK2TxeDme/ 8Qdu4R/39KqovsASdn7US7e+PogogkZKYsz3CiyGkho9DEM+gb4Tkwb9AAAT7jUnT9kZ/J Z2bszgK4NxswR/Ax9/S2JSw8QmCSEiFfO8eR5Kio5JKJRvyPy8LH+uRKbyvTRcIu90qQeS Xa4URtioj0SUnzMQbOKyYREHDSWPublYWfHq54/2B0rOkFJcjTlJI+UfNKJRLwsaLPwCpd JaPMOEsj89zAou9qBipm1ECvGzigR/F0Z+98DltvyMrgJMh7qwlFntWVPWVYRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710238094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+du4xYwOBCrJKJ+9gdNgJVPtnQkUky5Pi0J5/yBMWys=; b=jlmuhGtTZ/WuubLP/4f24xa9hYPjGiD18fKTM1IBBQDkgG8WpMme6VFL4hO5VddKiBvsc3 5iasrvy1JQAEz0x4SX0xXJovNao+jRmMocw6ageVerY8vc2eLK56t5mBBI6IAfFEL8pwPi Wk6ov+wE9Xi4lWjNe55MvnWaiKLDH/PrH6csZ9jNfnhgvdAqGI9Xx6QERrbt8Hjhs7+3NG KUMhXJkfvZNWrl0sgPKehiW8bRIuq/0wzrys/0BAxYKUZnWjHwz+EZDhq1PdMxVztOmVOk tqpxrTn2+4SlHmLDxEaApDegAuYXQYpxjRVrez4Owqi071oNswJng+LLv+o1mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tv8V60nKqz18mb; Tue, 12 Mar 2024 10:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CA8EFg011496; Tue, 12 Mar 2024 10:08:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CA8ElU011493; Tue, 12 Mar 2024 10:08:14 GMT (envelope-from git) Date: Tue, 12 Mar 2024 10:08:14 GMT Message-Id: <202403121008.42CA8ElU011493@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Sumit Saxena Subject: git: 835b12a5f9c5 - main - mrsas: don't reference the removed physical disk of RAID1 during IO submission List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ssaxena X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 835b12a5f9c5dfaec3bcd9446369fdad995ee538 Auto-Submitted: auto-generated The branch main has been updated by ssaxena: URL: https://cgit.FreeBSD.org/src/commit/?id=835b12a5f9c5dfaec3bcd9446369fdad995ee538 commit 835b12a5f9c5dfaec3bcd9446369fdad995ee538 Author: Sumit Saxena AuthorDate: 2024-03-12 06:51:09 +0000 Commit: Sumit Saxena CommitDate: 2024-03-12 09:51:48 +0000 mrsas: don't reference the removed physical disk of RAID1 during IO submission When a physical disk(PD) [belonging to a RAID1 Virtual disk(VD)] is removed, driver may still use the reference to the removed PD while submitting IO to the controller. Controller firmware faults upon receipt of such IO. This patch fixes this issue by not using any reference to the removed PD. Reviewed by: imp Approved by: imp Sponsored by: Broadcom Inc Differential Revision: https://reviews.freebsd.org/D44282 --- sys/dev/mrsas/mrsas_fp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/mrsas/mrsas_fp.c b/sys/dev/mrsas/mrsas_fp.c index 9fdb24cc0569..c08558e78b46 100644 --- a/sys/dev/mrsas/mrsas_fp.c +++ b/sys/dev/mrsas/mrsas_fp.c @@ -964,7 +964,8 @@ mr_spanset_get_phy_params(struct mrsas_softc *sc, u_int32_t ld, u_int64_t stripR raid->regTypeReqOnRead != REGION_TYPE_UNUSED))) pRAID_Context->regLockFlags = REGION_TYPE_EXCLUSIVE; else if (raid->level == 1) { - pd = MR_ArPdGet(arRef, physArm + 1, map); + physArm++; + pd = MR_ArPdGet(arRef, physArm, map); if (pd != MR_PD_INVALID) { *pDevHandle = MR_PdDevHandleGet(pd, map); *pPdInterface = MR_PdInterfaceTypeGet(pd, map); @@ -1711,7 +1712,8 @@ MR_GetPhyParams(struct mrsas_softc *sc, u_int32_t ld, pRAID_Context->regLockFlags = REGION_TYPE_EXCLUSIVE; else if (raid->level == 1) { /* Get Alternate Pd. */ - pd = MR_ArPdGet(arRef, physArm + 1, map); + physArm++; + pd = MR_ArPdGet(arRef, physArm, map); if (pd != MR_PD_INVALID) { /* Get dev handle from Pd. */ *pDevHandle = MR_PdDevHandleGet(pd, map); From nobody Tue Mar 12 11:56:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvBvN1QqJz5Dhx5; Tue, 12 Mar 2024 11:56:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvBvN1BPjz4Tym; Tue, 12 Mar 2024 11:56:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710244608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B9UeDM6EHSSzWQmAmUD6MobtfJZDo1VJXmsAy4MQjHA=; b=bOdSWzqm2vd1puu3kGTLn2/NAx+Znyk6kMHyLD2Q6Gs+TjAQt4041iYqwfvOTNhtwT2vhj xA3kDCeQd9FXpXWD2tcH7g9PtvOuBviDOYvKYhErDI7osrF52xdiShgSBK3Mx/ha54jKi4 Uxxuht4V04ROy4rKRHllNhpL9pg8QqvUgjyGvz1CK3nrYdhndI/jXLYNnSnsLrUyf6K8W/ IJb2U4sE99YW4mAK8K8EURJ5Gj0XeN7r3wgzHTVoPLjm9TKTh+6Ff9THQTKto5qowBMpOP 7HDc0A/Jfc0x7RJA28UJfMYSrTushM8yqOsTtBv1+bEp5Lp2P0v+EMzHsiZ6vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710244608; a=rsa-sha256; cv=none; b=jo2WHrluLDPQXI+akOcagbhEeawP27SRiJK8Z3SidlhUkUtFgqbJnCqGV7EVUbSPF8snyG H83fTMFvRtosTZ2haAiaQMt/vZ7T5EWZGaQQY+WFQv6HARmZPS7tT84sfPYgvCDP8TJEvW 05IcTr9h/xy110JK8ZJQ1b46M9nkuHvru6CRWGybKs9kkL1NfNbcnjbLPrV5qp7TJ4N9Pe IwGBANVQ9MC+ZbpRp+K946xYbBid4YIoxI/6GmOEgAKdka8I20fDWID6gycUnH1Gz1Rr4F He9TIfPN0CcX/cfzF4ka5RJO75gvDfrNyG2lQlIrierOkI1aloE+e0/V/ZZnKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710244608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B9UeDM6EHSSzWQmAmUD6MobtfJZDo1VJXmsAy4MQjHA=; b=i+p7zNYOrhxU8UQ8g5O9jo7jp4ScankctGtu3AYMA2lkXuCZZiwddEU8RO+7E0BdSV++zg ti7lDzhE9Ws9IIwzuydN7gnKMq6NPiCNVV2AIl1h+LRPsSdlq8gVptZmHlM0rEOcCxJ0PL fG6yZabzRG6fBF81HG6UcjxmUE8HIUx/IwoK8hGTZERa6uyhwfcT45rMCVOBlv84gdkN+g Cmvdt2GvYUJAiqkqags4QGL/rvkt2KL9JwdE2tFlGHedCDs8hJxCDRO/LUoGbpxcP5TTqk C6Ds5HViP5lJuCt3IdvB94iiYxU4p/K5RKmV7aRfaioOlBeMv+t3tr93jzk8SA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvBvN0nL5z1C6x; Tue, 12 Mar 2024 11:56:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CBuma2095821; Tue, 12 Mar 2024 11:56:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CBulX6095818; Tue, 12 Mar 2024 11:56:47 GMT (envelope-from git) Date: Tue, 12 Mar 2024 11:56:47 GMT Message-Id: <202403121156.42CBulX6095818@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Randall Stewart Subject: git: e18b97bd63a8 - main - Update to bring the rack stack with all its fixes in. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rrs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e18b97bd63a8112625f7014d2326ecf533b710dd Auto-Submitted: auto-generated The branch main has been updated by rrs: URL: https://cgit.FreeBSD.org/src/commit/?id=e18b97bd63a8112625f7014d2326ecf533b710dd commit e18b97bd63a8112625f7014d2326ecf533b710dd Author: Randall Stewart AuthorDate: 2024-03-12 11:55:02 +0000 Commit: Randall Stewart CommitDate: 2024-03-12 11:55:02 +0000 Update to bring the rack stack with all its fixes in. This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal with the changes that have been in hpts for a while i.e. only one call no matter if mbuf queue or tcp_output. It basically does little except BBlogs and is a placemark for future work on doing path capacity measurements. With a bit of a struggle with git I finally got rack_pcm.c into place (apologies for not noticing this error). The LINT kernel is running on my box now .. sigh. Reviewed by: tuexen, glebius Sponsored by: Netflix Inc. Differential Revision:https://reviews.freebsd.org/D43986 --- sys/conf/files | 1 + sys/modules/tcp/rack/Makefile | 2 +- sys/netinet/tcp.h | 38 +- sys/netinet/tcp_log_buf.h | 9 +- sys/netinet/tcp_stacks/bbr.c | 4 +- sys/netinet/tcp_stacks/rack.c | 4443 +++++++++++++++++++++++++--------- sys/netinet/tcp_stacks/rack_pcm.c | 332 +++ sys/netinet/tcp_stacks/sack_filter.h | 5 + sys/netinet/tcp_stacks/tailq_hash.c | 33 +- sys/netinet/tcp_stacks/tailq_hash.h | 8 +- sys/netinet/tcp_stacks/tcp_rack.h | 135 +- sys/netinet/tcp_subr.c | 57 +- sys/netinet/tcp_syncache.c | 5 +- sys/netinet/tcp_usrreq.c | 7 + sys/netinet/tcp_var.h | 12 +- 15 files changed, 3920 insertions(+), 1171 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index e57c82238380..c902bcfdbd52 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4374,6 +4374,7 @@ netinet/tcp_stacks/rack.c optional inet tcphpts tcp_rack | inet6 tcphpts tcp_rac netinet/tcp_stacks/rack_bbr_common.c optional inet tcphpts tcp_bbr | inet tcphpts tcp_rack | inet6 tcphpts tcp_bbr | inet6 tcphpts tcp_rack netinet/tcp_stacks/sack_filter.c optional inet tcphpts tcp_bbr | inet tcphpts tcp_rack | inet6 tcphpts tcp_bbr | inet6 tcphpts tcp_rack netinet/tcp_stacks/tailq_hash.c optional inet tcphpts tcp_bbr | inet tcphpts tcp_rack | inet6 tcphpts tcp_bbr | inet6 tcphpts tcp_rack +netinet/tcp_stacks/rack_pcm.c optional inet tcphpts tcp_rack | inet6 tcphpts tcp_rack netinet/tcp_stats.c optional stats inet | stats inet6 netinet/tcp_subr.c optional inet | inet6 netinet/tcp_syncache.c optional inet | inet6 diff --git a/sys/modules/tcp/rack/Makefile b/sys/modules/tcp/rack/Makefile index c5bb20602337..d5f3ba170f68 100644 --- a/sys/modules/tcp/rack/Makefile +++ b/sys/modules/tcp/rack/Makefile @@ -5,7 +5,7 @@ STACKNAME= rack KMOD= tcp_${STACKNAME} -SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c +SRCS= rack.c sack_filter.c rack_bbr_common.c tailq_hash.c rack_pcm.c SRCS+= opt_inet.h opt_inet6.h opt_ipsec.h SRCS+= opt_kern_tls.h diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index f9e561f6ce35..a8259fa30a3a 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -334,9 +334,22 @@ __tcp_set_flags(struct tcphdr *th, uint16_t flags) #define TCP_RACK_PACING_DIVISOR 1146 /* Pacing divisor given to rate-limit code for burst sizing */ #define TCP_RACK_PACE_MIN_SEG 1147 /* Pacing min seg size rack will use */ #define TCP_RACK_DGP_IN_REC 1148 /* Do we use full DGP in recovery? */ -#define TCP_RXT_CLAMP 1149 /* Do we apply a threshold to rack so if excess rxt clamp cwnd? */ +#define TCP_POLICER_DETECT 1149 /* Do we apply a thresholds to rack to detect and compensate for policers? */ +#define TCP_RXT_CLAMP TCP_POLICER_DETECT #define TCP_HYBRID_PACING 1150 /* Hybrid pacing enablement */ #define TCP_PACING_DND 1151 /* When pacing with rr_config=3 can sacks disturb us */ +#define TCP_SS_EEXIT 1152 /* Do we do early exit from slowtart if no b/w growth */ +#define TCP_DGP_UPPER_BOUNDS 1153 /* SS and CA upper bound in percentage */ +#define TCP_NO_TIMELY 1154 /* Disable/enable Timely */ +#define TCP_HONOR_HPTS_MIN 1155 /* Do we honor hpts min to */ +#define TCP_REC_IS_DYN 1156 /* Do we allow timely to change recovery multiplier? */ +#define TCP_SIDECHAN_DIS 1157 /* Disable/enable the side-channel */ +#define TCP_FILLCW_RATE_CAP 1158 /* Set a cap for DGP's fillcw */ +#define TCP_POLICER_MSS 1159 /* Policer MSS requirement */ +#define TCP_STACK_SPEC_INFO 1160 /* Get stack specific information (if present) */ +#define RACK_CSPR_IS_FCC 1161 +#define TCP_GP_USE_LTBW 1162 /* how we use lt_bw 0=not, 1=min, 2=max */ + /* Start of reserved space for third-party user-settable options. */ #define TCP_VENDOR SO_VENDOR @@ -447,6 +460,7 @@ struct tcp_info { u_int32_t tcpi_rcv_adv; /* Peer advertised window */ u_int32_t tcpi_dupacks; /* Consecutive dup ACKs recvd */ + u_int32_t tcpi_rttmin; /* Min observed RTT */ /* Padding to grow without breaking ABI. */ u_int32_t __tcpi_pad[14]; /* Padding. */ }; @@ -463,6 +477,20 @@ struct tcp_fastopen { #define TCP_FUNCTION_NAME_LEN_MAX 32 +struct stack_specific_info { + char stack_name[TCP_FUNCTION_NAME_LEN_MAX]; + uint64_t policer_last_bw; /* Only valid if detection enabled and policer detected */ + uint64_t bytes_transmitted; + uint64_t bytes_retransmitted; + uint32_t policer_detection_enabled: 1, + policer_detected : 1, /* transport thinks a policer is on path */ + highly_buffered : 1, /* transport considers the path highly buffered */ + spare : 29; + uint32_t policer_bucket_size; /* Only valid if detection enabled and policer detected */ + uint32_t current_round; + uint32_t _rack_i_pad[18]; +}; + struct tcp_function_set { char function_set_name[TCP_FUNCTION_NAME_LEN_MAX]; uint32_t pcbcnt; @@ -488,6 +516,7 @@ struct tcp_snd_req { uint64_t start; uint64_t end; uint32_t flags; + uint32_t playout_ms; }; union tcp_log_userdata { @@ -518,9 +547,12 @@ struct tcp_log_user { #define TCP_HYBRID_PACING_H_MS 0x0008 /* A client hint for maxseg is present */ #define TCP_HYBRID_PACING_ENABLE 0x0010 /* We are enabling hybrid pacing else disable */ #define TCP_HYBRID_PACING_S_MSS 0x0020 /* Clent wants us to set the mss overriding gp est in CU */ -#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tellsus we set the mss on this entry */ +#define TCP_HAS_PLAYOUT_MS 0x0040 /* The client included the chunk playout milliseconds: deprecate */ +/* the below are internal only flags */ +#define TCP_HYBRID_PACING_USER_MASK 0x0FFF /* Non-internal flags mask */ +#define TCP_HYBRID_PACING_SETMSS 0x1000 /* Internal flag that tells us we set the mss on this entry */ #define TCP_HYBRID_PACING_WASSET 0x2000 /* We init to this to know if a hybrid command was issued */ - +#define TCP_HYBRID_PACING_SENDTIME 0x4000 /* Duplicate tm to last, use sendtime for catch up mode */ struct tcp_hybrid_req { struct tcp_snd_req req; diff --git a/sys/netinet/tcp_log_buf.h b/sys/netinet/tcp_log_buf.h index 1f5b7cf9b54f..2e91d9cbdf3c 100644 --- a/sys/netinet/tcp_log_buf.h +++ b/sys/netinet/tcp_log_buf.h @@ -267,7 +267,9 @@ enum tcp_log_events { TCP_RACK_TP_TRIGGERED, /* A rack tracepoint is triggered 68 */ TCP_HYBRID_PACING_LOG, /* Hybrid pacing log 69 */ TCP_LOG_PRU, /* TCP protocol user request 70 */ - TCP_LOG_END /* End (keep at end) 71 */ + TCP_POLICER_DET, /* TCP Policer detectionn 71 */ + TCP_PCM_MEASURE, /* TCP Path Capacity Measurement 72 */ + TCP_LOG_END /* End (keep at end) 72 */ }; enum tcp_log_states { @@ -371,10 +373,11 @@ struct tcp_log_dev_log_queue { #define TCP_TP_COLLAPSED_RXT 0x00000004 /* When we actually retransmit a collapsed window rsm */ #define TCP_TP_REQ_LOG_FAIL 0x00000005 /* We tried to allocate a Request log but had no space */ #define TCP_TP_RESET_RCV 0x00000006 /* Triggers when we receive a RST */ -#define TCP_TP_EXCESS_RXT 0x00000007 /* When we get excess RXT's clamping the cwnd */ +#define TCP_TP_POLICER_DET 0x00000007 /* When we detect a policer */ +#define TCP_TP_EXCESS_RXT TCP_TP_POLICER_DET /* alias */ #define TCP_TP_SAD_TRIGGERED 0x00000008 /* Sack Attack Detection triggers */ - #define TCP_TP_SAD_SUSPECT 0x0000000a /* A sack has supicious information in it */ +#define TCP_TP_PACED_BOTTOM 0x0000000b /* We have paced at the bottom */ #ifdef _KERNEL diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 931beba7a262..934b35bd22d7 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -11529,7 +11529,9 @@ bbr_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th, bbr_set_pktepoch(bbr, cts, __LINE__); bbr_check_bbr_for_state(bbr, cts, __LINE__, (bbr->r_ctl.rc_lost - lost)); if (nxt_pkt == 0) { - if (bbr->r_wanted_output != 0) { + if ((bbr->r_wanted_output != 0) || + (tp->t_flags & TF_ACKNOW)) { + bbr->rc_output_starts_timer = 0; did_out = 1; if (tcp_output(tp) < 0) diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 49d946dbb63b..1fe07fa8d641 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -142,9 +142,12 @@ VNET_DECLARE(uint32_t, newreno_beta_ecn); #define V_newreno_beta VNET(newreno_beta) #define V_newreno_beta_ecn VNET(newreno_beta_ecn) +#define M_TCPFSB __CONCAT(M_TCPFSB, STACKNAME) +#define M_TCPDO __CONCAT(M_TCPDO, STACKNAME) -MALLOC_DEFINE(M_TCPFSB, "tcp_fsb", "TCP fast send block"); -MALLOC_DEFINE(M_TCPDO, "tcp_do", "TCP deferred options"); +MALLOC_DEFINE(M_TCPFSB, "tcp_fsb_" __XSTRING(STACKNAME), "TCP fast send block"); +MALLOC_DEFINE(M_TCPDO, "tcp_do_" __XSTRING(STACKNAME), "TCP deferred options"); +MALLOC_DEFINE(M_TCPPCM, "tcp_pcm_" __XSTRING(STACKNAME), "TCP PCM measurement information"); struct sysctl_ctx_list rack_sysctl_ctx; struct sysctl_oid *rack_sysctl_root; @@ -190,12 +193,24 @@ static int32_t rack_tlp_use_greater = 1; static int32_t rack_reorder_thresh = 2; static int32_t rack_reorder_fade = 60000000; /* 0 - never fade, def 60,000,000 * - 60 seconds */ -static uint32_t rack_clamp_ss_upper = 110; -static uint32_t rack_clamp_ca_upper = 105; -static uint32_t rack_rxt_min_rnds = 10; /* Min rounds if drastic rxt clamp is in place */ -static uint32_t rack_unclamp_round_thresh = 100; /* number of perfect rounds before we unclamp */ -static uint32_t rack_unclamp_rxt_thresh = 5; /* .5% and under */ -static uint64_t rack_rxt_clamp_thresh = 0; /* Do we do the rxt clamp thing */ +static uint16_t rack_policer_rxt_thresh= 0; /* 499 = 49.9%, 0 is off */ +static uint8_t rack_policer_avg_thresh = 0; /* 3.2 */ +static uint8_t rack_policer_med_thresh = 0; /* 1 - 16 */ +static uint16_t rack_policer_bucket_reserve = 20; /* How much % is reserved in the bucket */ +static uint64_t rack_pol_min_bw = 125000; /* 1mbps in Bytes per sec */ +static uint32_t rack_policer_data_thresh = 64000; /* 64,000 bytes must be sent before we engage */ +static uint32_t rack_policing_do_bw_comp = 1; +static uint32_t rack_pcm_every_n_rounds = 100; +static uint32_t rack_pcm_blast = 0; +static uint32_t rack_pcm_is_enabled = 1; +static uint8_t rack_req_del_mss = 18; /* How many segments need to be sent in a recovery episode to do policer_detection */ +static uint8_t rack_ssthresh_rest_rto_rec = 0; /* Do we restore ssthresh when we have rec -> rto -> rec */ + +static uint32_t rack_gp_gain_req = 1200; /* Amount percent wise required to gain to record a round has "gaining" */ +static uint32_t rack_rnd_cnt_req = 0x10005; /* Default number of rounds if we are below rack_gp_gain_req where we exit ss */ + + +static int32_t rack_rxt_scoreboard_clear_thresh = 2; static int32_t rack_dnd_default = 0; /* For rr_conf = 3, what is the default for dnd */ static int32_t rack_rxt_controls = 0; static int32_t rack_fill_cw_state = 0; @@ -217,9 +232,8 @@ static int32_t rack_do_hystart = 0; static int32_t rack_apply_rtt_with_reduced_conf = 0; static int32_t rack_hibeta_setting = 0; static int32_t rack_default_pacing_divisor = 250; -static int32_t rack_uses_full_dgp_in_rec = 1; static uint16_t rack_pacing_min_seg = 0; - +static int32_t rack_timely_off = 0; static uint32_t sad_seg_size_per = 800; /* 80.0 % */ static int32_t rack_pkt_delay = 1000; @@ -235,7 +249,7 @@ static int32_t rack_use_rsm_rfo = 1; static int32_t rack_max_abc_post_recovery = 2; static int32_t rack_client_low_buf = 0; static int32_t rack_dsack_std_based = 0x3; /* bit field bit 1 sets rc_rack_tmr_std_based and bit 2 sets rc_rack_use_dsack */ -static int32_t rack_bw_multipler = 2; /* Limit on fill cw's jump up to be this x gp_est */ +static int32_t rack_bw_multipler = 0; /* Limit on fill cw's jump up to be this x gp_est */ #ifdef TCP_ACCOUNTING static int32_t rack_tcp_accounting = 0; #endif @@ -247,8 +261,9 @@ static int32_t use_rack_rr = 1; static int32_t rack_non_rxt_use_cr = 0; /* does a non-rxt in recovery use the configured rate (ss/ca)? */ static int32_t rack_persist_min = 250000; /* 250usec */ static int32_t rack_persist_max = 2000000; /* 2 Second in usec's */ +static int32_t rack_honors_hpts_min_to = 1; /* Do we honor the hpts minimum time out for pacing timers */ +static uint32_t rack_max_reduce = 10; /* Percent we can reduce slot by */ static int32_t rack_sack_not_required = 1; /* set to one to allow non-sack to use rack */ -static int32_t rack_default_init_window = 0; /* Use system default */ static int32_t rack_limit_time_with_srtt = 0; static int32_t rack_autosndbuf_inc = 20; /* In percentage form */ static int32_t rack_enobuf_hw_boost_mult = 0; /* How many times the hw rate we boost slot using time_between */ @@ -282,7 +297,6 @@ static int32_t rack_rwnd_block_ends_measure = 0; static int32_t rack_def_profile = 0; static int32_t rack_lower_cwnd_at_tlp = 0; -static int32_t rack_limited_retran = 0; static int32_t rack_always_send_oldest = 0; static int32_t rack_tlp_threshold_use = TLP_USE_TWO_ONE; @@ -356,6 +370,7 @@ static int32_t rack_timely_no_stopping = 0; static int32_t rack_down_raise_thresh = 100; static int32_t rack_req_segs = 1; static uint64_t rack_bw_rate_cap = 0; +static uint64_t rack_fillcw_bw_cap = 3750000; /* Cap fillcw at 30Mbps */ /* Rack specific counters */ @@ -377,6 +392,7 @@ counter_u64_t rack_tlp_retran; counter_u64_t rack_tlp_retran_bytes; counter_u64_t rack_to_tot; counter_u64_t rack_hot_alloc; +counter_u64_t tcp_policer_detected; counter_u64_t rack_to_alloc; counter_u64_t rack_to_alloc_hard; counter_u64_t rack_to_alloc_emerg; @@ -440,7 +456,7 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, static int rack_process_ack(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, - uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val); + uint32_t tiwin, int32_t tlen, int32_t * ofia, int32_t thflags, int32_t * ret_val, int32_t orig_tlen); static int rack_process_data(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, int32_t drop_hdrlen, int32_t tlen, @@ -454,6 +470,8 @@ static struct rack_sendmap *rack_alloc_limit(struct tcp_rack *rack, static struct rack_sendmap * rack_check_recovery_mode(struct tcpcb *tp, uint32_t tsused); +static uint32_t +rack_grab_rtt(struct tcpcb *tp, struct tcp_rack *rack); static void rack_cong_signal(struct tcpcb *tp, uint32_t type, uint32_t ack, int ); @@ -504,13 +522,14 @@ rack_log_ack(struct tcpcb *tp, struct tcpopt *to, static void rack_log_output(struct tcpcb *tp, struct tcpopt *to, int32_t len, uint32_t seq_out, uint16_t th_flags, int32_t err, uint64_t ts, - struct rack_sendmap *hintrsm, uint16_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); + struct rack_sendmap *hintrsm, uint32_t add_flags, struct mbuf *s_mb, uint32_t s_moff, int hw_tls, int segsiz); static uint64_t rack_get_gp_est(struct tcp_rack *rack); + static void rack_log_sack_passed(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm); + struct rack_sendmap *rsm, uint32_t cts); static void rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rsm); static int32_t rack_output(struct tcpcb *tp); @@ -526,10 +545,10 @@ static int32_t rack_stopall(struct tcpcb *tp); static void rack_timer_cancel(struct tcpcb *tp, struct tcp_rack *rack, uint32_t cts, int line); static uint32_t rack_update_entry(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint16_t add_flag, int segsiz); + struct rack_sendmap *rsm, uint64_t ts, int32_t * lenp, uint32_t add_flag, int segsiz); static void rack_update_rsm(struct tcpcb *tp, struct tcp_rack *rack, - struct rack_sendmap *rsm, uint64_t ts, uint16_t add_flag, int segsiz); + struct rack_sendmap *rsm, uint64_t ts, uint32_t add_flag, int segsiz); static int rack_update_rtt(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendmap *rsm, struct tcpopt *to, uint32_t cts, int32_t ack_type, tcp_seq th_ack); @@ -538,6 +557,10 @@ static int rack_do_close_wait(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos); + +static void +rack_peg_rxt(struct tcp_rack *rack, struct rack_sendmap *rsm, uint32_t segsiz); + static int rack_do_closing(struct mbuf *m, struct tcphdr *th, struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, @@ -720,6 +743,22 @@ rack_undo_cc_pacing(struct tcp_rack *rack) rack_swap_beta_values(rack, 4); } +static void +rack_remove_pacing(struct tcp_rack *rack) +{ + if (rack->rc_pacing_cc_set) + rack_undo_cc_pacing(rack); + if (rack->r_ctl.pacing_method & RACK_REG_PACING) + tcp_decrement_paced_conn(); + if (rack->r_ctl.pacing_method & RACK_DGP_PACING) + tcp_dec_dgp_pacing_cnt(); + rack->rc_always_pace = 0; + rack->r_ctl.pacing_method = RACK_PACING_NONE; + rack->dgp_on = 0; + rack->rc_hybrid_mode = 0; + rack->use_fixed_rate = 0; +} + static void rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, uint32_t send_end_t, int line, uint8_t mode, struct rack_sendmap *rsm) @@ -742,6 +781,8 @@ rack_log_gpset(struct tcp_rack *rack, uint32_t seq_end, uint32_t ack_end_t, log.u_bbr.pkts_out = line; log.u_bbr.cwnd_gain = rack->app_limited_needs_set; log.u_bbr.pkt_epoch = rack->r_ctl.rc_app_limited_cnt; + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; if (rsm != NULL) { log.u_bbr.applimited = rsm->r_start; log.u_bbr.delivered = rsm->r_end; @@ -857,6 +898,7 @@ rack_init_sysctls(void) struct sysctl_oid *rack_measure; struct sysctl_oid *rack_probertt; struct sysctl_oid *rack_hw_pacing; + struct sysctl_oid *rack_policing; rack_attack = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -994,11 +1036,36 @@ rack_init_sysctls(void) "pacing", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Pacing related Controls"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "pcm_enabled", CTLFLAG_RW, + &rack_pcm_is_enabled, 1, + "Do we by default do PCM measurements?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "pcm_rnds", CTLFLAG_RW, + &rack_pcm_every_n_rounds, 100, + "How many rounds before we need to do a PCM measurement"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "pcm_blast", CTLFLAG_RW, + &rack_pcm_blast, 0, + "Blast out the full cwnd/rwnd when doing a PCM measurement"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "rnd_gp_gain", CTLFLAG_RW, + &rack_gp_gain_req, 1200, + "How much do we have to increase the GP to record the round 1200 = 120.0"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "dgp_out_of_ss_at", CTLFLAG_RW, + &rack_rnd_cnt_req, 0x10005, + "How many rounds less than rnd_gp_gain will drop us out of SS"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "fulldgpinrec", CTLFLAG_RW, - &rack_uses_full_dgp_in_rec, 1, - "Do we use all DGP features in recovery (fillcw, timely et.al.)?"); + OID_AUTO, "no_timely", CTLFLAG_RW, + &rack_timely_off, 0, + "Do we not use timely in DGP?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "fullbufdisc", CTLFLAG_RW, @@ -1017,13 +1084,13 @@ rack_init_sysctls(void) SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "divisor", CTLFLAG_RW, - &rack_default_pacing_divisor, 4, + &rack_default_pacing_divisor, 250, "What is the default divisor given to the rl code?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "fillcw_max_mult", CTLFLAG_RW, - &rack_bw_multipler, 2, - "What is the multiplier of the current gp_est that fillcw can increase the b/w too?"); + &rack_bw_multipler, 0, + "What is the limit multiplier of the current gp_est that fillcw can increase the b/w too, 200 == 200% (0 = off)?"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "max_pace_over", CTLFLAG_RW, @@ -1039,11 +1106,6 @@ rack_init_sysctls(void) OID_AUTO, "limit_wsrtt", CTLFLAG_RW, &rack_limit_time_with_srtt, 0, "Do we limit pacing time based on srtt"); - SYSCTL_ADD_S32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_pacing), - OID_AUTO, "init_win", CTLFLAG_RW, - &rack_default_init_window, 0, - "Do we have a rack initial window 0 = system default"); SYSCTL_ADD_U16(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_pacing), OID_AUTO, "gp_per_ss", CTLFLAG_RW, @@ -1079,6 +1141,11 @@ rack_init_sysctls(void) OID_AUTO, "rate_cap", CTLFLAG_RW, &rack_bw_rate_cap, 0, "If set we apply this value to the absolute rate cap used by pacing"); + SYSCTL_ADD_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_pacing), + OID_AUTO, "fillcw_cap", CTLFLAG_RW, + &rack_fillcw_bw_cap, 3750000, + "Do we have an absolute cap on the amount of b/w fillcw can specify (0 = no)?"); SYSCTL_ADD_U8(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), OID_AUTO, "req_measure_cnt", CTLFLAG_RW, @@ -1317,11 +1384,6 @@ rack_init_sysctls(void) OID_AUTO, "send_oldest", CTLFLAG_RW, &rack_always_send_oldest, 0, "Should we always send the oldest TLP and RACK-TLP"); - SYSCTL_ADD_S32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_tlp), - OID_AUTO, "rack_tlimit", CTLFLAG_RW, - &rack_limited_retran, 0, - "How many times can a rack timeout drive out sends"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_tlp), OID_AUTO, "tlp_cwnd_flag", CTLFLAG_RW, @@ -1355,6 +1417,26 @@ rack_init_sysctls(void) "timers", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Timer related controls"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "reset_ssth_rec_rto", CTLFLAG_RW, + &rack_ssthresh_rest_rto_rec, 0, + "When doing recovery -> rto -> recovery do we reset SSthresh?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "scoreboard_thresh", CTLFLAG_RW, + &rack_rxt_scoreboard_clear_thresh, 2, + "How many RTO's are allowed before we clear the scoreboard"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "honor_hpts_min", CTLFLAG_RW, + &rack_honors_hpts_min_to, 1, + "Do rack pacing timers honor hpts min timeout"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_timers), + OID_AUTO, "hpts_max_reduce", CTLFLAG_RW, + &rack_max_reduce, 10, + "Max percentage we will reduce slot by for pacing when we are behind"); SYSCTL_ADD_U32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_timers), OID_AUTO, "persmin", CTLFLAG_RW, @@ -1434,11 +1516,6 @@ rack_init_sysctls(void) "features", CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Feature controls"); - SYSCTL_ADD_U64(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_features), - OID_AUTO, "rxt_clamp_thresh", CTLFLAG_RW, - &rack_rxt_clamp_thresh, 0, - "Bit encoded clamping setup bits CCCC CCCCC UUUU UULF PPPP PPPP PPPP PPPP"); SYSCTL_ADD_S32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_features), OID_AUTO, "hybrid_set_maxseg", CTLFLAG_RW, @@ -1474,6 +1551,53 @@ rack_init_sysctls(void) OID_AUTO, "hystartplusplus", CTLFLAG_RW, &rack_do_hystart, 0, "Should RACK enable HyStart++ on connections?"); + /* Policer detection */ + rack_policing = SYSCTL_ADD_NODE(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_sysctl_root), + OID_AUTO, + "policing", + CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "policer detection"); + SYSCTL_ADD_U16(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "rxt_thresh", CTLFLAG_RW, + &rack_policer_rxt_thresh, 0, + "Percentage of retransmits we need to be a possible policer (499 = 49.9 percent)"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "avg_thresh", CTLFLAG_RW, + &rack_policer_avg_thresh, 0, + "What threshold of average retransmits needed to recover a lost packet (1 - 169 aka 21 = 2.1)?"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "med_thresh", CTLFLAG_RW, + &rack_policer_med_thresh, 0, + "What threshold of Median retransmits needed to recover a lost packet (1 - 16)?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "data_thresh", CTLFLAG_RW, + &rack_policer_data_thresh, 64000, + "How many bytes must have gotten through before we can start doing policer detection?"); + SYSCTL_ADD_U32(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "bwcomp", CTLFLAG_RW, + &rack_policing_do_bw_comp, 1, + "Do we raise up low b/w so that at least pace_max_seg can be sent in the srtt?"); + SYSCTL_ADD_U8(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "recmss", CTLFLAG_RW, + &rack_req_del_mss, 18, + "How many MSS must be delivered during recovery to engage policer detection?"); + SYSCTL_ADD_U16(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "res_div", CTLFLAG_RW, + &rack_policer_bucket_reserve, 20, + "What percentage is reserved in the policer bucket?"); + SYSCTL_ADD_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_policing), + OID_AUTO, "min_comp_bw", CTLFLAG_RW, + &rack_pol_min_bw, 125000, + "Do we have a min b/w for b/w compensation (0 = no)?"); /* Misc rack controls */ rack_misc = SYSCTL_ADD_NODE(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_sysctl_root), @@ -1578,31 +1702,8 @@ rack_init_sysctls(void) OID_AUTO, "autoscale", CTLFLAG_RW, &rack_autosndbuf_inc, 20, "What percentage should rack scale up its snd buffer by?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "rnds_for_rxt_clamp", CTLFLAG_RW, - &rack_rxt_min_rnds, 10, - "Number of rounds needed between RTT clamps due to high loss rates"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "rnds_for_unclamp", CTLFLAG_RW, - &rack_unclamp_round_thresh, 100, - "Number of rounds needed with no loss to unclamp"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "rxt_threshs_for_unclamp", CTLFLAG_RW, - &rack_unclamp_rxt_thresh, 5, - "Percentage of retransmits we need to be under to unclamp (5 = .5 percent)\n"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "clamp_ss_upper", CTLFLAG_RW, - &rack_clamp_ss_upper, 110, - "Clamp percentage ceiling in SS?"); - SYSCTL_ADD_U32(&rack_sysctl_ctx, - SYSCTL_CHILDREN(rack_misc), - OID_AUTO, "clamp_ca_upper", CTLFLAG_RW, - &rack_clamp_ca_upper, 110, - "Clamp percentage ceiling in CA?"); + + /* Sack Attacker detection stuff */ SYSCTL_ADD_U32(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_attack), @@ -1779,6 +1880,13 @@ rack_init_sysctls(void) OID_AUTO, "alloc_hot", CTLFLAG_RD, &rack_hot_alloc, "Total allocations from the top of our list"); + tcp_policer_detected = counter_u64_alloc(M_WAITOK); + SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, + SYSCTL_CHILDREN(rack_counters), + OID_AUTO, "policer_detected", CTLFLAG_RD, + &tcp_policer_detected, + "Total policer_detections"); + rack_to_alloc = counter_u64_alloc(M_WAITOK); SYSCTL_ADD_COUNTER_U64(&rack_sysctl_ctx, SYSCTL_CHILDREN(rack_counters), @@ -1957,17 +2065,8 @@ rack_init_sysctls(void) static uint32_t rc_init_window(struct tcp_rack *rack) { - uint32_t win; + return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); - if (rack->rc_init_win == 0) { - /* - * Nothing set by the user, use the system stack - * default. - */ - return (tcp_compute_initwnd(tcp_maxseg(rack->rc_tp))); - } - win = ctf_fixed_maxseg(rack->rc_tp) * rack->rc_init_win; - return (win); } static uint64_t @@ -2071,6 +2170,7 @@ rack_log_hybrid_bw(struct tcp_rack *rack, uint32_t seq, uint64_t cbw, uint64_t t off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); log.u_bbr.bbr_substate = (uint8_t)(off / sizeof(struct tcp_sendfile_track)); #endif + log.u_bbr.inhpts = 1; log.u_bbr.flex4 = (uint32_t)(rack->rc_tp->t_sndbytes - cur->sent_at_fs); log.u_bbr.flex5 = (uint32_t)(rack->rc_tp->t_snd_rxt_bytes - cur->rxt_at_fs); log.u_bbr.flex7 = (uint16_t)cur->hybrid_flags; @@ -2116,9 +2216,24 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int memset(&log, 0, sizeof(log)); log.u_bbr.timeStamp = tcp_get_usecs(&tv); - log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; log.u_bbr.delRate = cur->sent_at_fs; - log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; + + if ((cur->flags & TCP_TRK_TRACK_FLG_LSND) == 0) { + /* + * We did not get a new Rules Applied to set so + * no overlapping send occured, this means the + * current byte counts are correct. + */ + log.u_bbr.cur_del_rate = rack->rc_tp->t_sndbytes; + log.u_bbr.rttProp = rack->rc_tp->t_snd_rxt_bytes; + } else { + /* + * Overlapping send case, we switched to a new + * send and did a rules applied. + */ + log.u_bbr.cur_del_rate = cur->sent_at_ls; + log.u_bbr.rttProp = cur->rxt_at_ls; + } log.u_bbr.bw_inuse = cur->rxt_at_fs; log.u_bbr.cwnd_gain = line; off = (uint64_t)(cur) - (uint64_t)(&rack->rc_tp->t_tcpreq_info[0]); @@ -2138,6 +2253,7 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int log.u_bbr.lt_epoch = (uint32_t)((cur->timestamp >> 32) & 0x00000000ffffffff); /* now set all the flags in */ log.u_bbr.pkts_out = cur->hybrid_flags; + log.u_bbr.lost = cur->playout_ms; log.u_bbr.flex6 = cur->flags; /* * Last send time = note we do not distinguish cases @@ -2146,6 +2262,20 @@ rack_log_hybrid_sends(struct tcp_rack *rack, struct tcp_sendfile_track *cur, int */ log.u_bbr.pkt_epoch = (uint32_t)(rack->r_ctl.last_tmit_time_acked & 0x00000000ffffffff); log.u_bbr.flex5 = (uint32_t)((rack->r_ctl.last_tmit_time_acked >> 32) & 0x00000000ffffffff); + /* + * Compose bbr_state to be a bit wise 0000ADHF + * where A is the always_pace flag + * where D is the dgp_on flag + * where H is the hybrid_mode on flag + * where F is the use_fixed_rate flag. + */ + log.u_bbr.bbr_state = rack->rc_always_pace; + log.u_bbr.bbr_state <<= 1; + log.u_bbr.bbr_state |= rack->dgp_on; + log.u_bbr.bbr_state <<= 1; + log.u_bbr.bbr_state |= rack->rc_hybrid_mode; + log.u_bbr.bbr_state <<= 1; + log.u_bbr.bbr_state |= rack->use_fixed_rate; log.u_bbr.flex8 = HYBRID_LOG_SENT_LOST; tcp_log_event(rack->rc_tp, NULL, @@ -2299,6 +2429,7 @@ normal_ratecap: #ifdef TCP_REQUEST_TRK if (rack->rc_hybrid_mode && rack->rc_catch_up && + (rack->r_ctl.rc_last_sft != NULL) && (rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_S_MSS) && (rack_hybrid_allow_set_maxseg == 1) && ((rack->r_ctl.rc_last_sft->hybrid_flags & TCP_HYBRID_PACING_SETMSS) == 0)) { @@ -2338,7 +2469,10 @@ rack_get_gp_est(struct tcp_rack *rack) */ uint64_t srtt; - lt_bw = rack_get_lt_bw(rack); + if (rack->dis_lt_bw == 1) + lt_bw = 0; + else + lt_bw = rack_get_lt_bw(rack); if (lt_bw) { /* * No goodput bw but a long-term b/w does exist @@ -2374,19 +2508,22 @@ rack_get_gp_est(struct tcp_rack *rack) /* Still doing initial average must calculate */ bw = rack->r_ctl.gp_bw / max(rack->r_ctl.num_measurements, 1); } + if (rack->dis_lt_bw) { + /* We are not using lt-bw */ + ret_bw = bw; + goto compensate; + } lt_bw = rack_get_lt_bw(rack); if (lt_bw == 0) { /* If we don't have one then equate it to the gp_bw */ lt_bw = rack->r_ctl.gp_bw; } - if ((rack->r_cwnd_was_clamped == 1) && (rack->r_clamped_gets_lower > 0)){ - /* if clamped take the lowest */ + if (rack->use_lesser_lt_bw) { if (lt_bw < bw) ret_bw = lt_bw; else ret_bw = bw; } else { - /* If not set for clamped to get lowest, take the highest */ if (lt_bw > bw) ret_bw = lt_bw; else @@ -2487,6 +2624,8 @@ rack_log_dsack_event(struct tcp_rack *rack, uint8_t mod, uint32_t flex4, uint32_ log.u_bbr.flex7 = rack->r_ctl.dsack_persist; log.u_bbr.flex8 = mod; log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2535,6 +2674,8 @@ rack_log_hdwr_pacing(struct tcp_rack *rack, else log.u_bbr.cur_del_rate = 0; log.u_bbr.rttProp = rack->r_ctl.last_hw_bw_req; + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2552,28 +2693,9 @@ rack_get_output_bw(struct tcp_rack *rack, uint64_t bw, struct rack_sendmap *rsm, uint64_t bw_est, high_rate; uint64_t gain; - if ((rack->r_pacing_discount == 0) || - (rack_full_buffer_discount == 0)) { - /* - * No buffer level based discount from client buffer - * level is enabled or the feature is disabled. - */ - gain = (uint64_t)rack_get_output_gain(rack, rsm); - bw_est = bw * gain; - bw_est /= (uint64_t)100; - } else { - /* - * We have a discount in place apply it with - * just a 100% gain (we get no boost if the buffer - * is full). - */ - uint64_t discount; - - discount = bw * (uint64_t)(rack_full_buffer_discount * rack->r_ctl.pacing_discount_amm); - discount /= 100; - /* What %% of the b/w do we discount */ - bw_est = bw - discount; - } + gain = (uint64_t)rack_get_output_gain(rack, rsm); + bw_est = bw * gain; + bw_est /= (uint64_t)100; /* Never fall below the minimum (def 64kbps) */ if (bw_est < RACK_MIN_BW) bw_est = RACK_MIN_BW; @@ -2659,6 +2781,8 @@ log_anyway: log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.epoch = rack->r_ctl.current_round; + log.u_bbr.lt_epoch = rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2698,6 +2822,10 @@ rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t slot log.u_bbr.lt_epoch = rack->rc_tp->t_rxtshift; log.u_bbr.lost = rack_rto_min; log.u_bbr.epoch = rack->r_ctl.roundends; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; + log.u_bbr.applimited = rack->rc_tp->t_flags2; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2731,6 +2859,9 @@ rack_log_to_event(struct tcp_rack *rack, int32_t to_num, struct rack_sendmap *rs log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2780,6 +2911,9 @@ rack_log_map_chg(struct tcpcb *tp, struct tcp_rack *rack, log.u_bbr.lost = 0; else log.u_bbr.lost = rack->r_ctl.rc_prr_sndcnt; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2927,6 +3061,9 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time log.u_bbr.flex4 = where; log.u_bbr.flex7 = 2; log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2939,7 +3076,7 @@ rack_log_rtt_sample_calc(struct tcp_rack *rack, uint32_t rtt, uint32_t send_time static void rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t tsecho) { - if (tcp_bblogging_on(rack->rc_tp)) { + if (rack_verbose_logging && tcp_bblogging_on(rack->rc_tp)) { union tcp_log_stackspecific log; struct timeval tv; @@ -2951,6 +3088,9 @@ rack_log_rtt_sendmap(struct tcp_rack *rack, uint32_t idx, uint64_t tsv, uint32_t log.u_bbr.flex7 = 3; log.u_bbr.rttProp = tsv; log.u_bbr.timeStamp = tcp_get_usecs(&tv); + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -2979,6 +3119,9 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick, log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3051,6 +3194,13 @@ rack_log_doseg_done(struct tcp_rack *rack, uint32_t cts, int32_t nxt_pkt, int32_ log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; + log.u_bbr.epoch = rack->rc_inp->inp_socket->so_snd.sb_hiwat; + log.u_bbr.lt_epoch = rack->rc_inp->inp_socket->so_rcv.sb_hiwat; + log.u_bbr.lost = rack->rc_tp->t_srtt; + log.u_bbr.pkt_epoch = rack->rc_tp->rfbuf_cnt; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3112,6 +3262,9 @@ rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, ui log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; log.u_bbr.cwnd_gain = rack->rc_has_collapsed; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3146,6 +3299,9 @@ rack_log_to_cancel(struct tcp_rack *rack, int32_t hpts_removed, int line, uint32 log.u_bbr.pkts_out = rack->r_ctl.rc_out_at_rto; log.u_bbr.delivered = rack->r_ctl.rc_snd_max_at_rto; log.u_bbr.pacing_gain = rack->r_must_retran; + log.u_bbr.bw_inuse = rack->r_ctl.current_round; + log.u_bbr.bw_inuse <<= 32; + log.u_bbr.bw_inuse |= rack->r_ctl.rc_considered_lost; TCP_LOG_EVENTP(rack->rc_tp, NULL, &rack->rc_inp->inp_socket->so_rcv, &rack->rc_inp->inp_socket->so_snd, @@ -3314,6 +3470,7 @@ rack_counter_destroy(void) counter_u64_free(rack_saw_enobuf_hw); counter_u64_free(rack_saw_enetunreach); counter_u64_free(rack_hot_alloc); + counter_u64_free(tcp_policer_detected); counter_u64_free(rack_to_alloc); counter_u64_free(rack_to_alloc_hard); counter_u64_free(rack_to_alloc_emerg); @@ -3475,6 +3632,8 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) rack->r_ctl.rc_num_split_allocs--; } if (rsm == rack->r_ctl.rc_first_appl) { + rack->r_ctl.cleared_app_ack_seq = rsm->r_start + (rsm->r_end - rsm->r_start); + rack->r_ctl.cleared_app_ack = 1; if (rack->r_ctl.rc_app_limited_cnt == 0) rack->r_ctl.rc_first_appl = NULL; else @@ -3490,7 +3649,7 @@ rack_free(struct tcp_rack *rack, struct rack_sendmap *rsm) rack->r_ctl.rc_sacklast = NULL; memset(rsm, 0, sizeof(struct rack_sendmap)); /* Make sure we are not going to overrun our count limit of 0xff */ - if ((rack->rc_free_cnt + 1) > 0xff) { + if ((rack->rc_free_cnt + 1) > RACK_FREE_CNT_MAX) { rack_free_trim(rack); } TAILQ_INSERT_HEAD(&rack->r_ctl.rc_free, rsm, r_tnext); @@ -3806,6 +3965,8 @@ rack_increase_bw_mul(struct tcp_rack *rack, int timely_says, uint64_t cur_bw, ui logged = 0; + if (rack->rc_skip_timely) + return; if (override) { /* * override is passed when we are @@ -3976,6 +4137,8 @@ rack_decrease_bw_mul(struct tcp_rack *rack, int timely_says, uint32_t rtt, int32 uint64_t logvar, logvar2, logvar3; uint32_t logged, new_per, ss_red, ca_red, rec_red, alt, val; + if (rack->rc_skip_timely) + return; if (rack->rc_gp_incr) { /* Turn off increment counting */ rack->rc_gp_incr = 0; @@ -4177,6 +4340,7 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) */ uint32_t segsiz; + rack->r_ctl.rc_lower_rtt_us_cts = us_cts; if (rack->rc_gp_dyn_mul == 0) return; @@ -4203,7 +4367,6 @@ rack_enter_probertt(struct tcp_rack *rack, uint32_t us_cts) rack->r_ctl.rc_pace_min_segs); rack->in_probe_rtt = 1; rack->measure_saw_probe_rtt = 1; - rack->r_ctl.rc_lower_rtt_us_cts = us_cts; rack->r_ctl.rc_time_probertt_starts = 0; rack->r_ctl.rc_entry_gp_rtt = rack->r_ctl.rc_gp_srtt; if (rack_probertt_use_min_rtt_entry) @@ -4387,6 +4550,7 @@ static void rack_check_probe_rtt(struct tcp_rack *rack, uint32_t us_cts) { *** 7330 LINES SKIPPED *** From nobody Tue Mar 12 14:45:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvGdc43XCz5DxgN; Tue, 12 Mar 2024 14:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvGdc3K3cz4pFp; Tue, 12 Mar 2024 14:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710254708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOC24ikXxPuZvmCvXeqAx+aDjUha+CMqJM9hMj48Wqw=; b=EmBbYU15dZ9GZp+KHFPG7lH9fHJag4pV2em6CUderzCvxh3MVv6bPGONCcMu+RTfFwj/G4 fgQ9PZtt/vuzBszebi6/7wdi9copdh5TXnMUnk1WCr1i7YS2wUtCFAjYnAeK9ge45ZkovS bu4DnTnZs95ILfgLTTOSVSD5CQRsEeOOPSXKDsRlua6cUUQlAbM1ZYkXPXywGcBuKUA+lK wscXiuzTtiO6Q9xlaBdIEFqAiBPyplJZbNk/KLoGdszs/UxLRF29nxDi1ZZ7L2bk77rh54 2P0avE/N4AkQeBoemz/yrFQ6Y7sDCOZX39dI8rqXI+4jaFaXW2GfZikYWujzWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710254708; a=rsa-sha256; cv=none; b=xAt6g7t2Lz6Z2B8INkC6+q/eszTRKvjr6oOFq0ehoEegwrHUNhlYPeJVk6nQtJK5vrFy03 g4OxLnSJuDe7HPS+g2n586c5wEKmG4Wo2Jkc8KOqw1YViENbakiE0IbAANvzvLZBMi/V5K Cz4tlJoWBTfFdNDVQOhbovAqR0yXX7A6JAijSqe+AoyCgY3s3FxLFVpjL7skRI45x7iZaz +KP3bfytlvqUIQvIsOjiqfJdUeI3j5y2LE4M5tCLEZomQVAThCWKYg/pcnOcg05nWfOSzd d3AcbvLoFmRJP5m8Rrue/AbUM6U59YND2QnoQQe17g/di2O84RNvnk+km0KVRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710254708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOC24ikXxPuZvmCvXeqAx+aDjUha+CMqJM9hMj48Wqw=; b=WWfQa7h/F7eUILWjj6xHgvZVwge/CYM9DzgQhiYAty1DAUkx/dryNpebLXEGEJApfgeREr 09zMIe/P5qzwWvYNnHrK74TLi+SECvQ1ApmKr5BMooCgXQYmkYW7Dqdub42FyxV+GuhTuk xDiKihiEphbtWZpWznbPDVmMbqVLGUpKtS8K4fCjFtCT2Uj1WjjqpYgDRQG0768kcbNwe4 NLaXboqw72BeOPGOw5NSppiKvohWf2kWBEPb6f/HeyvYgh/f/NOZEcCPyLrJBicQsuarSp eoo0Qqijn2YKewQ9Cf82AnmukxhWHKg6tgPi7+CdTIAhBfimfkZoL9GK9u6acw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvGdc2wMpz1Hbt; Tue, 12 Mar 2024 14:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CEj8xu083157; Tue, 12 Mar 2024 14:45:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CEj8it083154; Tue, 12 Mar 2024 14:45:08 GMT (envelope-from git) Date: Tue, 12 Mar 2024 14:45:08 GMT Message-Id: <202403121445.42CEj8it083154@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: f3343fe4a64f - main - md5.1: Fix the GNU mode example when using a digest file List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3343fe4a64fe6a25b4e09ab9061a45f82e5abc1 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f3343fe4a64fe6a25b4e09ab9061a45f82e5abc1 commit f3343fe4a64fe6a25b4e09ab9061a45f82e5abc1 Author: Gordon Bergling AuthorDate: 2024-03-12 14:44:48 +0000 Commit: Gordon Bergling CommitDate: 2024-03-12 14:44:48 +0000 md5.1: Fix the GNU mode example when using a digest file The last example in the manpage md5(1) wants to demonstrate GNU mode (md5sum), but uses BSD mode (md5) instead. In GNU mode, the -c option does not compare against a hash string passed as parameter. Instead, it expects a digest file, as created under the name digest for /boot/loader.conf in the example above. PR: 276560 Reviewed by: mhorne, des MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44098 --- sbin/md5/md5.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/md5/md5.1 b/sbin/md5/md5.1 index 0a8dc46f3b1f..b530292c8269 100644 --- a/sbin/md5/md5.1 +++ b/sbin/md5/md5.1 @@ -1,4 +1,4 @@ -.Dd February 13, 2024 +.Dd March 12, 2024 .Dt MD5 1 .Os .Sh NAME @@ -367,7 +367,7 @@ for .Pa /boot/loader.conf in the example above. .Bd -literal -offset indent -$ md5 -c digest /boot/loader.conf +$ md5sum -c digest /boot/loader.conf: OK .Ed .Pp From nobody Tue Mar 12 15:25:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvHX552Qcz5F1dr; Tue, 12 Mar 2024 15:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvHX54B1fz4vBx; Tue, 12 Mar 2024 15:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710257125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M3HK7i1mD5G8UnjXmW13YjNP4WCyRbbN1bUvghFbxPY=; b=KuMmAWdnPUd8tRM/ApfR936Xr8ec2W6xF/84jzKueDWcX2zta9BOVnE8oxJPLiudAmA646 NEjVPxVha1pjZGj29TCi1PBJsjdSt4b9EoNGJfroOwxOM8bF1v/BJXtkk4hvoy5MLfpqky tenL1LnuaXERYAmzyk6rm8lUiHXI7RYJEIfwvvuyAnXLNSsJY2YGgFMD89lH+OC3gjfygr +r9oQBVwiLfyWag5kszmT7HBAKza7hge+ki+yZh++cyHW+L03BJgOONsNwvAYYYebGPWUg +QXX5m8tcd1Z08ezyVDwgo8zgoZHrjnRf2xXyqvqo1DcILYjOX2cvBAZzRTxxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710257125; a=rsa-sha256; cv=none; b=qX9XN3+NgZJ2IOrmzZXel7PNyMofs1Ym8bWXPuDtw+sxYYzVF13LrYglB8L7wBgzkS74Ng Ck89OLLo3iaog7j9x0H9sHWCy6y5L322IioOglWgLGe64K4NfaPsbWLvellAsuUBgSB+cY ImIABLmyjNSMs6Y6ne7N0NrKjM1GaiAdfZXLjb0oXXzSlpY0R43qaKsiBIojeYvEP88UDv F5Qaqm4G1Doj4Bk2CdvgWKwBz+sLIS7PlS6ZeFW8UBh6ntgFq3ecFulLCkZtA3sBIn+YnS mfEKb41vHxaG6JjMXmaBiypkQVWYk1Vzyea9dnwmLnLRWrCDkaWISQbS+RS0MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710257125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M3HK7i1mD5G8UnjXmW13YjNP4WCyRbbN1bUvghFbxPY=; b=jsB1VhboHQLh3bn8SfM8uYbx8b1oNpL/MVRv1DmN+PUqGcxgn6oZZOVHCvgbm/5q3Mw2P8 45E62EpphUOcza43JLb4SZA2bs71g1IHdNsmrp1jOFnZ7iyxAoJ+W53/z1WgEwnZqM0Fcu 8LzxCuirP8YQUYeQxIJnRQQrNGV8y/3sUDu6qLWwwPHfu2FO5ExCyjnZIjKaLOvLiA/rfM nC21M9xulUo0XGIX5il1w41Fu2Dbv2nNUGeuivX+bh4ZGI3oUlMKG2JAfAPuo4to6aUQRy 4NvawOAynbfK6stpAq2byJhwYzXVVvFVC9TSVqz9DfS3ydRkOjny7BeCs8i/PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvHX53nl3z1Jtq; Tue, 12 Mar 2024 15:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CFPP1M051215; Tue, 12 Mar 2024 15:25:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CFPPgw051212; Tue, 12 Mar 2024 15:25:25 GMT (envelope-from git) Date: Tue, 12 Mar 2024 15:25:25 GMT Message-Id: <202403121525.42CFPPgw051212@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5b35479e3ede - main - RELNOTES: Add awk update from 2 weeks ago. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5b35479e3ede4649ec41d553a9e45c6640f5baf9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5b35479e3ede4649ec41d553a9e45c6640f5baf9 commit 5b35479e3ede4649ec41d553a9e45c6640f5baf9 Author: Warner Losh AuthorDate: 2024-03-12 15:24:39 +0000 Commit: Warner Losh CommitDate: 2024-03-12 15:24:39 +0000 RELNOTES: Add awk update from 2 weeks ago. Sponsored by: Netflix --- RELNOTES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELNOTES b/RELNOTES index 9e9152f888db..c6e7732582ae 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,11 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +f32a6403d346: + One True Awk updated to 2nd Edition. See https://awk.dev for details + on the additions. Unicode and CSVs (Comma Separated Values) are now + supported. + fe86d923f83f: usbconfig(8) now reads the descriptions of the usb vendor and products from usb.ids when available, similarly to what pciconf(8) does. From nobody Tue Mar 12 16:00:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvJJT1XM3z5F4KF; Tue, 12 Mar 2024 16:00:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvJJT10g0z3y1L; Tue, 12 Mar 2024 16:00:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710259225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W0STMcKL0kTYg0DGuLJtJc8sD70W1esoi9YQppaqW+M=; b=XnQBALtGTEw8P7yzXqNkIISda0DwMQ30Wub9BMtx71o9q/Y8KQZEHb+bUAySOjvGGD7jwL 4+GfBAR4O/X5/FYlc36ECYY5o6Dbb5FOA15iM9Lxj4OzSlNoQIn4NmBwagfu5tllHDNQaX XLI0+yVUYVAye+Bf0YTMFzZbCrdlMNnbGDVvFz4s1YI2siHmba/iFoFYnopTP9FKqWjbxi 9H/WOgcZd6HMif+J0Fqs2Uk+ruZD5CphgNZsnKs2dG+kMGd7G1YU+zPLofgqLVdNNnPbYr RHuXKaecPCmqYzDuk6WDwKUSCFddbI7rePKyX0JwJWQmdOSXKpw/y+9FExGIxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710259225; a=rsa-sha256; cv=none; b=XMqL6JItFB1u/MID4yuBnC/KPrDL/JQYn7aK/LhmlMhGQ/hDi1xuN9frGaVDr6MgkWC2Gr DEpDleC2x9LejD/qEMOizuC7KjE4WL6MTQ6Vh6IHxhp3h4rRgO5gDg1LZgRXhBQpY8waVK v0+x4DaEq3npIn0vRZV/ir/YIdR9yEP20PPgO0M3VL+JfAn0Hus7q2vMlZf9u8/kelkBOg 5CGXXsJcWEz4cs0d9CJZKKeFTqaF6qdGK6+Emm16wPkoN5oYvi4shbTw2TVUCxOAbuPw0V D+K8HgcQk+h5kfWEuVHPg3TCwXiwmTjYmoDNrhsfL4nlEfEEtexqVjHFNT+X6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710259225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W0STMcKL0kTYg0DGuLJtJc8sD70W1esoi9YQppaqW+M=; b=b74k44I38gAbmxo5sttD4NDSEYRAN+WbB4MyCf/9BksBmej+shlrKSwIRex+TYlqu6XEIs yn/oVE1kmDgEDIeRPOqtBR2nj6zx4mo2lMew6mAYtk/yFZhqoa1Ucf5R16c57asw0oGVRu GueE0ujDMLPEgWDKierdMcEWMyRF0AT9rBpeUf/qdJ/Vl1YAjx+CHP6APcI6tcs0PZK+ku ezZh+ZhD9G5H5Kic90EJ2NgXTJ5Z5Ta/hBPekqElI5cTLUnv6swmrzMZ4KBkdxPGOyWFm5 fQCIIHP0WFfB5HLstQjvLMn2v7BoKPmSjLKatcyUvDc/Un1dq1/W7B4NqjPPXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvJJT0by5z1K78; Tue, 12 Mar 2024 16:00:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CG0OZX011956; Tue, 12 Mar 2024 16:00:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CG0OKT011953; Tue, 12 Mar 2024 16:00:24 GMT (envelope-from git) Date: Tue, 12 Mar 2024 16:00:24 GMT Message-Id: <202403121600.42CG0OKT011953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eugene Grosbein Subject: git: 7f0dc6e2cdfa - main - mkimg(1): process non-seekable output gracefully List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f0dc6e2cdfa0317c9917dd46e9da9d3897a8fbb Auto-Submitted: auto-generated The branch main has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=7f0dc6e2cdfa0317c9917dd46e9da9d3897a8fbb commit 7f0dc6e2cdfa0317c9917dd46e9da9d3897a8fbb Author: Eugene Grosbein AuthorDate: 2024-03-12 15:55:42 +0000 Commit: Eugene Grosbein CommitDate: 2024-03-12 16:00:21 +0000 mkimg(1): process non-seekable output gracefully mkimg may make severe load only to fail in the end if output is non-seekable pipe, socket or FIFO unless output format is raw disk image. Check it out and fail early. Make it clear in the manual. MFC after: 1 week --- usr.bin/mkimg/mkimg.1 | 3 ++- usr.bin/mkimg/mkimg.c | 14 +++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/usr.bin/mkimg/mkimg.1 b/usr.bin/mkimg/mkimg.1 index 820fb9ad1d5a..82bbee53a267 100644 --- a/usr.bin/mkimg/mkimg.1 +++ b/usr.bin/mkimg/mkimg.1 @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 28, 2024 +.Dd March 12, 2024 .Dt MKIMG 1 .Os .Sh NAME @@ -64,6 +64,7 @@ The image file is a raw disk image by default, but the format of the image file can be specified with the .Ar format argument. +Most formats require seekable output, except of raw disk image. .Pp The disk image can be made bootable by specifying the scheme-specific boot block contents with the diff --git a/usr.bin/mkimg/mkimg.c b/usr.bin/mkimg/mkimg.c index 541d534f967f..3cd9b03c06e9 100644 --- a/usr.bin/mkimg/mkimg.c +++ b/usr.bin/mkimg/mkimg.c @@ -555,6 +555,7 @@ mkimg(void) int main(int argc, char *argv[]) { + const char *format_name; int bcfd, outfd; int c, error; @@ -699,6 +700,7 @@ main(int argc, char *argv[]) errc(EX_DATAERR, error, "boot code"); } + format_name = format_selected()->name; if (verbose) { fprintf(stderr, "Logical sector size: %u\n", secsz); fprintf(stderr, "Physical block size: %u\n", blksz); @@ -709,10 +711,20 @@ main(int argc, char *argv[]) fprintf(stderr, "Partitioning scheme: %s\n", scheme_selected()->name); fprintf(stderr, "Output file format: %s\n", - format_selected()->name); + format_name); fputc('\n', stderr); } +#if defined(SPARSE_WRITE) + /* + * sparse_write() fails if output is not seekable so fail early + * not wasting some load unless output format is raw + */ + if (strcmp("raw", format_name) && + lseek(outfd, (off_t)0, SEEK_CUR) == -1 && errno == ESPIPE) + errx(EX_USAGE, "%s: output must be seekable", format_name); +#endif + error = image_init(); if (error) errc(EX_OSERR, error, "cannot initialize"); From nobody Tue Mar 12 16:27:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvJvW5898z5F676; Tue, 12 Mar 2024 16:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvJvW38cWz42Ff; Tue, 12 Mar 2024 16:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710260839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C2/s4XXxTpdS+UUHWzR5Nwa3bA7kD6FyUrcwfLzT6MU=; b=AWNgha4J+x45m1mS/NWZwEwU0t1qc2Wk5Q1ONrg5wUAEwAWw4POakAc0iMU5BV3j1XSsaZ xqEDja7nZ2e/ixhrRJVd8l/R9blay/g49VWWJpUO7YLQMmtq66QBeC7RhiWvZlgF4mQfLd o5mqYpBpSU2wQW6obTuPbKQcJjn+cow/Md1bvSNIG3O/lSUaPF7ZtSc+7QfOSiLb3Mxlxv qpzkxLd+yCEYy+7aGyvRCFRl9keLul/p0KfQXR4j1G7KetrJDdlVILOWmQPSJrB48gNyjC WUOss6AsLxExVSeQp1VIN46Sl2M4VBuVF4uQ1XPBkrdVAx3EBvkOBAXWP0OrHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710260839; a=rsa-sha256; cv=none; b=tnNids1BWwUKy4vVvAQMnTvoY2lxoF6yy4W44iq7eJvUl+eOcMcnE8QIapLzlxRs8T0XjG 0vS3GKZdikaN/Vgkv5p7zhywTju8tZsyIRYW1lsyDnMcpKxfCdc8b0SBgPk0DVmna2AJs9 lrJ7XgO1RzSDIG04B5tqKLpotRAPDRcZgaIkyzf7tFQKdJPjVrlCbswBgLeYMdiigFbiy5 6Wt76XB92eiNh0vRrOJdtC0VsEn5Ynex5cc/jCm8y65Any949x7cZGj9Kxo/UwbHJJxoKq K+SQW3vbPRid8lxWE7E4f4IjWwBfrSCzJHRE/9jpyP+wxMMFqXElhA7FBMesWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710260839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C2/s4XXxTpdS+UUHWzR5Nwa3bA7kD6FyUrcwfLzT6MU=; b=JOMwAzQ8mkywZ2NX61889/dh0ZFZuJf/UkC4KQ8Uud7ACu2YdoUU+Q9Ak7Nc7fqeg6nMt+ B63ulHCJUFuiSDa/71VBEg+puOK8/WYWKlJ2aAcvFGpn7vtz1aGkNxvQGDhZ26ZUempd2D 353nhMCudFa+IlFZitS4iA12wKJ5qda8gv36mxQh5T/z3LPNvn0f6iMJgfSzTKAbGnmZMn TYgz/AiIkKwuPUvXXLTZL1Ftec9Oc51t+dXmgb0jEf+MIybgNCKx9hLz4uhhdlHwzS1ZJ2 b/XV7bGPkteBxZzsKZ01OzkWDP2F+tWCEVmvXqBIMGyPMlpgVlzA4GtvY8JgpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvJvW1mn2z1L9k; Tue, 12 Mar 2024 16:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CGRJGg053194; Tue, 12 Mar 2024 16:27:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CGRI89053191; Tue, 12 Mar 2024 16:27:18 GMT (envelope-from git) Date: Tue, 12 Mar 2024 16:27:18 GMT Message-Id: <202403121627.42CGRI89053191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 937a0055858a - main - sqlite3: Vendor import of sqlite3 3.45.1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 937a0055858a098027f464abf0b2b1ec5d36748f Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=937a0055858a098027f464abf0b2b1ec5d36748f commit 937a0055858a098027f464abf0b2b1ec5d36748f Merge: 7f0dc6e2cdfa 1e59a00476c9 Author: Cy Schubert AuthorDate: 2024-03-12 14:01:21 +0000 Commit: Cy Schubert CommitDate: 2024-03-12 16:06:50 +0000 sqlite3: Vendor import of sqlite3 3.45.1 Release notes at https://www.sqlite.org/releaselog/3_45_1.html. Obtained from: https://www.sqlite.org/2024/sqlite-autoconf-3450100.tar.gz MFC after: 1 week Merge commit '1e59a00476c9801952e7319719fcdb095a0cd007' into main contrib/sqlite3/configure | 20 ++-- contrib/sqlite3/configure.ac | 2 +- contrib/sqlite3/sqlite3.c | 220 +++++++++++++++++++++++---------------- contrib/sqlite3/sqlite3.h | 6 +- contrib/sqlite3/sqlite3rc.h | 2 +- contrib/sqlite3/tea/configure | 18 ++-- contrib/sqlite3/tea/configure.ac | 2 +- 7 files changed, 157 insertions(+), 113 deletions(-) From nobody Tue Mar 12 16:58:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvKbY0fJNz5F8Pt; Tue, 12 Mar 2024 16:58:33 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvKbY05j9z4541; Tue, 12 Mar 2024 16:58:33 +0000 (UTC) (envelope-from brooks@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710262713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rhNa/1esXg6BmG4m1qM+ogec0RKGTkD00hzXJNwbyAc=; b=pjq+bUCB7GMhddsnpDMq2tZh/5M2lDXlYytQriH3+upHMtnll9qMV2ETyxpjt4Tsg+EPha DfCKW7c3sa3TNGmzZK4YBEA0Sj080m76DGQR5Jo09ql/1n/ePGGZGC8a3KTCMvL7pSV+9Z XpI1DRrGOahHilZ9IvQDLQ30Wr4DlQ08WaGSMVgyAadBMg/2099yCNtX35dtAW10Mx6ZlC gDlnyGdg1Qc+QeG1mKxCS5TI4QtPAdtdacBGeYIc0ZAN4peZMqCcea2CmnGiRluS+bimOM qlkZm9VMPYnZvZ0Iz8fkb5Tp9vQZPYcQ7oS/EvmBvEyLXG7RARZ1MhrdFskuiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710262713; a=rsa-sha256; cv=none; b=k/NYbzpDlLg+ZFyfi07YXtnjqkBwDFkgftEaFnvU24UxcQDjnBpn9rY4RmAtcUZXoAQme1 tw/0I/gw29rrU5u+xA/p8U1rg6++/KUzBhqjAmbxuA20ugyNESDVyRL4qGGVraBLk9Jb/N ZHvfmbzI1R9GzGoXD2ZSJ92Mx8R3FrPRCTohWtljqhMhEfveS5ZR3Gt8nxnYJao8v3ARx4 PLCIm4xsjGrEQaKkasRULelXFD4eJXTl1866rWYtzeDRV2JgeQgbDmkdsv7h1r5AtuF0aM oBEeLSBxvQ308kPdOMiDTmreGGjYU9+rKxIZ4hY1BRVAl4RXTFeF3cKYJaYD2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710262713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rhNa/1esXg6BmG4m1qM+ogec0RKGTkD00hzXJNwbyAc=; b=p0d8ieQxPcC71iYl1qSVmPGR6j5jL0/vhMQudJfXV/Et9kG4rCb1mR5DSU5Nf7ugFBC/4U z15qZ/FdCumDAvLnwaxvNAzMFA4n6OtizvQe3jEE/ko/U5XVk8YDZQ5XIdUF0YEbFh9nX7 JkM0RWgVF5eeboORIGKNnBdyOfzvosbLcH2BHno86UI1TJE4GsHhuCW5o897fcwlYICrnA l8qJ5l7YEIfG8KoAc2EnHBDzNwBRcd4zq9IA36uhTSD32xwpcBVmxQ22BDpUS0JjZctVi6 wLBcBYuRUjwTu76CM9ZiorHOeAdsdgMHinVbAA5gTs9/QVN67r2tCDiRnO4jlg== Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: brooks/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4TvKbX6ggPzPFQ; Tue, 12 Mar 2024 16:58:32 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 5ECA43C019B; Tue, 12 Mar 2024 16:58:32 +0000 (UTC) Date: Tue, 12 Mar 2024 16:58:32 +0000 From: Brooks Davis To: Eugene Grosbein Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 7f0dc6e2cdfa - main - mkimg(1): process non-seekable output gracefully Message-ID: References: <202403121600.42CG0OKT011953@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202403121600.42CG0OKT011953@gitrepo.freebsd.org> On Tue, Mar 12, 2024 at 04:00:24PM +0000, Eugene Grosbein wrote: > The branch main has been updated by eugen: > > URL: https://cgit.FreeBSD.org/src/commit/?id=7f0dc6e2cdfa0317c9917dd46e9da9d3897a8fbb > > commit 7f0dc6e2cdfa0317c9917dd46e9da9d3897a8fbb > Author: Eugene Grosbein > AuthorDate: 2024-03-12 15:55:42 +0000 > Commit: Eugene Grosbein > CommitDate: 2024-03-12 16:00:21 +0000 > > mkimg(1): process non-seekable output gracefully > > mkimg may make severe load only to fail in the end > if output is non-seekable pipe, socket or FIFO > unless output format is raw disk image. > > Check it out and fail early. Make it clear in the manual. > > MFC after: 1 week > --- > usr.bin/mkimg/mkimg.1 | 3 ++- > usr.bin/mkimg/mkimg.c | 14 +++++++++++++- > 2 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/usr.bin/mkimg/mkimg.1 b/usr.bin/mkimg/mkimg.1 > index 820fb9ad1d5a..82bbee53a267 100644 > --- a/usr.bin/mkimg/mkimg.1 > +++ b/usr.bin/mkimg/mkimg.1 > @@ -22,7 +22,7 @@ > .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > .\" > -.Dd February 28, 2024 > +.Dd March 12, 2024 > .Dt MKIMG 1 > .Os > .Sh NAME > @@ -64,6 +64,7 @@ The image file is a raw disk image by default, but the format of the > image file can be specified with the > .Ar format > argument. > +Most formats require seekable output, except of raw disk image. > .Pp > The disk image can be made bootable by specifying the scheme-specific boot > block contents with the > diff --git a/usr.bin/mkimg/mkimg.c b/usr.bin/mkimg/mkimg.c > index 541d534f967f..3cd9b03c06e9 100644 > --- a/usr.bin/mkimg/mkimg.c > +++ b/usr.bin/mkimg/mkimg.c > @@ -555,6 +555,7 @@ mkimg(void) > int > main(int argc, char *argv[]) > { > + const char *format_name; const struct mkimg_format* format; It seems weird to cache a single member. For that matter, caching anyting seems like overkill given than format_selected() just returns a global variable's value. > int bcfd, outfd; > int c, error; > > @@ -699,6 +700,7 @@ main(int argc, char *argv[]) > errc(EX_DATAERR, error, "boot code"); > } > > + format_name = format_selected()->name; > if (verbose) { > fprintf(stderr, "Logical sector size: %u\n", secsz); > fprintf(stderr, "Physical block size: %u\n", blksz); > @@ -709,10 +711,20 @@ main(int argc, char *argv[]) > fprintf(stderr, "Partitioning scheme: %s\n", > scheme_selected()->name); > fprintf(stderr, "Output file format: %s\n", > - format_selected()->name); > + format_name); > fputc('\n', stderr); > } > > +#if defined(SPARSE_WRITE) > + /* > + * sparse_write() fails if output is not seekable so fail early > + * not wasting some load unless output format is raw > + */ > + if (strcmp("raw", format_name) && > + lseek(outfd, (off_t)0, SEEK_CUR) == -1 && errno == ESPIPE) > + errx(EX_USAGE, "%s: output must be seekable", format_name); > +#endif Maybe add a flag for non-seeking formats rather than hardcoding a strcmp? -- Brooks From nobody Tue Mar 12 19:40:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvPBs2vnlz5FMmg; Tue, 12 Mar 2024 19:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvPBs2SgQz4PKt; Tue, 12 Mar 2024 19:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710272453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WB3/CPyEZ+AOqtLA1J06+qr14R/ndzNSArEZITTx6p0=; b=Gd6fOkFAvRov9J25Bmg5rYxoCdRgvWL9YTfiTWcu6xipZJbmL7HJg13EIYg1zh9wEuo4Hx nAqKnnF4Jk4l+Tzvj8ijL90HslSpjjzAOz6JW1XUgdX27TyteU2KydFCTvAUTc9uDf8H62 FIm5NAYo2q/TlIWFeqFIiEEgyCXJ1hfe6wzzzKwgiD567tjZgHkUF3bTNKj27ON2Ygen7/ 7ynJ+linHmq7HwdeRutCiPgm0Wv5BF2gAKxpKiDPT5AUOyNEH1EF3AQMYHIi1WzgPw5UYe KkrzNEEaHgkyCtYffeD4JW9YcTlqABZ19Kxx77yjIhpZcRI0NrxOaQY8BSVhFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710272453; a=rsa-sha256; cv=none; b=dWM6I23fDdKqqF0E8Pp/8Z/qu1zl3+T7UaD61boHibYy1L5601+Rv2Myvs6A2WKk3KAs9f 0Vaw8hxH40qmoGYR29GZpGobc5PHyVaTqHHwq931r4tTmDvrLfXcskDMB4ohk9xtSyloTA mzhy8aLP+58jtfxRLS4sIB+C6bxY2Rn2S8SluBHAm4ZnINR6ZU1kHGpFLAoEyncnZjma4Z KcJS3IIWlnMT9XI2eAFFyfL4dnu20Wl6Oc11mbDMSGO0hPXtGOEbhSTCOeDvUfh3uhHC3O TuThveVpYg7t3oLRSql/dK/V0WJs4rSRT7Bd0bDdUP7SAtmW2Keo44H0wQBSOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710272453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WB3/CPyEZ+AOqtLA1J06+qr14R/ndzNSArEZITTx6p0=; b=t6boIZxn5TdenKcv/RbTGaa/Mma64go+S318d9G4gmhtjsnVmdcEEiGSmkeL1dSi/R4AY6 I/G2fyBI/Yrabk5ocKSwWCL/lpGycPiYhrLUsTPA3QiC7IeUxKJE2cyfdFK/NvYFwsl3ar TTugwSwBOId/ZZPfQlC55rmiMdbyBlyB9KSveEc7TDiD8e4StuL207RugCMxvkRhJTZQs+ LwapO9XHJ7+SD7oZFd3FbOf2TpNfRYdnnD4s8H3aVtZL3eP7BVhxU/3zzZuytGgN8QnJ16 YHCmf8HX0H1WRi34GIkv9VUzQO+iSyFGwuGqTiwpuymhPz+Fmz1cSgwjzMwJqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvPBs24rmz1RBy; Tue, 12 Mar 2024 19:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CJere3084307; Tue, 12 Mar 2024 19:40:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CJerAw084304; Tue, 12 Mar 2024 19:40:53 GMT (envelope-from git) Date: Tue, 12 Mar 2024 19:40:53 GMT Message-Id: <202403121940.42CJerAw084304@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: b53ae8a8333d - main - ping: Fix protocol selection with NOINET6 kernel. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b53ae8a8333d730bb977276c511743b98c881423 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b53ae8a8333d730bb977276c511743b98c881423 commit b53ae8a8333d730bb977276c511743b98c881423 Author: Dag-Erling Smørgrav AuthorDate: 2024-03-12 19:40:36 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-03-12 19:40:36 +0000 ping: Fix protocol selection with NOINET6 kernel. A missing else caused the correct resolver hint (AF_INET) to be overwritten with AF_UNSPEC when the kernel supports IPv4 but not IPv6. MFC after: 3 days PR: 277592 Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D44304 --- sbin/ping/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ping/main.c b/sbin/ping/main.c index 1d1816361788..8a572cb3c914 100644 --- a/sbin/ping/main.c +++ b/sbin/ping/main.c @@ -149,7 +149,7 @@ main(int argc, char *argv[]) hints.ai_socktype = SOCK_RAW; if (feature_present("inet") && !feature_present("inet6")) hints.ai_family = AF_INET; - if (feature_present("inet6") && !feature_present("inet")) + else if (feature_present("inet6") && !feature_present("inet")) hints.ai_family = AF_INET6; else hints.ai_family = AF_UNSPEC; From nobody Tue Mar 12 21:03:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvR2K5Mj7z5FTtw; Tue, 12 Mar 2024 21:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvR2K4Bcnz4cMR; Tue, 12 Mar 2024 21:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710277417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I2g5+MNyV0usWxRybl04KW/1ofges2poszgH+KFEAys=; b=vS2ELj1TOt8Dpk6yqWxjjvMJvtr0kSxKAnpg61OjhtYO0TZO0vLYdVmt6FSEb2fKB4HtUD gBMcb6Olj6Eefj8PYtDikcRG6+GwO/O3/n+AesNqO3/I2mpoG2sOz/P36bFqbWn5VLXuRH zGGLfF5Yb/OKWR/zJTqvVpnDldJrKXmMADgFSQyxYL8dgELB8JbJbvUGjMdEXsROXrc3Ej Jn1NWCyAQkx8lp0Je7CvO5rcoLEYkECCIECQ+kUIeYtpLCxMk+k4qfZUmAMqvaUMDBZn0I AZiSLuPsZUHvrCoBwWyQ8Y07nl3tGBUVJtUt/M1/0nJ0PeKXO8IP5aLBjVhcvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710277417; a=rsa-sha256; cv=none; b=qDQapaBDIdE6PCaX6odFsYOaD+YNzrs1JxfVcny1GfJxg19gW8IIFF8AWRHN6PfKmSFMZJ qxBOxygZac7uGmRWuoRIE8TjnsIGphx42xk+W3vwFt+PBDlLKUpENG2r6E8lz0060mlHV9 cVTQwbf9T5lKfhpELpr4hG1NLDcsK9eK87ltsYzdsUXmhkn9fJ+1hES9DXI3XTYi/jioSM /gf8vEMPWkeyInbWFMkScFQQcLzJhm6tJbnPcgeMdLPv4OwE2p01kgunTkRVp0tmJ2bCZz QbyfdLaPK2N3Gp3DuLL/Y6GyITbRLEvCEkjkFjBzEE/1FcPEFrlNghKuhR6rVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710277417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I2g5+MNyV0usWxRybl04KW/1ofges2poszgH+KFEAys=; b=IJB6g+tazLSNkRxQQSvDsYZceqrrHKQco/yngQ8Aw3JnkRfLhsPQgM5jLn2kwcX5SqGDrG Ej1uHS5CVJIklR4rfS8Pwl3FGwKEdD9yZnYjPFbxxQc2MtyBRMd5QYvRdJnXJeHVEQkS1h 2xDJC6b0e7cmnhLJKONvYFdxsXAW0NRNCIhlCgOoEpqiVVvSe3n5KoAgunVwZfSvk8OddZ p6J7xgD42v9Fv4KscQ9wkkHhhlFuleeGbEUQrhS4w6yFfgSjnKsWb4egUyzFhZDz3qdsZ0 BWV6TVM1XWI1UREQxZUHBZcuK8G6fRf/+1P8YgnNVFBSHOwlCfBMs2JbTRFFvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvR2K3pBjzFMg; Tue, 12 Mar 2024 21:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CL3bAJ026119; Tue, 12 Mar 2024 21:03:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CL3bro026116; Tue, 12 Mar 2024 21:03:37 GMT (envelope-from git) Date: Tue, 12 Mar 2024 21:03:37 GMT Message-Id: <202403122103.42CL3bro026116@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 8f86c1082197 - main - libthr: restore _pthread_cond_timedwait List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f86c108219779337905c871312d85aab9322ff3 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=8f86c108219779337905c871312d85aab9322ff3 commit 8f86c108219779337905c871312d85aab9322ff3 Author: Brooks Davis AuthorDate: 2024-03-12 21:01:47 +0000 Commit: Brooks Davis CommitDate: 2024-03-12 21:03:14 +0000 libthr: restore _pthread_cond_timedwait The function was renamed to _thr_cond_timedwait in commit 0ab1bfc7b28f and for some reason did not get the same __weak_reference treatment as other _pthread_cond symbols. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44244 --- lib/libthr/thread/thr_cond.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libthr/thread/thr_cond.c b/lib/libthr/thread/thr_cond.c index c1cbd546350e..0eb3dac068ca 100644 --- a/lib/libthr/thread/thr_cond.c +++ b/lib/libthr/thread/thr_cond.c @@ -63,6 +63,7 @@ __weak_reference(__thr_cond_wait, pthread_cond_wait); __weak_reference(__thr_cond_wait, __pthread_cond_wait); __weak_reference(_thr_cond_wait, _pthread_cond_wait); __weak_reference(__pthread_cond_timedwait, pthread_cond_timedwait); +__weak_reference(_thr_cond_timedwait, _pthread_cond_timedwait); __weak_reference(_thr_cond_init, pthread_cond_init); __weak_reference(_thr_cond_init, _pthread_cond_init); __weak_reference(_thr_cond_destroy, pthread_cond_destroy); From nobody Tue Mar 12 21:58:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvSFg1vvKz5Cc5J; Tue, 12 Mar 2024 21:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvSFg15V0z4j6w; Tue, 12 Mar 2024 21:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710280711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jjo1dn33qfrjJJjM7tg7t+uAs5Pm9vayjZJ+SLqpUtU=; b=qkS0GzOU0tyXE3/kv4O8hJRSWq+3XST1ReWpywwhn2okeHbPTlu4eaGQaBUlrC5tUnyRt6 4Gbk2Ft38ARQx0vlzz6w7JG5+GDPSOCQyuAXPGFFPVPqnPSEv1r2OTHmHd2jMNHWtg5t2e sZdQ96h/wz2n84wZA/aiMe4P3sl0wEoVmHZsZ6C1lpRbwolig7JEqTyalsKEhmvsCTUyuw KKTIFDrSTyRC7IYSBQu4Wqwmx5pruYa1lQ3jBlLJEXiJxcBiLmiBKpV3qa/SwJfPJggr/g 4HQg+awfsR+GbTr0L709HwyhqXt4101inCMput1QdRuDbM8W+7jfS2P3jMfA5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710280711; a=rsa-sha256; cv=none; b=yvvo58qfOkkvgQazEERXyhvd68aTDut6b21WNPPg7pkD7xHWuQEwlvCTUP6DujFZBoea72 Wz/YPlgjnRFOwr2CeT6QsopHXPZPtXlpx1BL3Dmx4f67cc5j/6fUEhrFzZeyGKWyfwFZK+ up2kpXSAFcwYff12cdCYLdG5VRJY0UssPLXtIS5FtbAaEPgQ2ckBaz1hIEbnxYCfDQOnHv H0/xwbwlVzxky2lOdpGs8zSuGWCjh/wG4oF5W90z4Y2IJ97sFwLVlWX2892bgogKTiNTQH XSVeSO85Npv0wwi9S0O3kNjhdk0B2QjuL9/Qi6RCx/GRFiL+BSwn45eU2YKPdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710280711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jjo1dn33qfrjJJjM7tg7t+uAs5Pm9vayjZJ+SLqpUtU=; b=p6KRRbmtQ2hK85uWxOrm6UnkksyfjOiiwUt1waIMmupH5Xvsa9gC6cpoN9BlBXrmXkgZ0a RLGsNLxRiL4ozzepuBqtKkT0H9E08sqHD57HC5XhTVNhlJGQhXaUESiPy1Yzr/Hbum+eGv OcBhAB/V93mwhFf7HM2ZDzcBjmH66XCn3M1DMa6zScfwuzqUef8xdlCFbnQpisgyxNb0RX ou770eQmxsF43DT1gMpvL1oREf2vyRY14RJZpHw/e2R0ZGQtcQM4D/REDfYQgIUxJED5ik +XQHYIbdtFwl2WERA8enoloRegkV4SPzG0G3yUVqHgwL0rb+ZEm+cr1qsLnXEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvSFg0ZSbzFxF; Tue, 12 Mar 2024 21:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CLwUnd010614; Tue, 12 Mar 2024 21:58:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CLwUcU010611; Tue, 12 Mar 2024 21:58:30 GMT (envelope-from git) Date: Tue, 12 Mar 2024 21:58:30 GMT Message-Id: <202403122158.42CLwUcU010611@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f254aad33dfb - main - ath_hal/ar9300: allow JUPITER cards to read eeprom List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f254aad33dfb5ce18b6b97b7d036b420310e9ed5 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f254aad33dfb5ce18b6b97b7d036b420310e9ed5 commit f254aad33dfb5ce18b6b97b7d036b420310e9ed5 Author: Bjoern A. Zeeb AuthorDate: 2024-03-12 21:22:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-03-12 21:56:56 +0000 ath_hal/ar9300: allow JUPITER cards to read eeprom Summary: In ar9300_eeprom_read_word() also allow JUPITER cards read the eeprom instead of returning an error. While this will not help all the 9462, 9485, 9565 OEM cards to work, it will make debugging of the next steps a lot easier. While here fix a typo in the error message if we do not get CAL. PR: 255337 Tested by: John Nielsen (john jnielsen net) Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D44328 --- sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c index 0251222c50b4..073428c8fa71 100644 --- a/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c +++ b/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c @@ -225,7 +225,7 @@ ar9300_eeprom_restore_something(struct ath_hal *ah, ar9300_eeprom_t *mptr, HAL_BOOL ar9300_eeprom_read_word(struct ath_hal *ah, u_int off, u_int16_t *data) { - if (AR_SREV_OSPREY(ah) || AR_SREV_POSEIDON(ah)) + if (AR_SREV_OSPREY(ah) || AR_SREV_POSEIDON(ah) || AR_SREV_JUPITER(ah)) { (void) OS_REG_READ(ah, AR9300_EEPROM_OFFSET + (off << AR9300_EEPROM_S)); if (!ath_hal_wait(ah, @@ -4319,7 +4319,7 @@ ar9300_eeprom_restore_internal(struct ath_hal *ah, ar9300_eeprom_t *mptr, } #endif if (nptr < 0) { - ath_hal_printf(ah, "%s[%d] No vaid CAL, calling default template\n", + ath_hal_printf(ah, "%s[%d] No valid CAL, calling default template\n", __func__, __LINE__); nptr = ar9300_eeprom_restore_something(ah, mptr, mdata_size); } From nobody Tue Mar 12 23:00:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvTdJ3ytxz5ChgH; Tue, 12 Mar 2024 23:00:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvTdJ3W36z4n58; Tue, 12 Mar 2024 23:00:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710284436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z4NhnjIjHC3N0rIfmD/ieS24D8Yc2KblOECAUNF1tGE=; b=dKDLtAPSDn1nfmD5Npgk1VPJTs5GlbTakjf+NXPYWEaLiukdOf5UP69Qhka0Je/tTBO45R N0tVF7UgxGCfowCOC5clqQfiyKq8BrS9XYgNRO5chE5qYjoj2/q0j6JJGtTl/Ltru099MH M112TXlkAVw9Nzpo6HrTpHacV4FBuEvXuAnbyjTsOG62+bBfTZcJZrIVv8JAoIYtqLBddb Ddb+823Hwny9q56FEmWfwJnSMqzxNfrQzhPTaITR2BODy6m+02CNz3PdJVbEkBd1FOY1dJ EWwVAs+AV9G3A/Faj09o4slDo8hGlfEFHkDXWZGwX4DZzL47Ean3IUxbPfziIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710284436; a=rsa-sha256; cv=none; b=tgncmW+MFyUB2I1vncv/mHKP6Ft3LdjNRFf1679ntWYxMyyq5e9Q1n7bC06QZqWsr8ZpUK rYkhV0sXi+5PyikDscWeS6IN6gC7vpaDlSu8hYaRlmXZCZ5nrDJCf8Ngji7jf+PAgvCffz TuyNgIKA44jot2nBhfNrTCQTDLcOxMRiOBnYmwPp6/E0/I8jfpDnyfKVW1+ogXp43IWzfM COXC5H1xblMIJNx/+u8wB8Z/UNmXR9FbP4aIPsvAjjqrnG0DzgcHrsWpu4WWEED1GqVBDE qzmHhjRH8i9jTZeS85qgUz8VW5LesGzpo3qf0gIczbpHrMF41bxhPUD1LFdoAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710284436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z4NhnjIjHC3N0rIfmD/ieS24D8Yc2KblOECAUNF1tGE=; b=W8UlmMz7mKRlogZEnKoHLnDpivzYL4TqbMbDjmHeWLh9Bc33qcBJdPqQ7DoKDftLslMFeX 7GuPMrsmEIqakzKgsiq3iUtKfrm+87OTOeH5FAyo2l+9WvdHMEF1cuqqJoOMeJaj1J2/3F /Ebb1Iesh6tIUvbi6x1RnmKpFi6IGeRqgL6y1Yx2Bm/HoShMaiMGHZxKNdsut1y7iGXf4A JTfTDaphvG1McUw8tEIHA7SxV6fmv7UFuoTrFs8rTpDWLY6ivZLYG787vMhh3MOrsRhOcl FVn/2wPQl7ZNNGAJzDfh9vsApv0DZU3JkUikXbkL3bO+Dy6u76Q3GKgTH78CFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvTdJ36PQzJPy; Tue, 12 Mar 2024 23:00:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42CN0aim022482; Tue, 12 Mar 2024 23:00:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42CN0afu022479; Tue, 12 Mar 2024 23:00:36 GMT (envelope-from git) Date: Tue, 12 Mar 2024 23:00:36 GMT Message-Id: <202403122300.42CN0afu022479@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 906521f8176b - main - LinuxKPI: 802.11: return proper value for IEEE80211_CRYPTO_AES_CCM List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 906521f8176b13533556d742db4ab28e847b85c0 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=906521f8176b13533556d742db4ab28e847b85c0 commit 906521f8176b13533556d742db4ab28e847b85c0 Author: Bjoern A. Zeeb AuthorDate: 2024-03-04 23:03:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-03-12 22:59:11 +0000 LinuxKPI: 802.11: return proper value for IEEE80211_CRYPTO_AES_CCM In case of LKPI_80211_HW_CRYPTO we convert from LinuxKPI cipher_suites to net80211 ic_cryptocaps fields. For WLAN_CIPHER_SUITE_CCMP we accidentally returned the bit number instead of the shifted value which leads to ieee80211_crypto_newkey() setting IEEE80211_KEY_SWCRYPT, which in turned lead to us trying to decode the frame again despite HW had already done it. This was found out of a discussion in D43634. MFC after: 3 days Reviewed by: cc, adrian Differential Revision: https://reviews.freebsd.org/D44208 --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ced2f2dc8cca..df3b0bc467f2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -546,7 +546,7 @@ lkpi_l80211_to_net80211_cyphers(uint32_t wlan_cipher_suite) case WLAN_CIPHER_SUITE_TKIP: return (IEEE80211_CRYPTO_TKIP); case WLAN_CIPHER_SUITE_CCMP: - return (IEEE80211_CIPHER_AES_CCM); + return (IEEE80211_CRYPTO_AES_CCM); case WLAN_CIPHER_SUITE_WEP104: return (IEEE80211_CRYPTO_WEP); case WLAN_CIPHER_SUITE_AES_CMAC: From eugen@freebsd.org Wed Mar 13 08:09:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tvjps0jppz5DZvB for ; Wed, 13 Mar 2024 08:09:41 +0000 (UTC) (envelope-from eugen@freebsd.org) Received: from mail.rdtc.ru (mail.rdtc.ru [62.231.190.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tvjpr5GcFz4b4F for ; Wed, 13 Mar 2024 08:09:40 +0000 (UTC) (envelope-from eugen@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: by mail.rdtc.ru (RDTC Post Office Server, from userid 1000) id C17A31CF3A; Wed, 13 Mar 2024 15:09:37 +0700 (+07) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [62.231.161.221]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: egrosbein@rdtc.ru) by mail.rdtc.ru (RDTC Post Office Server) with ESMTPSA id 338661CF2C; Wed, 13 Mar 2024 15:09:36 +0700 (+07) X-Envelope-From: eugen@freebsd.org X-Envelope-To: brooks@freebsd.org Received: from [10.58.0.10] (dadvw [10.58.0.10]) by eg.sd.rdtc.ru (8.17.1/8.17.1) with ESMTPS id 42D89WTV066491 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 13 Mar 2024 15:09:33 +0700 (+07) (envelope-from eugen@freebsd.org) Subject: Re: git: 7f0dc6e2cdfa - main - mkimg(1): process non-seekable output gracefully To: Brooks Davis References: <202403121600.42CG0OKT011953@gitrepo.freebsd.org> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org From: Eugene Grosbein Message-ID: <7ddc5445-3afe-2447-b400-60f21366935f@freebsd.org> Date: Wed, 13 Mar 2024 15:09:30 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.5 required=5.0 tests=BAYES_00,NICE_REPLY_A, SPF_SOFTFAIL,T_DATE_IN_FUTURE_96_Q,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=4.0.0 X-Spam-Report: * 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) * -2.3 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 T_DATE_IN_FUTURE_96_Q Date: is 4 days to 4 months after Received: * date * -1.9 NICE_REPLY_A Looks like a legit reply (A) * -0.0 T_SCC_BODY_TEXT_LINE No description available. X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on eg.sd.rdtc.ru X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:29072, ipnet:62.231.184.0/21, country:RU] X-Rspamd-Queue-Id: 4Tvjpr5GcFz4b4F 12.03.2024 23:58, Brooks Davis wrote: [skip] > It seems weird to cache a single member. For that matter, caching > anyting seems like overkill given than format_selected() just returns a > global variable's value. It is a habit. Why not? :-) I do not like calling a method multiple times after an object settled. [skip] >> +#if defined(SPARSE_WRITE) >> + /* >> + * sparse_write() fails if output is not seekable so fail early >> + * not wasting some load unless output format is raw >> + */ >> + if (strcmp("raw", format_name) && >> + lseek(outfd, (off_t)0, SEEK_CUR) == -1 && errno == ESPIPE) >> + errx(EX_USAGE, "%s: output must be seekable", format_name); >> +#endif > > Maybe add a flag for non-seeking formats rather than hardcoding a > strcmp? I thought about it. A change would be much more invasive without real benefits. I believe there will not be any more non-sparse formats other than raw. If there will, we can improve the code later. For now, I prefer keeping the code and the change as simple as possible. Eugene From nobody Wed Mar 13 16:54:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvxSn6Hvgz5DG2j; Wed, 13 Mar 2024 16:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvxSn5l2Qz4HXQ; Wed, 13 Mar 2024 16:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710348889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ks3Pop3yk6YynKZRkaNjPR2pucQZ0zq3ngzqFu9HrGk=; b=lL2qwdJikkGY/boOn4bZsAVZfj8OJD1sQ2MRsLJvJ0RYHwBIzFNyaNXnZE/vj77PRUunwa wNyeK1jckR1pp/i9IQxWU2IGw0nN21J+7FdDsqJP4cjlHVq4Ka92REkbnBfeqzaVJr212q BnoK823v+fBKq9Tv3dxZlCn1wGr8uLZetsCQ0Lfl08c4uqB6+NtuzSiXUNkq9Rzmbha5tp DXBICWr8U0zHsG2Qf5gt+V0thWPj86DDaimdgeaA6oophZlGGpfJS6oz65GqmlZgPOthRj ink7FR1mu5u9qfg3wbTUmdxq+w0cM5EBudA4OA9CHYQ6AFPTo3fsGROYkuLFfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710348889; a=rsa-sha256; cv=none; b=xln/jcjQaTdKJ5XucijhiUmKW+Kb0gcj/5L6gozdIaFUDx+LjqYnD7N+wnnqwy2BD667mI wAfErnUDOq03hjBH5bw/xeDAHWtRE5wET0+7F5XXhfXrAEht8jGwBkQfi/BxY95+9LS9tZ wdIRN7yGk25+fjDxmCtL02diskUO3JCzTDj7xGQ/GPcDpBXOOVxUm3szSFmOOqDYqbt7+P 2gnIiMnipvAPA4fpx8NPW66PTtTY26g3j61J2D1EV9ym4vyGTM2ms/GopmtqL+Hd7fA/7E wbDTcRUXlgtEP9GxXVmPUPTC8UJZG9dahRxY+UIm4+SlBz3Ni9ZO6v+1YFF59w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710348889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ks3Pop3yk6YynKZRkaNjPR2pucQZ0zq3ngzqFu9HrGk=; b=KGIK2chpBaps9tAtf+C6GdotGvz3mfsyVJ34R0A6GsorVhnrNbjg1GuF8xKlxgwC7BiW00 WNaI1HCemEm/byYNLyOsMqJ0AoJN/AtobXOdkGHRjg+UnP/1HLYWvb6Ad2PYucHpOlHakI yeeRezZUw6N15chceBpSvdjMoQrEdsz+7z7ceRybiDlsPDf8iflTwVOMGk+Az4YeD/e2N1 WO+WDPNhbntW8xyvZnug6GEJBbb2Qk29cxoEjvF0Tg90NSMVg+oeF5cx/xEo8w3U/mjvGv MPh2ulQxwY2K8V/UJYPvfyxDyBtVP4fyBByFFJKMhpTQdxS4ffbyAVnzK9ihMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvxSn5LZKzqTb; Wed, 13 Mar 2024 16:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DGsn5e032472; Wed, 13 Mar 2024 16:54:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DGsnT9032469; Wed, 13 Mar 2024 16:54:49 GMT (envelope-from git) Date: Wed, 13 Mar 2024 16:54:49 GMT Message-Id: <202403131654.42DGsnT9032469@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: a3a4bea49c31 - main - libc: remove remnants of __fcntl_compat List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a3a4bea49c31f880dc50b51bbadc0c0a444d5183 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a3a4bea49c31f880dc50b51bbadc0c0a444d5183 commit a3a4bea49c31f880dc50b51bbadc0c0a444d5183 Author: Brooks Davis AuthorDate: 2024-03-13 16:52:49 +0000 Commit: Brooks Davis CommitDate: 2024-03-13 16:52:49 +0000 libc: remove remnants of __fcntl_compat Reviewed by: kib Fixes: 60b2e2d3ee82 libc: stop exposing __fcntl_compat Differential Revision: https://reviews.freebsd.org/D44326 --- lib/libc/include/compat.h | 2 -- lib/libc/include/libc_private.h | 1 - 2 files changed, 3 deletions(-) diff --git a/lib/libc/include/compat.h b/lib/libc/include/compat.h index fe940701e356..70fb8dcd97f3 100644 --- a/lib/libc/include/compat.h +++ b/lib/libc/include/compat.h @@ -74,8 +74,6 @@ __sym_compat(swapoff, freebsd13_swapoff, FBSD_1.0); #define __weak_reference(sym,alias) \ .weak alias;.equ alias,sym -__weak_reference(__sys_fcntl, __fcntl_compat) - #undef __weak_reference #endif /* __LIBC_COMPAT_H__ */ diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index b2284d2df5c6..7b5b987c22a3 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -418,7 +418,6 @@ int __libc_sigwait(const __sigset_t * __restrict, int * restrict sig); int __libc_system(const char *); int __libc_tcdrain(int); -int __fcntl_compat(int fd, int cmd, ...); int __sys_futimens(int fd, const struct timespec *times) __hidden; int __sys_utimensat(int fd, const char *path, From nobody Wed Mar 13 18:36:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tvzk90lFrz5DRLG; Wed, 13 Mar 2024 18:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tvzk907Vqz4Scw; Wed, 13 Mar 2024 18:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710354993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jwD01VNexUp0weYXrk4T5hpFdKZEkQlv5cPpv1nzoVc=; b=QUaIfiWDkATULr8Hdj+8+wDP0tEsx+14dk5ZnMTNFTDgF3SfafaBAFsWJSgsCwLdO0kQdo MJDRWU4e7VGT+xkNwlWhceGtn7Wk7bRYRCZX0KbjS1s7bUQBPBFu9QnErKaL/xr4BeHypI DiRG1sdiqOgmb1q+IfL0L5pqD5tPu5H7qrl6go4PPp3z+QfrmPsJYd/nXSPinG1G4TOZZy wBP2QCoL8fOsSQavqPuGfAypr4fBEpniSEvC0cNZfxYj6cE6++Zz6641rlrnLk/GWjp+aB RIIFGuxAkB4zkgPc9RbSieWJG/hZ+EUI6D6BL+2T1M9QQQmNLu0rKGSeuD5bXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710354993; a=rsa-sha256; cv=none; b=RoHyfOW06Rps37JTQBrNBoNf2mIPCSF0wqc5y6sGV4VNS5gFq2y9pD6hDntf3WCqjunlFd YiiC07i+fnrXvzRobP72Lg5SabW08+RRkNWcH6lEIJB269SHwRwAEPqovWmU8ueWCkfYiy avQKKQ8FpXOLyN+488KQUoMc/B411aO4pVu/3oB403NmSiGcyAsXhuEby1A434OqYUEf14 HbEeC+qxmWhj+Loe/Nh+49QmSyrYu5B08MsBbb0EKqoW+9S3Ni7vxsLap7UOswTzflhF3n tzV8iyOc/e2FGIZg5egKJ/ndzeZLcPmsipc7IgDrJQNSgrUfBv4O61uixf8M0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710354993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jwD01VNexUp0weYXrk4T5hpFdKZEkQlv5cPpv1nzoVc=; b=faQQZfPOB8VXo6aTVKboDiiiGsUc1nO5TYBXeMnwFgBgI0UbytzBkxM4y4cmY255jYZWPY IAa9LD5ZO6aclHkOVmpUZPFZCZW62SzTQedT5rc4TXaXIEXKw61csOBukiqkc7j4kxo8Nl ZzIEG08aoQFwgqzEJIFDPwy1aG+zGWbrqD5oB021vKOHASPZpiLqvYt6JxuEIZiFHqfeaj E2zTEh3Syw/evRsoP5dZOoTOUfuc3WC/q1QfyBHbpUtBRBwg9LFg3jBfJ8W7xjR4AWKQGL PYgA+zwTSNmG1wGX/my9cjapDmB7p49NKbJWZNheD0WpgsRhtQwufprjJ0w+FA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tvzk86qb2ztlD; Wed, 13 Mar 2024 18:36:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DIaWv9002497; Wed, 13 Mar 2024 18:36:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DIaWxA002494; Wed, 13 Mar 2024 18:36:32 GMT (envelope-from git) Date: Wed, 13 Mar 2024 18:36:32 GMT Message-Id: <202403131836.42DIaWxA002494@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: f7dbbbd1762f - main - libsys: don't expose sigwait wrapper List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7dbbbd1762f8f74d5a585230c56eca92e4fdb8b Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=f7dbbbd1762f8f74d5a585230c56eca92e4fdb8b commit f7dbbbd1762f8f74d5a585230c56eca92e4fdb8b Author: Brooks Davis AuthorDate: 2024-03-13 17:04:07 +0000 Commit: Brooks Davis CommitDate: 2024-03-13 17:04:07 +0000 libsys: don't expose sigwait wrapper Long ago (e129c18a83ef) __sys_sigwait was wrapped to prevent sigwait() from returning with EINTR. Through a series of changes this wrapper become __libc_sigwait which was internal to libc and used solely in the interposing table. To support a move of sigwait back to libc, move this wrapper into libsys and rename it with an __libsys_ prefix. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44238 --- lib/libc/include/libc_private.h | 3 +-- lib/libsys/Makefile.sys | 3 ++- lib/libsys/Symbol.sys.map | 1 - lib/libsys/interposing_table.c | 2 +- lib/libsys/libsys_sigwait.c | 45 +++++++++++++++++++++++++++++++++++++++++ lib/libsys/sigwait.c | 15 -------------- 6 files changed, 49 insertions(+), 20 deletions(-) diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 7b5b987c22a3..6a6de5b5645d 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -414,8 +414,7 @@ int __libc_sigaction(int, const struct sigaction *, int __libc_sigprocmask(int, const __sigset_t *, __sigset_t *) __hidden; int __libc_sigsuspend(const __sigset_t *) __hidden; -int __libc_sigwait(const __sigset_t * __restrict, - int * restrict sig); +int __libsys_sigwait(const __sigset_t *, int *) __hidden; int __libc_system(const char *); int __libc_tcdrain(int); diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index b3d41c804290..e798a94e4ae0 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -37,7 +37,8 @@ SRCS+= \ __getosreldate.c \ getpagesize.c \ getpagesizes.c \ - interposing_table.c + interposing_table.c \ + libsys_sigwait.c SRCS+= getdents.c lstat.c mknod.c stat.c diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index ff368ebfac44..fa27dc95aea4 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -433,7 +433,6 @@ FBSD_1.8 { FBSDprivate_1.0 { /* Add entries in sort(1) order */ - __libc_sigwait; __libsys_interposing_slot; __set_error_selector; __sigwait; diff --git a/lib/libsys/interposing_table.c b/lib/libsys/interposing_table.c index 4ee36da4c4c4..e285def70fad 100644 --- a/lib/libsys/interposing_table.c +++ b/lib/libsys/interposing_table.c @@ -59,7 +59,7 @@ interpos_func_t __libsys_interposing[INTERPOS_MAX] = { SLOT(sigaction, __sys_sigaction), SLOT(sigprocmask, __sys_sigprocmask), SLOT(sigsuspend, __sys_sigsuspend), - SLOT(sigwait, __libc_sigwait), + SLOT(sigwait, __libsys_sigwait), SLOT(sigtimedwait, __sys_sigtimedwait), SLOT(sigwaitinfo, __sys_sigwaitinfo), SLOT(swapcontext, __sys_swapcontext), diff --git a/lib/libsys/libsys_sigwait.c b/lib/libsys/libsys_sigwait.c new file mode 100644 index 000000000000..ce1a416d76b3 --- /dev/null +++ b/lib/libsys/libsys_sigwait.c @@ -0,0 +1,45 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2010 davidxu@freebsd.org + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include "libc_private.h" + +/* XXX: why does this symbol exist? */ +__weak_reference(__libsys_sigwait, __sigwait); + +int +__libsys_sigwait(const sigset_t *set, int *sig) +{ + int ret; + + /* POSIX does not allow EINTR to be returned */ + do { + ret = __sys_sigwait(set, sig); + } while (ret == EINTR); + return (ret); +} diff --git a/lib/libsys/sigwait.c b/lib/libsys/sigwait.c index 4b863eb04db0..412a9206b821 100644 --- a/lib/libsys/sigwait.c +++ b/lib/libsys/sigwait.c @@ -25,12 +25,9 @@ * SUCH DAMAGE. */ -#include #include #include "libc_private.h" -__weak_reference(__libc_sigwait, __sigwait); - #pragma weak sigwait int sigwait(const sigset_t *set, int *sig) @@ -38,15 +35,3 @@ sigwait(const sigset_t *set, int *sig) return (((int (*)(const sigset_t *, int *)) __libsys_interposing[INTERPOS_sigwait])(set, sig)); } - -int -__libc_sigwait(const sigset_t *set, int *sig) -{ - int ret; - - /* POSIX does not allow EINTR to be returned */ - do { - ret = __sys_sigwait(set, sig); - } while (ret == EINTR); - return (ret); -} From nobody Wed Mar 13 18:36:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvzkB1dvQz5DRFf; Wed, 13 Mar 2024 18:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvzkB0ZqMz4SJj; Wed, 13 Mar 2024 18:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710354994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ceW6+mOtt8YC2aKx1WCfFf3z4E0WwpRN7YlqAwu/3gQ=; b=sZv5Kw3vG7dxjgtRrpQh9wH+6+qbyhAipaENWua1lYstmy+Y2aq262ELsudAgW56ZdHIRi 59G3TH5tjnnSvATw8XJGSqmM2tmWkESKl6T09Q6zdZ5Z16D9Zwe+/G2dAZeVZHEI+FYTPQ LFAgjDCj+tOIK+2Z/pUgJSIsgzvniXtkXwWWe38MBqAuRIEVpOLOsUWHKzYwIoReU+h/Fj dUrXd5HzJhLWhABZN6PQx8hQSO/9UrJQM+5qIFrlzOzxDxNw332dcLaNPQurs9Jbsh1DG5 sKCfDfAJvASyrvgmBEoqEIq1zRunX39nXwVPWmzWgHVJkdCVi7vbs8QjjoF8AQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710354994; a=rsa-sha256; cv=none; b=Gq0tZwKgX2Q5krvHRbdf79lSMF6li0TNusOdKOU8EaqLvpY08h+XnDTJBRhsuWx3zvfFYF cWO7E/Crf2KkDtfcfI4/bVkZZw5tQLYEHGdsVpKPCRDZNtKDIwvGDdlCXdtoO9iww+QN0G tsnaQxUR+B0sJLeqLdq4Q+leMNcpqSnZK7KIbWHAsNxRh6bqR4oPPiAg9r+9rISnNRHj6Q eHwarGbEn5Z/ckQ54dFFQ8kW/AlQqsMbov3hmUSJ4f3JzWJkucZF2yC5qmiR2+nO6ql6Tj JjtccZo5ICgJPbHJKgqnQrQEeycL/tPeBgvN/GPfZuNwWSOatYhBCvq/yCvsvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710354994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ceW6+mOtt8YC2aKx1WCfFf3z4E0WwpRN7YlqAwu/3gQ=; b=hqmC5TPFWepXL45ONJ9JOV+8YL0Joi+GbvJHREbPNV/NO0GE1xtKytmfhutYcWdQBamYot YkUiQ9O+nPEHMQ1xKsPM4T8nLb4cZ9Wgz4OdjfzeCBL7P3xQPhYwrsTWVlMLMSYr6NUKvX pDayPpQwNbObcS0Wa5GlxsjtBgqfvp/UuHNmwciOuTYGZpZJbwsJ9pBtgGb0IOPF89I82r aZv6e4nGHus5+CW5BcwOb9VK8W8aZ4eEDctE0Gg59TKI7GkWpLhnAI9YPyPK20h+vuGAWy bsE4zYP9UdvTon21jGfWcA/7KaCNo0fNNbJWnwe2QV3vngT+v7KzR632hSdMaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvzkB09ZBztX9; Wed, 13 Mar 2024 18:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DIaXXl002546; Wed, 13 Mar 2024 18:36:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DIaXRt002543; Wed, 13 Mar 2024 18:36:33 GMT (envelope-from git) Date: Wed, 13 Mar 2024 18:36:33 GMT Message-Id: <202403131836.42DIaXRt002543@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: ef5fddd3440c - main - libsys: make __libsys_interposing static List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef5fddd3440cc726db2acb85ca55fdc9c996ea64 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=ef5fddd3440cc726db2acb85ca55fdc9c996ea64 commit ef5fddd3440cc726db2acb85ca55fdc9c996ea64 Author: Brooks Davis AuthorDate: 2024-03-13 17:31:48 +0000 Commit: Brooks Davis CommitDate: 2024-03-13 17:31:48 +0000 libsys: make __libsys_interposing static Access __libsys_interposing with __libc_interposing_slot() in all cases to support a move of these wrappers back to libc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44239 --- lib/libc/gen/libc_interposing_table.c | 1 - lib/libc/gen/sleep.c | 2 +- lib/libc/gen/usleep.c | 2 +- lib/libc/include/libc_private.h | 1 - lib/libsys/accept.c | 2 +- lib/libsys/accept4.c | 3 ++- lib/libsys/aio_suspend.c | 3 ++- lib/libsys/clock_nanosleep.c | 4 ++-- lib/libsys/close.c | 2 +- lib/libsys/connect.c | 2 +- lib/libsys/creat.c | 4 ++-- lib/libsys/fcntl.c | 2 +- lib/libsys/fdatasync.c | 3 ++- lib/libsys/fork.c | 2 +- lib/libsys/fsync.c | 2 +- lib/libsys/interposing_table.c | 2 +- lib/libsys/kevent.c | 4 ++-- lib/libsys/lockf.c | 6 +++--- lib/libsys/msync.c | 2 +- lib/libsys/nanosleep.c | 2 +- lib/libsys/open.c | 4 ++-- lib/libsys/openat.c | 3 ++- lib/libsys/pdfork.c | 3 ++- lib/libsys/poll.c | 2 +- lib/libsys/ppoll.c | 4 ++-- lib/libsys/pselect.c | 2 +- lib/libsys/read.c | 2 +- lib/libsys/readv.c | 2 +- lib/libsys/recv.c | 4 ++-- lib/libsys/recvfrom.c | 4 ++-- lib/libsys/recvmsg.c | 2 +- lib/libsys/select.c | 2 +- lib/libsys/send.c | 2 +- lib/libsys/sendmsg.c | 2 +- lib/libsys/sendto.c | 4 ++-- lib/libsys/setcontext.c | 2 +- lib/libsys/sigaction.c | 2 +- lib/libsys/sigprocmask.c | 2 +- lib/libsys/sigsuspend.c | 2 +- lib/libsys/sigtimedwait.c | 2 +- lib/libsys/sigwait.c | 2 +- lib/libsys/sigwaitinfo.c | 2 +- lib/libsys/swapcontext.c | 2 +- lib/libsys/wait.c | 3 ++- lib/libsys/wait3.c | 4 ++-- lib/libsys/wait4.c | 3 ++- lib/libsys/wait6.c | 4 ++-- lib/libsys/waitid.c | 4 ++-- lib/libsys/waitpid.c | 3 ++- lib/libsys/write.c | 2 +- lib/libsys/writev.c | 2 +- 51 files changed, 70 insertions(+), 64 deletions(-) diff --git a/lib/libc/gen/libc_interposing_table.c b/lib/libc/gen/libc_interposing_table.c index 6997dce86569..d15d32711910 100644 --- a/lib/libc/gen/libc_interposing_table.c +++ b/lib/libc/gen/libc_interposing_table.c @@ -49,7 +49,6 @@ interpos_func_t __libc_interposing[INTERPOS_MAX] = { interpos_func_t * __libc_interposing_slot(int interposno) { - /* XXX: forward compat. Remove after 15.0-RELEASE. */ if (__libc_interposing[interposno] == NULL) return (__libsys_interposing_slot(interposno)); return (&__libc_interposing[interposno]); diff --git a/lib/libc/gen/sleep.c b/lib/libc/gen/sleep.c index 46a7dcc4dbca..7b6e80353c6e 100644 --- a/lib/libc/gen/sleep.c +++ b/lib/libc/gen/sleep.c @@ -56,7 +56,7 @@ __sleep(unsigned int seconds) time_to_sleep.tv_sec = seconds; time_to_sleep.tv_nsec = 0; if (((int (*)(const struct timespec *, struct timespec *)) - (*__libsys_interposing_slot(INTERPOS_nanosleep)))( + (*__libc_interposing_slot(INTERPOS_nanosleep)))( &time_to_sleep, &time_remaining) != -1) return (0); if (errno != EINTR) diff --git a/lib/libc/gen/usleep.c b/lib/libc/gen/usleep.c index e312e55c6541..f58d81d978e3 100644 --- a/lib/libc/gen/usleep.c +++ b/lib/libc/gen/usleep.c @@ -46,7 +46,7 @@ __usleep(useconds_t useconds) time_to_sleep.tv_nsec = (useconds % 1000000) * 1000; time_to_sleep.tv_sec = useconds / 1000000; return (((int (*)(const struct timespec *, struct timespec *)) - (*__libsys_interposing_slot(INTERPOS_nanosleep)))(&time_to_sleep, + (*__libc_interposing_slot(INTERPOS_nanosleep)))(&time_to_sleep, NULL)); } diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 6a6de5b5645d..b3f31f6e4e87 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -201,7 +201,6 @@ typedef int (*interpos_func_t)(void); interpos_func_t *__libc_interposing_slot(int interposno); extern interpos_func_t __libc_interposing[] __hidden; interpos_func_t *__libsys_interposing_slot(int interposno); -extern interpos_func_t __libsys_interposing[] __hidden; enum { INTERPOS_accept, diff --git a/lib/libsys/accept.c b/lib/libsys/accept.c index 974d26eeaa6b..609cb31b140e 100644 --- a/lib/libsys/accept.c +++ b/lib/libsys/accept.c @@ -41,5 +41,5 @@ int accept(int s, struct sockaddr *addr, socklen_t *addrlen) { return (((int (*)(int, struct sockaddr *, socklen_t *)) - __libsys_interposing[INTERPOS_accept])(s, addr, addrlen)); + *(__libc_interposing_slot(INTERPOS_accept)))(s, addr, addrlen)); } diff --git a/lib/libsys/accept4.c b/lib/libsys/accept4.c index d69e843e28e6..c789d0a63250 100644 --- a/lib/libsys/accept4.c +++ b/lib/libsys/accept4.c @@ -41,5 +41,6 @@ int accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags) { return (((int (*)(int, struct sockaddr *, socklen_t *, int)) - __libsys_interposing[INTERPOS_accept4])(s, addr, addrlen, flags)); + *(__libc_interposing_slot(INTERPOS_accept4))) + (s, addr, addrlen, flags)); } diff --git a/lib/libsys/aio_suspend.c b/lib/libsys/aio_suspend.c index 41872fbdd049..499d2a349c3c 100644 --- a/lib/libsys/aio_suspend.c +++ b/lib/libsys/aio_suspend.c @@ -42,5 +42,6 @@ aio_suspend(const struct aiocb * const iocbs[], int niocb, { return (((int (*)(const struct aiocb * const[], int, const struct timespec *)) - __libsys_interposing[INTERPOS_aio_suspend])(iocbs, niocb, timeout)); + *(__libc_interposing_slot(INTERPOS_aio_suspend))) + (iocbs, niocb, timeout)); } diff --git a/lib/libsys/clock_nanosleep.c b/lib/libsys/clock_nanosleep.c index 58d76243f42c..ad996220d19f 100644 --- a/lib/libsys/clock_nanosleep.c +++ b/lib/libsys/clock_nanosleep.c @@ -43,6 +43,6 @@ clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, { return (((int (*)(clockid_t, int, const struct timespec *, struct timespec *)) - __libsys_interposing[INTERPOS_clock_nanosleep])(clock_id, flags, - rqtp, rmtp)); + *(__libc_interposing_slot(INTERPOS_clock_nanosleep))) + (clock_id, flags, rqtp, rmtp)); } diff --git a/lib/libsys/close.c b/lib/libsys/close.c index 923339f06e71..5017f6e3d745 100644 --- a/lib/libsys/close.c +++ b/lib/libsys/close.c @@ -40,5 +40,5 @@ __weak_reference(__sys_close, __close); int close(int fd) { - return (((int (*)(int))__libsys_interposing[INTERPOS_close])(fd)); + return (((int (*)(int))*(__libc_interposing_slot(INTERPOS_close)))(fd)); } diff --git a/lib/libsys/connect.c b/lib/libsys/connect.c index c908ec5dc493..70fc4682b06d 100644 --- a/lib/libsys/connect.c +++ b/lib/libsys/connect.c @@ -41,5 +41,5 @@ int connect(int s, const struct sockaddr *addr, socklen_t addrlen) { return (((int (*)(int, const struct sockaddr *, socklen_t)) - __libsys_interposing[INTERPOS_connect])(s, addr, addrlen)); + *(__libc_interposing_slot(INTERPOS_connect)))(s, addr, addrlen)); } diff --git a/lib/libsys/creat.c b/lib/libsys/creat.c index 9bc1db19de1d..bcb750e93d38 100644 --- a/lib/libsys/creat.c +++ b/lib/libsys/creat.c @@ -44,7 +44,7 @@ int __creat(const char *path, mode_t mode) { return (((int (*)(int, const char *, int, ...)) - __libsys_interposing[INTERPOS_openat])(AT_FDCWD, path, O_WRONLY | - O_CREAT | O_TRUNC, mode)); + *(__libc_interposing_slot(INTERPOS_openat))) + (AT_FDCWD, path, O_WRONLY | O_CREAT | O_TRUNC, mode)); } diff --git a/lib/libsys/fcntl.c b/lib/libsys/fcntl.c index 52e041003b4d..308d144a4426 100644 --- a/lib/libsys/fcntl.c +++ b/lib/libsys/fcntl.c @@ -50,5 +50,5 @@ fcntl(int fd, int cmd, ...) va_end(args); return (((int (*)(int, int, ...)) - __libsys_interposing[INTERPOS_fcntl])(fd, cmd, arg)); + *(__libc_interposing_slot(INTERPOS_fcntl)))(fd, cmd, arg)); } diff --git a/lib/libsys/fdatasync.c b/lib/libsys/fdatasync.c index dc6927eae324..2dd81ec1a215 100644 --- a/lib/libsys/fdatasync.c +++ b/lib/libsys/fdatasync.c @@ -37,5 +37,6 @@ int fdatasync(int fd) { - return (((int (*)(int))__libsys_interposing[INTERPOS_fdatasync])(fd)); + return (((int (*)(int))*(__libc_interposing_slot(INTERPOS_fdatasync))) + (fd)); } diff --git a/lib/libsys/fork.c b/lib/libsys/fork.c index 4feecb355a56..1c70c2587c32 100644 --- a/lib/libsys/fork.c +++ b/lib/libsys/fork.c @@ -39,5 +39,5 @@ __weak_reference(__sys_fork, __fork); pid_t fork(void) { - return (((pid_t (*)(void))__libsys_interposing[INTERPOS_fork])()); + return (((pid_t (*)(void))*(__libc_interposing_slot(INTERPOS_fork)))()); } diff --git a/lib/libsys/fsync.c b/lib/libsys/fsync.c index 92e3ae89bccc..aa33bbdf69e7 100644 --- a/lib/libsys/fsync.c +++ b/lib/libsys/fsync.c @@ -39,5 +39,5 @@ __weak_reference(__sys_fsync, __fsync); int fsync(int fd) { - return (((int (*)(int))__libsys_interposing[INTERPOS_fsync])(fd)); + return (((int (*)(int))*(__libc_interposing_slot(INTERPOS_fsync)))(fd)); } diff --git a/lib/libsys/interposing_table.c b/lib/libsys/interposing_table.c index e285def70fad..31cdb1511ab8 100644 --- a/lib/libsys/interposing_table.c +++ b/lib/libsys/interposing_table.c @@ -34,7 +34,7 @@ #define SLOT(a, b) \ [INTERPOS_##a] = (interpos_func_t)b -interpos_func_t __libsys_interposing[INTERPOS_MAX] = { +static interpos_func_t __libsys_interposing[INTERPOS_MAX] = { SLOT(accept, __sys_accept), SLOT(accept4, __sys_accept4), SLOT(aio_suspend, __sys_aio_suspend), diff --git a/lib/libsys/kevent.c b/lib/libsys/kevent.c index 4be825e5c078..e81bcabc568a 100644 --- a/lib/libsys/kevent.c +++ b/lib/libsys/kevent.c @@ -43,6 +43,6 @@ kevent(int kq, const struct kevent *changelist, int nchanges, { return (((int (*)(int, const struct kevent *, int, struct kevent *, int, const struct timespec *)) - __libsys_interposing[INTERPOS_kevent])(kq, changelist, nchanges, - eventlist, nevents, timeout)); + *(__libc_interposing_slot(INTERPOS_kevent))) + (kq, changelist, nchanges, eventlist, nevents, timeout)); } diff --git a/lib/libsys/lockf.c b/lib/libsys/lockf.c index bb98ebc1be82..3701cebbc190 100644 --- a/lib/libsys/lockf.c +++ b/lib/libsys/lockf.c @@ -63,8 +63,8 @@ lockf(int filedes, int function, off_t size) case F_TEST: fl.l_type = F_WRLCK; if (((int (*)(int, int, ...)) - __libsys_interposing[INTERPOS_fcntl])(filedes, F_GETLK, &fl) - == -1) + *(__libc_interposing_slot(INTERPOS_fcntl))) + (filedes, F_GETLK, &fl) == -1) return (-1); if (fl.l_type == F_UNLCK || (fl.l_sysid == 0 && fl.l_pid == getpid())) @@ -79,5 +79,5 @@ lockf(int filedes, int function, off_t size) } return (((int (*)(int, int, ...)) - __libsys_interposing[INTERPOS_fcntl])(filedes, cmd, &fl)); + *(__libc_interposing_slot(INTERPOS_fcntl)))(filedes, cmd, &fl)); } diff --git a/lib/libsys/msync.c b/lib/libsys/msync.c index 6836d4db265c..bda60db5c333 100644 --- a/lib/libsys/msync.c +++ b/lib/libsys/msync.c @@ -41,5 +41,5 @@ int msync(void *addr, size_t len, int flags) { return (((int (*)(void *, size_t, int)) - __libsys_interposing[INTERPOS_msync])(addr, len, flags)); + *(__libc_interposing_slot(INTERPOS_msync)))(addr, len, flags)); } diff --git a/lib/libsys/nanosleep.c b/lib/libsys/nanosleep.c index 83d54a1ca04a..daa4784363db 100644 --- a/lib/libsys/nanosleep.c +++ b/lib/libsys/nanosleep.c @@ -40,5 +40,5 @@ int nanosleep(const struct timespec *rqtp, struct timespec *rmtp) { return (((int (*)(const struct timespec *, struct timespec *)) - __libsys_interposing[INTERPOS_nanosleep])(rqtp, rmtp)); + *(__libc_interposing_slot(INTERPOS_nanosleep)))(rqtp, rmtp)); } diff --git a/lib/libsys/open.c b/lib/libsys/open.c index 0ab3e9c4501e..6ea18727c876 100644 --- a/lib/libsys/open.c +++ b/lib/libsys/open.c @@ -51,6 +51,6 @@ open(const char *path, int flags, ...) mode = 0; } return (((int (*)(int, const char *, int, ...)) - __libsys_interposing[INTERPOS_openat])(AT_FDCWD, path, flags, - mode)); + *(__libc_interposing_slot(INTERPOS_openat))) + (AT_FDCWD, path, flags, mode)); } diff --git a/lib/libsys/openat.c b/lib/libsys/openat.c index 4d8a0fc627cb..d49aafe35e62 100644 --- a/lib/libsys/openat.c +++ b/lib/libsys/openat.c @@ -54,5 +54,6 @@ openat(int fd, const char *path, int flags, ...) mode = 0; } return (((int (*)(int, const char *, int, ...)) - __libsys_interposing[INTERPOS_openat])(fd, path, flags, mode)); + *(__libc_interposing_slot(INTERPOS_openat))) + (fd, path, flags, mode)); } diff --git a/lib/libsys/pdfork.c b/lib/libsys/pdfork.c index 12cf6d858826..6830d878b414 100644 --- a/lib/libsys/pdfork.c +++ b/lib/libsys/pdfork.c @@ -37,6 +37,7 @@ pid_t pdfork(int *fdp, int flags) { - return (((pid_t (*)(int *, int))__libsys_interposing[INTERPOS_pdfork]) + return (((pid_t (*)(int *, int)) + *(__libc_interposing_slot(INTERPOS_pdfork))) (fdp, flags)); } diff --git a/lib/libsys/poll.c b/lib/libsys/poll.c index 58fbb64fdda5..93b0e1b3c8ed 100644 --- a/lib/libsys/poll.c +++ b/lib/libsys/poll.c @@ -40,5 +40,5 @@ int poll(struct pollfd pfd[], nfds_t nfds, int timeout) { return (((int (*)(struct pollfd *, nfds_t, int)) - __libsys_interposing[INTERPOS_poll])(pfd, nfds, timeout)); + *(__libc_interposing_slot(INTERPOS_poll)))(pfd, nfds, timeout)); } diff --git a/lib/libsys/ppoll.c b/lib/libsys/ppoll.c index 2ff693fc5b19..50e83975da2a 100644 --- a/lib/libsys/ppoll.c +++ b/lib/libsys/ppoll.c @@ -41,6 +41,6 @@ ppoll(struct pollfd pfd[], nfds_t nfds, const struct timespec *__restrict timeout, const sigset_t *__restrict newsigmask) { return (((int (*)(struct pollfd *, nfds_t, const struct timespec *, - const sigset_t *)) __libsys_interposing[INTERPOS_ppoll])(pfd, nfds, - timeout, newsigmask)); + const sigset_t *))*(__libc_interposing_slot(INTERPOS_ppoll))) + (pfd, nfds, timeout, newsigmask)); } diff --git a/lib/libsys/pselect.c b/lib/libsys/pselect.c index dfd918b4c6d2..a7776049013f 100644 --- a/lib/libsys/pselect.c +++ b/lib/libsys/pselect.c @@ -42,5 +42,5 @@ pselect(int n, fd_set *rs, fd_set *ws, fd_set *es, const struct timespec *t, { return (((int (*)(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *)) - __libsys_interposing[INTERPOS_pselect])(n, rs, ws, es, t, s)); + *(__libc_interposing_slot(INTERPOS_pselect)))(n, rs, ws, es, t, s)); } diff --git a/lib/libsys/read.c b/lib/libsys/read.c index 846e7185bc02..2b8185975a6a 100644 --- a/lib/libsys/read.c +++ b/lib/libsys/read.c @@ -41,5 +41,5 @@ ssize_t read(int fd, void *buf, size_t nbytes) { return (((ssize_t (*)(int, void *, size_t)) - __libsys_interposing[INTERPOS_read])(fd, buf, nbytes)); + *(__libc_interposing_slot(INTERPOS_read)))(fd, buf, nbytes)); } diff --git a/lib/libsys/readv.c b/lib/libsys/readv.c index 5493f7964098..62a8fa976e2b 100644 --- a/lib/libsys/readv.c +++ b/lib/libsys/readv.c @@ -42,5 +42,5 @@ ssize_t readv(int fd, const struct iovec *iov, int iovcnt) { return (((ssize_t (*)(int, const struct iovec *, int)) - __libsys_interposing[INTERPOS_readv])(fd, iov, iovcnt)); + *(__libc_interposing_slot(INTERPOS_readv)))(fd, iov, iovcnt)); } diff --git a/lib/libsys/recv.c b/lib/libsys/recv.c index db3d6216ed61..21caf2f841f6 100644 --- a/lib/libsys/recv.c +++ b/lib/libsys/recv.c @@ -44,6 +44,6 @@ recv(int s, void *buf, size_t len, int flags) */ return (((ssize_t (*)(int, void *, size_t, int, struct sockaddr *, socklen_t *)) - __libsys_interposing[INTERPOS_recvfrom])(s, buf, len, flags, - NULL, NULL)); + *(__libc_interposing_slot(INTERPOS_recvfrom))) + (s, buf, len, flags, NULL, NULL)); } diff --git a/lib/libsys/recvfrom.c b/lib/libsys/recvfrom.c index 630b27404b7a..0bb3c4c3b719 100644 --- a/lib/libsys/recvfrom.c +++ b/lib/libsys/recvfrom.c @@ -43,6 +43,6 @@ recvfrom(int s, void *buf, size_t len, int flags, { return (((ssize_t (*)(int, void *, size_t, int, struct sockaddr *, socklen_t *)) - __libsys_interposing[INTERPOS_recvfrom])(s, buf, len, flags, - from, fromlen)); + *(__libc_interposing_slot(INTERPOS_recvfrom))) + (s, buf, len, flags, from, fromlen)); } diff --git a/lib/libsys/recvmsg.c b/lib/libsys/recvmsg.c index 69b71c54e636..c8d631ebe56e 100644 --- a/lib/libsys/recvmsg.c +++ b/lib/libsys/recvmsg.c @@ -41,5 +41,5 @@ ssize_t recvmsg(int s, struct msghdr *msg, int flags) { return (((int (*)(int, struct msghdr *, int)) - __libsys_interposing[INTERPOS_recvmsg])(s, msg, flags)); + *(__libc_interposing_slot(INTERPOS_recvmsg)))(s, msg, flags)); } diff --git a/lib/libsys/select.c b/lib/libsys/select.c index 4b5862f72100..27f4ff10a1bb 100644 --- a/lib/libsys/select.c +++ b/lib/libsys/select.c @@ -40,5 +40,5 @@ int select(int n, fd_set *rs, fd_set *ws, fd_set *es, struct timeval *t) { return (((int (*)(int, fd_set *, fd_set *, fd_set *, struct timeval *)) - __libsys_interposing[INTERPOS_select])(n, rs, ws, es, t)); + *(__libc_interposing_slot(INTERPOS_select)))(n, rs, ws, es, t)); } diff --git a/lib/libsys/send.c b/lib/libsys/send.c index 94983553b1c3..4e945f969a65 100644 --- a/lib/libsys/send.c +++ b/lib/libsys/send.c @@ -44,6 +44,6 @@ send(int s, const void *msg, size_t len, int flags) */ return (((ssize_t (*)(int, const void *, size_t, int, const struct sockaddr *, socklen_t)) - __libsys_interposing[INTERPOS_sendto])(s, msg, len, flags, + *__libc_interposing_slot(INTERPOS_sendto))(s, msg, len, flags, NULL, 0)); } diff --git a/lib/libsys/sendmsg.c b/lib/libsys/sendmsg.c index 769bb4d2d136..488e0c736801 100644 --- a/lib/libsys/sendmsg.c +++ b/lib/libsys/sendmsg.c @@ -41,5 +41,5 @@ ssize_t sendmsg(int s, const struct msghdr *msg, int flags) { return (((int (*)(int, const struct msghdr *, int)) - __libsys_interposing[INTERPOS_sendmsg])(s, msg, flags)); + *(__libc_interposing_slot(INTERPOS_sendmsg)))(s, msg, flags)); } diff --git a/lib/libsys/sendto.c b/lib/libsys/sendto.c index 60104ba2e5c7..93d336cfca11 100644 --- a/lib/libsys/sendto.c +++ b/lib/libsys/sendto.c @@ -43,6 +43,6 @@ sendto(int s, const void *msg, size_t len, int flags, { return (((ssize_t (*)(int, const void *, size_t, int, const struct sockaddr *, socklen_t)) - __libsys_interposing[INTERPOS_sendto])(s, msg, len, flags, - to, tolen)); + *(__libc_interposing_slot(INTERPOS_sendto))) + (s, msg, len, flags, to, tolen)); } diff --git a/lib/libsys/setcontext.c b/lib/libsys/setcontext.c index 734bd9c186fe..e54d4ba82395 100644 --- a/lib/libsys/setcontext.c +++ b/lib/libsys/setcontext.c @@ -43,5 +43,5 @@ int setcontext(const ucontext_t *uc) { return (((int (*)(const ucontext_t *)) - __libsys_interposing[INTERPOS_setcontext])(uc)); + *(__libc_interposing_slot(INTERPOS_setcontext)))(uc)); } diff --git a/lib/libsys/sigaction.c b/lib/libsys/sigaction.c index 4fa7b5d8699b..07593a4e540d 100644 --- a/lib/libsys/sigaction.c +++ b/lib/libsys/sigaction.c @@ -41,5 +41,5 @@ int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) { return (((int (*)(int, const struct sigaction *, struct sigaction *)) - __libsys_interposing[INTERPOS_sigaction])(sig, act, oact)); + *(__libc_interposing_slot(INTERPOS_sigaction)))(sig, act, oact)); } diff --git a/lib/libsys/sigprocmask.c b/lib/libsys/sigprocmask.c index c0d86de4b156..6b20065ff6d1 100644 --- a/lib/libsys/sigprocmask.c +++ b/lib/libsys/sigprocmask.c @@ -41,5 +41,5 @@ int sigprocmask(int how, const sigset_t *set, sigset_t *oset) { return (((int (*)(int, const sigset_t *, sigset_t *)) - __libsys_interposing[INTERPOS_sigprocmask])(how, set, oset)); + *(__libc_interposing_slot(INTERPOS_sigprocmask)))(how, set, oset)); } diff --git a/lib/libsys/sigsuspend.c b/lib/libsys/sigsuspend.c index de57d645354d..32125eb846be 100644 --- a/lib/libsys/sigsuspend.c +++ b/lib/libsys/sigsuspend.c @@ -41,5 +41,5 @@ int sigsuspend(const sigset_t *set) { return (((int (*)(const sigset_t *)) - __libsys_interposing[INTERPOS_sigsuspend])(set)); + *(__libc_interposing_slot(INTERPOS_sigsuspend)))(set)); } diff --git a/lib/libsys/sigtimedwait.c b/lib/libsys/sigtimedwait.c index 0cfcbb9811bc..4b449407e754 100644 --- a/lib/libsys/sigtimedwait.c +++ b/lib/libsys/sigtimedwait.c @@ -42,5 +42,5 @@ sigtimedwait(const sigset_t * __restrict set, siginfo_t * __restrict info, { return (((int (*)(const sigset_t *, siginfo_t *, const struct timespec *)) - __libsys_interposing[INTERPOS_sigtimedwait])(set, info, t)); + *(__libc_interposing_slot(INTERPOS_sigtimedwait)))(set, info, t)); } diff --git a/lib/libsys/sigwait.c b/lib/libsys/sigwait.c index 412a9206b821..23c341461639 100644 --- a/lib/libsys/sigwait.c +++ b/lib/libsys/sigwait.c @@ -33,5 +33,5 @@ int sigwait(const sigset_t *set, int *sig) { return (((int (*)(const sigset_t *, int *)) - __libsys_interposing[INTERPOS_sigwait])(set, sig)); + *(__libc_interposing_slot(INTERPOS_sigwait)))(set, sig)); } diff --git a/lib/libsys/sigwaitinfo.c b/lib/libsys/sigwaitinfo.c index 277bd96a06a1..d8a0780441d1 100644 --- a/lib/libsys/sigwaitinfo.c +++ b/lib/libsys/sigwaitinfo.c @@ -40,5 +40,5 @@ int sigwaitinfo(const sigset_t * __restrict set, siginfo_t * __restrict info) { return (((int (*)(const sigset_t *, siginfo_t *)) - __libsys_interposing[INTERPOS_sigwaitinfo])(set, info)); + *(__libc_interposing_slot(INTERPOS_sigwaitinfo)))(set, info)); } diff --git a/lib/libsys/swapcontext.c b/lib/libsys/swapcontext.c index 28f7c9f769a7..0793dd838526 100644 --- a/lib/libsys/swapcontext.c +++ b/lib/libsys/swapcontext.c @@ -45,5 +45,5 @@ int swapcontext(ucontext_t *oucp, const ucontext_t *ucp) { return (((int (*)(ucontext_t *, const ucontext_t *)) - __libsys_interposing[INTERPOS_swapcontext])(oucp, ucp)); + *(__libc_interposing_slot(INTERPOS_swapcontext)))(oucp, ucp)); } diff --git a/lib/libsys/wait.c b/lib/libsys/wait.c index c400d07f9dd5..7c847a616003 100644 --- a/lib/libsys/wait.c +++ b/lib/libsys/wait.c @@ -44,7 +44,8 @@ pid_t __wait(int *istat) { return (((pid_t (*)(pid_t, int *, int, struct rusage *)) - __libsys_interposing[INTERPOS_wait4])(WAIT_ANY, istat, 0, NULL)); + *(__libc_interposing_slot(INTERPOS_wait4))) + (WAIT_ANY, istat, 0, NULL)); } __weak_reference(__wait, wait); diff --git a/lib/libsys/wait3.c b/lib/libsys/wait3.c index 40baf70ac6e6..5d7d7bc22a67 100644 --- a/lib/libsys/wait3.c +++ b/lib/libsys/wait3.c @@ -44,8 +44,8 @@ pid_t __wait3(int *istat, int options, struct rusage *rup) { return (((pid_t (*)(pid_t, int *, int, struct rusage *)) - __libsys_interposing[INTERPOS_wait4])(WAIT_ANY, istat, options, - rup)); + *(__libc_interposing_slot(INTERPOS_wait4))) + (WAIT_ANY, istat, options, rup)); } __weak_reference(__wait3, wait3); diff --git a/lib/libsys/wait4.c b/lib/libsys/wait4.c index bbd866a8bb16..eab2e9b6e2c0 100644 --- a/lib/libsys/wait4.c +++ b/lib/libsys/wait4.c @@ -40,5 +40,6 @@ pid_t wait4(pid_t pid, int *status, int options, struct rusage *ru) { return (((pid_t (*)(pid_t, int *, int, struct rusage *)) - __libsys_interposing[INTERPOS_wait4])(pid, status, options, ru)); + *(__libc_interposing_slot(INTERPOS_wait4))) + (pid, status, options, ru)); } diff --git a/lib/libsys/wait6.c b/lib/libsys/wait6.c index eab11d4a6212..eff40eae3b76 100644 --- a/lib/libsys/wait6.c +++ b/lib/libsys/wait6.c @@ -42,6 +42,6 @@ wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *ru, siginfo_t *infop) { return (((pid_t (*)(idtype_t, id_t, int *, int, struct __wrusage *, - siginfo_t *))__libsys_interposing[INTERPOS_wait6])(idtype, id, - status, options, ru, infop)); + siginfo_t *))*(__libc_interposing_slot(INTERPOS_wait6))) + (idtype, id, status, options, ru, infop)); } diff --git a/lib/libsys/waitid.c b/lib/libsys/waitid.c index b6e5ca33eed3..f885e8f55912 100644 --- a/lib/libsys/waitid.c +++ b/lib/libsys/waitid.c @@ -47,8 +47,8 @@ __waitid(idtype_t idtype, id_t id, siginfo_t *info, int flags) pid_t ret; ret = ((pid_t (*)(idtype_t, id_t, int *, int, struct __wrusage *, - siginfo_t *))__libsys_interposing[INTERPOS_wait6])(idtype, id, - &status, flags, NULL, info); + siginfo_t *))*(__libc_interposing_slot(INTERPOS_wait6))) + (idtype, id, &status, flags, NULL, info); /* * According to SUSv4, waitid() shall not return a PID when a diff --git a/lib/libsys/waitpid.c b/lib/libsys/waitpid.c index ba7e667218cf..971c598d6a93 100644 --- a/lib/libsys/waitpid.c +++ b/lib/libsys/waitpid.c @@ -44,7 +44,8 @@ pid_t __waitpid(pid_t pid, int *istat, int options) { return (((pid_t (*)(pid_t, int *, int, struct rusage *)) - __libsys_interposing[INTERPOS_wait4])(pid, istat, options, NULL)); + *(__libc_interposing_slot(INTERPOS_wait4))) + (pid, istat, options, NULL)); } __weak_reference(__waitpid, waitpid); diff --git a/lib/libsys/write.c b/lib/libsys/write.c index 5bb372c2b8f4..c2050374431b 100644 --- a/lib/libsys/write.c +++ b/lib/libsys/write.c @@ -41,5 +41,5 @@ ssize_t write(int fd, const void *buf, size_t nbytes) { return (((ssize_t (*)(int, const void *, size_t)) - __libsys_interposing[INTERPOS_write])(fd, buf, nbytes)); + *(__libc_interposing_slot(INTERPOS_write)))(fd, buf, nbytes)); } diff --git a/lib/libsys/writev.c b/lib/libsys/writev.c index d311cb075e3c..40f6f2f211ae 100644 --- a/lib/libsys/writev.c +++ b/lib/libsys/writev.c @@ -42,5 +42,5 @@ ssize_t writev(int fd, const struct iovec *iov, int iovcnt) { return (((ssize_t (*)(int, const struct iovec *, int)) - __libsys_interposing[INTERPOS_writev])(fd, iov, iovcnt)); + *(__libc_interposing_slot(INTERPOS_writev)))(fd, iov, iovcnt)); } From nobody Wed Mar 13 18:36:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TvzkC2XT5z5DRN5; Wed, 13 Mar 2024 18:36:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TvzkC1TT5z4Sd8; Wed, 13 Mar 2024 18:36:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710354995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xlPUJimje2t70H860P/bvpkOFhN0v9gbj9Kmo8zZTl8=; b=Fy/93P4NY09vlBcA4NP1ybbioJ9d5drckC5eIQDXN8b8VgMl4MlVPaCJpfddlATSX2Ky26 BfK5W+cFhzYKQ8QcYry5PWve9OZGFp0K55SYHY9/IA5HQP+mvT36blyRRgjeEFmx43NgUT RLY6Veu2ojhaTemXZ0J52wg4hpklDy5rr8HjTGYVcs5Oivl+LZqlo4bF4S5Nvq8l9uK4uk ooF+NmRLoHaf/GqggLdD+COq+xO0lj/pwWSN/cvSCme1kO6oK0s99npAkXakQRmExu5I3R ozwNJhp99Akm6UHIC1f+Znu7cXBeFX0s12FPJzO/vhMCaNaCYyWCVUJr3OCxog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710354995; a=rsa-sha256; cv=none; b=LVJB48h2OG5kCsQPfqZDueKbIJ+RsSWucbx/mkjEH3tn4yZdDgpICfo1dwiSBxBOfa1J1F ToO8nBKvQoN5Of3Fxu1QHi+75tdCb2vqa2tOROc5+I52R6MXJf8GPd0W+Mn6l3RrjvK8qm wkmfqqxt1NwpVA6BJ3gCgKK157lDQbl4AuG+WJxWJ65cDZdB7AVMWrtAOiN4nVgSy+nIGB 4UjnxyLdXZp2jXENzyZ3vUU2F/fbQlMstNJvGIKFCjLMo/SkCCeiKoffmelZkN58XNx+oo 9yxw9dRNCkJ9AhOfVgAdDjO45NGf2e/tkRIQbux3a+lz8kmJMjlrOj/Zn2TEpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710354995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xlPUJimje2t70H860P/bvpkOFhN0v9gbj9Kmo8zZTl8=; b=jUlW40SinLCKHnDS/+JkwBvwMBmvTcQdX+j4D85aGeqEZuQR70O5puNvvruIS51vNOdWMv syuDkOCJmIoy08mZhJ7oKwycP/ZCf4iGJ0LZFF1lthWzzsEz2IAOL6HDadv2XnMXRzF6Ri sxnYWcy8IjBB/Wn1GLRW3vrIrVKvW46k6TFF0X2NGzYdHYihAv5CDHfCEoItR6fjiD+dnN uZcopYApin4QZIHcDvbuPQrZ8w3e35QVv0wI1NZ+fDGJKOvwwuJBcTeXzpnRwMUybyXMJa mBkhF50/txnkhKoEiKNApl58QKN3kfCrjc7t7nYi0MIz5cv8sCtqYWXI2+SfNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TvzkC0y4vztYk; Wed, 13 Mar 2024 18:36:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DIaZE5002601; Wed, 13 Mar 2024 18:36:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DIaZT4002598; Wed, 13 Mar 2024 18:36:35 GMT (envelope-from git) Date: Wed, 13 Mar 2024 18:36:35 GMT Message-Id: <202403131836.42DIaZT4002598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: d7847a8d3514 - main - lib{c,sys}: return wrapped syscall APIs to libc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7847a8d351436a4654bd2c746bc9c04401160ee Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=d7847a8d351436a4654bd2c746bc9c04401160ee commit d7847a8d351436a4654bd2c746bc9c04401160ee Author: Brooks Davis AuthorDate: 2024-03-13 17:42:01 +0000 Commit: Brooks Davis CommitDate: 2024-03-13 18:36:02 +0000 lib{c,sys}: return wrapped syscall APIs to libc These provide standard APIs, but are implemented using another system call (e.g., pipe implemented in terms of pipe2) or are interposed by the threading library to support cancelation. After discussion with kib (see D44111), I've concluded that it is better to keep most public interfaces in libc with as little as possible in libsys. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44241 --- lib/libc/Makefile | 3 +- lib/libc/amd64/Symbol.map | 3 ++ lib/libc/arm/Symbol.map | 3 ++ lib/libc/i386/Symbol.map | 3 ++ lib/libc/powerpc/Symbol.map | 2 + lib/libc/powerpc64/Symbol.map | 2 + lib/libc/sys/Makefile.inc | 38 ++++++++++++++++ lib/{libsys => libc/sys}/POSIX2x_Fork.c | 0 lib/libc/sys/Symbol.map | 73 ++++++++++++++++++++++++++++++ lib/{libsys => libc/sys}/accept.c | 0 lib/{libsys => libc/sys}/accept4.c | 0 lib/{libsys => libc/sys}/aio_suspend.c | 0 lib/{libsys => libc/sys}/brk.c | 0 lib/{libsys => libc/sys}/clock_nanosleep.c | 0 lib/{libsys => libc/sys}/close.c | 0 lib/{libsys => libc/sys}/closefrom.c | 0 lib/{libsys => libc/sys}/compat-stub.c | 0 lib/{libsys => libc/sys}/connect.c | 0 lib/{libsys => libc/sys}/creat.c | 0 lib/{libsys => libc/sys}/fcntl.c | 0 lib/{libsys => libc/sys}/fdatasync.c | 0 lib/{libsys => libc/sys}/fork.c | 0 lib/{libsys => libc/sys}/fsync.c | 0 lib/{libsys => libc/sys}/getdents.c | 0 lib/{libsys => libc/sys}/kevent.c | 0 lib/{libsys => libc/sys}/lockf.c | 0 lib/{libsys => libc/sys}/lstat.c | 0 lib/{libsys => libc/sys}/mknod.c | 0 lib/{libsys => libc/sys}/msync.c | 0 lib/{libsys => libc/sys}/nanosleep.c | 0 lib/{libsys => libc/sys}/open.c | 0 lib/{libsys => libc/sys}/openat.c | 0 lib/{libsys => libc/sys}/pdfork.c | 0 lib/{libsys => libc/sys}/pipe.c | 0 lib/{libsys => libc/sys}/poll.c | 0 lib/{libsys => libc/sys}/ppoll.c | 0 lib/{libsys => libc/sys}/pselect.c | 0 lib/{libsys => libc/sys}/read.c | 0 lib/{libsys => libc/sys}/readv.c | 0 lib/{libsys => libc/sys}/recv.c | 0 lib/{libsys => libc/sys}/recvfrom.c | 0 lib/{libsys => libc/sys}/recvmsg.c | 0 lib/{libsys => libc/sys}/select.c | 0 lib/{libsys => libc/sys}/send.c | 0 lib/{libsys => libc/sys}/sendmsg.c | 0 lib/{libsys => libc/sys}/sendto.c | 0 lib/{libsys => libc/sys}/setcontext.c | 0 lib/{libsys => libc/sys}/shm_open.c | 0 lib/{libsys => libc/sys}/sigaction.c | 0 lib/{libsys => libc/sys}/sigprocmask.c | 0 lib/{libsys => libc/sys}/sigsuspend.c | 0 lib/{libsys => libc/sys}/sigtimedwait.c | 0 lib/{libsys => libc/sys}/sigwait.c | 0 lib/{libsys => libc/sys}/sigwaitinfo.c | 0 lib/{libsys => libc/sys}/stat.c | 0 lib/{libsys => libc/sys}/swapcontext.c | 0 lib/{libsys => libc/sys}/vadvise.c | 0 lib/{libsys => libc/sys}/wait.c | 0 lib/{libsys => libc/sys}/wait3.c | 0 lib/{libsys => libc/sys}/wait4.c | 0 lib/{libsys => libc/sys}/wait6.c | 0 lib/{libsys => libc/sys}/waitid.c | 0 lib/{libsys => libc/sys}/waitpid.c | 0 lib/{libsys => libc/sys}/write.c | 0 lib/{libsys => libc/sys}/writev.c | 0 lib/libsys/Makefile.sys | 16 ------- lib/libsys/Symbol.sys.map | 50 -------------------- lib/libsys/amd64/Symbol.sys.map | 8 ---- lib/libsys/arm/Symbol.sys.map | 7 --- lib/libsys/i386/Symbol.sys.map | 3 -- lib/libsys/powerpc/Symbol.sys.map | 4 -- lib/libsys/powerpc64/Symbol.sys.map | 4 -- 72 files changed, 125 insertions(+), 94 deletions(-) diff --git a/lib/libc/Makefile b/lib/libc/Makefile index aa6a737002c4..674986a7e065 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -122,8 +122,7 @@ NOASM= .include "${LIBC_SRCTOP}/stdlib/Makefile.inc" .include "${LIBC_SRCTOP}/stdtime/Makefile.inc" .include "${LIBC_SRCTOP}/string/Makefile.inc" -SHARED_CFLAGS+= -D'_SYSCALL_BODY(name)=' -.include "${LIBSYS_SRCTOP}/Makefile.sys" +.include "${LIBC_SRCTOP}/sys/Makefile.inc" .include "${LIBC_SRCTOP}/secure/Makefile.inc" .include "${LIBC_SRCTOP}/rpc/Makefile.inc" .include "${LIBC_SRCTOP}/uuid/Makefile.inc" diff --git a/lib/libc/amd64/Symbol.map b/lib/libc/amd64/Symbol.map index 2fc723102f90..36f54de24fbd 100644 --- a/lib/libc/amd64/Symbol.map +++ b/lib/libc/amd64/Symbol.map @@ -6,6 +6,7 @@ FBSD_1.0 { .mcount; __flt_rounds; + brk; fpgetmask; fpgetprec; fpgetround; @@ -13,6 +14,7 @@ FBSD_1.0 { fpsetmask; fpsetprec; fpsetround; + sbrk; }; /* @@ -26,4 +28,5 @@ FBSDprivate_1.0 { __signalcontext; signalcontext; __siglongjmp; + _brk; }; diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map index ac5a7184b2a1..d8a62c367514 100644 --- a/lib/libc/arm/Symbol.map +++ b/lib/libc/arm/Symbol.map @@ -6,6 +6,8 @@ FBSD_1.0 { __mcount; alloca; + brk; + sbrk; }; FBSD_1.3 { @@ -23,6 +25,7 @@ FBSD_1.6 { }; FBSDprivate_1.0 { + _brk; __aeabi_read_tp; ___longjmp; __longjmp; diff --git a/lib/libc/i386/Symbol.map b/lib/libc/i386/Symbol.map index 2278db54c583..d7961009417e 100644 --- a/lib/libc/i386/Symbol.map +++ b/lib/libc/i386/Symbol.map @@ -5,8 +5,10 @@ */ FBSD_1.0 { .mcount; + brk; __flt_rounds; ___tls_get_addr; + sbrk; }; FBSDprivate_1.0 { @@ -15,4 +17,5 @@ FBSDprivate_1.0 { __signalcontext; signalcontext; __siglongjmp; + _brk; }; diff --git a/lib/libc/powerpc/Symbol.map b/lib/libc/powerpc/Symbol.map index 0996b79369f3..f836a08ae0d4 100644 --- a/lib/libc/powerpc/Symbol.map +++ b/lib/libc/powerpc/Symbol.map @@ -6,11 +6,13 @@ FBSD_1.0 { _mcount; __flt_rounds; + brk; fpgetmask; fpgetround; fpgetsticky; fpsetmask; fpsetround; + sbrk; }; FBSD_1.3 { diff --git a/lib/libc/powerpc64/Symbol.map b/lib/libc/powerpc64/Symbol.map index edccb69e960b..62f20e7f352c 100644 --- a/lib/libc/powerpc64/Symbol.map +++ b/lib/libc/powerpc64/Symbol.map @@ -6,9 +6,11 @@ FBSD_1.0 { _mcount; __flt_rounds; + brk; fpgetmask; fpgetround; fpgetsticky; fpsetmask; fpsetround; + sbrk; }; diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc new file mode 100644 index 000000000000..ee761ce5ff55 --- /dev/null +++ b/lib/libc/sys/Makefile.inc @@ -0,0 +1,38 @@ +# libc-specific portion of the system call interface + +.PATH: ${LIBC_SRCTOP}/sys + +# Most of the implementation is shared with libsys: +.include "${LIBSYS_SRCTOP}/Makefile.sys" + +# emit empty assembly stubs for syscalls in dynamic libc +SHARED_CFLAGS+= -D'_SYSCALL_BODY(name)=' + +SYM_MAPS+= ${LIBC_SRCTOP}/sys/Symbol.map + +# Add the interposer wrappers +SRCS+= ${INTERPOSED:S/$/.c/} + +# Pseudo system calls implemented atop other interfaces. +SRCS+= \ + POSIX2x_Fork.c \ + brk.c \ + closefrom.c \ + compat-stub.c \ + creat.c \ + getdents.c \ + lockf.c \ + lstat.c \ + mknod.c \ + pipe.c \ + recv.c \ + recvmmsg.c \ + send.c \ + sendmmsg.c \ + shm_open.c \ + stat.c \ + vadvise.c \ + wait.c \ + wait3.c \ + waitid.c \ + waitpid.c diff --git a/lib/libsys/POSIX2x_Fork.c b/lib/libc/sys/POSIX2x_Fork.c similarity index 100% rename from lib/libsys/POSIX2x_Fork.c rename to lib/libc/sys/POSIX2x_Fork.c diff --git a/lib/libc/sys/Symbol.map b/lib/libc/sys/Symbol.map new file mode 100644 index 000000000000..32b1b0ecee05 --- /dev/null +++ b/lib/libc/sys/Symbol.map @@ -0,0 +1,73 @@ +FBSD_1.0 { + accept; + aio_suspend; + close; + connect; + fcntl; + fork; + fsync; + msync; + nanosleep; + open; + pipe; + poll; + pselect; + ptrace; + read; + readv; + recvfrom; + recvmsg; + select; + sendmsg; + sendto; + shm_open; + sigaction; + sigprocmask; + sigsuspend; + sigtimedwait; + sigwait; + sigwaitinfo; + vadvise; + wait4; + write; + writev; +}; + +FBSD_1.1 { + closefrom; +}; + +FBSD_1.2 { + pdfork; +}; + +FBSD_1.3 { + accept4; + wait6; +}; + +FBSD_1.4 { + ppoll; + numa_setaffinity; + numa_getaffinity; + sendmmsg; + recvmmsg; +}; + +FBSD_1.5 { + clock_nanosleep; + fdatasync; + getdents; + kevent; + lstat; + mknod; + stat; +}; + +FBSD_1.6 { + shm_create_largepage; +}; + +FBSD_1.7 { + _Fork; +}; diff --git a/lib/libsys/accept.c b/lib/libc/sys/accept.c similarity index 100% rename from lib/libsys/accept.c rename to lib/libc/sys/accept.c diff --git a/lib/libsys/accept4.c b/lib/libc/sys/accept4.c similarity index 100% rename from lib/libsys/accept4.c rename to lib/libc/sys/accept4.c diff --git a/lib/libsys/aio_suspend.c b/lib/libc/sys/aio_suspend.c similarity index 100% rename from lib/libsys/aio_suspend.c rename to lib/libc/sys/aio_suspend.c diff --git a/lib/libsys/brk.c b/lib/libc/sys/brk.c similarity index 100% rename from lib/libsys/brk.c rename to lib/libc/sys/brk.c diff --git a/lib/libsys/clock_nanosleep.c b/lib/libc/sys/clock_nanosleep.c similarity index 100% rename from lib/libsys/clock_nanosleep.c rename to lib/libc/sys/clock_nanosleep.c diff --git a/lib/libsys/close.c b/lib/libc/sys/close.c similarity index 100% rename from lib/libsys/close.c rename to lib/libc/sys/close.c diff --git a/lib/libsys/closefrom.c b/lib/libc/sys/closefrom.c similarity index 100% rename from lib/libsys/closefrom.c rename to lib/libc/sys/closefrom.c diff --git a/lib/libsys/compat-stub.c b/lib/libc/sys/compat-stub.c similarity index 100% rename from lib/libsys/compat-stub.c rename to lib/libc/sys/compat-stub.c diff --git a/lib/libsys/connect.c b/lib/libc/sys/connect.c similarity index 100% rename from lib/libsys/connect.c rename to lib/libc/sys/connect.c diff --git a/lib/libsys/creat.c b/lib/libc/sys/creat.c similarity index 100% rename from lib/libsys/creat.c rename to lib/libc/sys/creat.c diff --git a/lib/libsys/fcntl.c b/lib/libc/sys/fcntl.c similarity index 100% rename from lib/libsys/fcntl.c rename to lib/libc/sys/fcntl.c diff --git a/lib/libsys/fdatasync.c b/lib/libc/sys/fdatasync.c similarity index 100% rename from lib/libsys/fdatasync.c rename to lib/libc/sys/fdatasync.c diff --git a/lib/libsys/fork.c b/lib/libc/sys/fork.c similarity index 100% rename from lib/libsys/fork.c rename to lib/libc/sys/fork.c diff --git a/lib/libsys/fsync.c b/lib/libc/sys/fsync.c similarity index 100% rename from lib/libsys/fsync.c rename to lib/libc/sys/fsync.c diff --git a/lib/libsys/getdents.c b/lib/libc/sys/getdents.c similarity index 100% rename from lib/libsys/getdents.c rename to lib/libc/sys/getdents.c diff --git a/lib/libsys/kevent.c b/lib/libc/sys/kevent.c similarity index 100% rename from lib/libsys/kevent.c rename to lib/libc/sys/kevent.c diff --git a/lib/libsys/lockf.c b/lib/libc/sys/lockf.c similarity index 100% rename from lib/libsys/lockf.c rename to lib/libc/sys/lockf.c diff --git a/lib/libsys/lstat.c b/lib/libc/sys/lstat.c similarity index 100% rename from lib/libsys/lstat.c rename to lib/libc/sys/lstat.c diff --git a/lib/libsys/mknod.c b/lib/libc/sys/mknod.c similarity index 100% rename from lib/libsys/mknod.c rename to lib/libc/sys/mknod.c diff --git a/lib/libsys/msync.c b/lib/libc/sys/msync.c similarity index 100% rename from lib/libsys/msync.c rename to lib/libc/sys/msync.c diff --git a/lib/libsys/nanosleep.c b/lib/libc/sys/nanosleep.c similarity index 100% rename from lib/libsys/nanosleep.c rename to lib/libc/sys/nanosleep.c diff --git a/lib/libsys/open.c b/lib/libc/sys/open.c similarity index 100% rename from lib/libsys/open.c rename to lib/libc/sys/open.c diff --git a/lib/libsys/openat.c b/lib/libc/sys/openat.c similarity index 100% rename from lib/libsys/openat.c rename to lib/libc/sys/openat.c diff --git a/lib/libsys/pdfork.c b/lib/libc/sys/pdfork.c similarity index 100% rename from lib/libsys/pdfork.c rename to lib/libc/sys/pdfork.c diff --git a/lib/libsys/pipe.c b/lib/libc/sys/pipe.c similarity index 100% rename from lib/libsys/pipe.c rename to lib/libc/sys/pipe.c diff --git a/lib/libsys/poll.c b/lib/libc/sys/poll.c similarity index 100% rename from lib/libsys/poll.c rename to lib/libc/sys/poll.c diff --git a/lib/libsys/ppoll.c b/lib/libc/sys/ppoll.c similarity index 100% rename from lib/libsys/ppoll.c rename to lib/libc/sys/ppoll.c diff --git a/lib/libsys/pselect.c b/lib/libc/sys/pselect.c similarity index 100% rename from lib/libsys/pselect.c rename to lib/libc/sys/pselect.c diff --git a/lib/libsys/read.c b/lib/libc/sys/read.c similarity index 100% rename from lib/libsys/read.c rename to lib/libc/sys/read.c diff --git a/lib/libsys/readv.c b/lib/libc/sys/readv.c similarity index 100% rename from lib/libsys/readv.c rename to lib/libc/sys/readv.c diff --git a/lib/libsys/recv.c b/lib/libc/sys/recv.c similarity index 100% rename from lib/libsys/recv.c rename to lib/libc/sys/recv.c diff --git a/lib/libsys/recvfrom.c b/lib/libc/sys/recvfrom.c similarity index 100% rename from lib/libsys/recvfrom.c rename to lib/libc/sys/recvfrom.c diff --git a/lib/libsys/recvmsg.c b/lib/libc/sys/recvmsg.c similarity index 100% rename from lib/libsys/recvmsg.c rename to lib/libc/sys/recvmsg.c diff --git a/lib/libsys/select.c b/lib/libc/sys/select.c similarity index 100% rename from lib/libsys/select.c rename to lib/libc/sys/select.c diff --git a/lib/libsys/send.c b/lib/libc/sys/send.c similarity index 100% rename from lib/libsys/send.c rename to lib/libc/sys/send.c diff --git a/lib/libsys/sendmsg.c b/lib/libc/sys/sendmsg.c similarity index 100% rename from lib/libsys/sendmsg.c rename to lib/libc/sys/sendmsg.c diff --git a/lib/libsys/sendto.c b/lib/libc/sys/sendto.c similarity index 100% rename from lib/libsys/sendto.c rename to lib/libc/sys/sendto.c diff --git a/lib/libsys/setcontext.c b/lib/libc/sys/setcontext.c similarity index 100% rename from lib/libsys/setcontext.c rename to lib/libc/sys/setcontext.c diff --git a/lib/libsys/shm_open.c b/lib/libc/sys/shm_open.c similarity index 100% rename from lib/libsys/shm_open.c rename to lib/libc/sys/shm_open.c diff --git a/lib/libsys/sigaction.c b/lib/libc/sys/sigaction.c similarity index 100% rename from lib/libsys/sigaction.c rename to lib/libc/sys/sigaction.c diff --git a/lib/libsys/sigprocmask.c b/lib/libc/sys/sigprocmask.c similarity index 100% rename from lib/libsys/sigprocmask.c rename to lib/libc/sys/sigprocmask.c diff --git a/lib/libsys/sigsuspend.c b/lib/libc/sys/sigsuspend.c similarity index 100% rename from lib/libsys/sigsuspend.c rename to lib/libc/sys/sigsuspend.c diff --git a/lib/libsys/sigtimedwait.c b/lib/libc/sys/sigtimedwait.c similarity index 100% rename from lib/libsys/sigtimedwait.c rename to lib/libc/sys/sigtimedwait.c diff --git a/lib/libsys/sigwait.c b/lib/libc/sys/sigwait.c similarity index 100% rename from lib/libsys/sigwait.c rename to lib/libc/sys/sigwait.c diff --git a/lib/libsys/sigwaitinfo.c b/lib/libc/sys/sigwaitinfo.c similarity index 100% rename from lib/libsys/sigwaitinfo.c rename to lib/libc/sys/sigwaitinfo.c diff --git a/lib/libsys/stat.c b/lib/libc/sys/stat.c similarity index 100% rename from lib/libsys/stat.c rename to lib/libc/sys/stat.c diff --git a/lib/libsys/swapcontext.c b/lib/libc/sys/swapcontext.c similarity index 100% rename from lib/libsys/swapcontext.c rename to lib/libc/sys/swapcontext.c diff --git a/lib/libsys/vadvise.c b/lib/libc/sys/vadvise.c similarity index 100% rename from lib/libsys/vadvise.c rename to lib/libc/sys/vadvise.c diff --git a/lib/libsys/wait.c b/lib/libc/sys/wait.c similarity index 100% rename from lib/libsys/wait.c rename to lib/libc/sys/wait.c diff --git a/lib/libsys/wait3.c b/lib/libc/sys/wait3.c similarity index 100% rename from lib/libsys/wait3.c rename to lib/libc/sys/wait3.c diff --git a/lib/libsys/wait4.c b/lib/libc/sys/wait4.c similarity index 100% rename from lib/libsys/wait4.c rename to lib/libc/sys/wait4.c diff --git a/lib/libsys/wait6.c b/lib/libc/sys/wait6.c similarity index 100% rename from lib/libsys/wait6.c rename to lib/libc/sys/wait6.c diff --git a/lib/libsys/waitid.c b/lib/libc/sys/waitid.c similarity index 100% rename from lib/libsys/waitid.c rename to lib/libc/sys/waitid.c diff --git a/lib/libsys/waitpid.c b/lib/libc/sys/waitpid.c similarity index 100% rename from lib/libsys/waitpid.c rename to lib/libc/sys/waitpid.c diff --git a/lib/libsys/write.c b/lib/libc/sys/write.c similarity index 100% rename from lib/libsys/write.c rename to lib/libc/sys/write.c diff --git a/lib/libsys/writev.c b/lib/libc/sys/writev.c similarity index 100% rename from lib/libsys/writev.c rename to lib/libc/sys/writev.c diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index e798a94e4ae0..98a9688e58a1 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -40,21 +40,6 @@ SRCS+= \ interposing_table.c \ libsys_sigwait.c -SRCS+= getdents.c lstat.c mknod.c stat.c - -SRCS+= creat.c -SRCS+= lockf.c wait.c wait3.c waitpid.c waitid.c -SRCS+= recv.c recvmmsg.c send.c sendmmsg.c - -SRCS+= brk.c -SRCS+= closefrom.c -SRCS+= pipe.c -SRCS+= shm_open.c -SRCS+= vadvise.c -SRCS+= POSIX2x_Fork.c - -SRCS+= compat-stub.c - .if ${LIB} == "c" # Trapping stubs in dynamic libc to be filtered by libsys. SOBJS+= libc_stubs.pico @@ -113,7 +98,6 @@ INTERPOSED = \ write \ writev -SRCS+= ${INTERPOSED:S/$/.c/} PSEUDO+= ${INTERPOSED} # Add machine dependent asm sources: diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index fa27dc95aea4..8d68d23686a8 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -33,7 +33,6 @@ FBSD_1.0 { _exit; _umtx_op; abort2; - accept; access; acct; adjtime; @@ -42,7 +41,6 @@ FBSD_1.0 { aio_fsync; aio_read; aio_return; - aio_suspend; aio_waitcomplete; aio_write; audit; @@ -57,8 +55,6 @@ FBSD_1.0 { clock_getres; clock_gettime; clock_settime; - close; - connect; dup; dup2; eaccess; @@ -81,12 +77,9 @@ FBSD_1.0 { fchflags; fchmod; fchown; - fcntl; fhopen; flock; - fork; fpathconf; - fsync; futimes; getaudit; getaudit_addr; @@ -173,32 +166,21 @@ FBSD_1.0 { msgrcv; msgsnd; msgsys; - msync; munlock; munlockall; munmap; - nanosleep; nfssvc; nmount; ntp_adjtime; ntp_gettime; - open; pathconf; - pipe; - poll; posix_openpt; preadv; profil; - pselect; - ptrace; pwritev; quotactl; - read; readlink; - readv; reboot; - recvfrom; - recvmsg; rename; revoke; rfork; @@ -213,13 +195,10 @@ FBSD_1.0 { sched_setparam; sched_setscheduler; sched_yield; - select; semget; semop; semsys; sendfile; - sendmsg; - sendto; setaudit; setaudit_addr; setauid; @@ -240,23 +219,16 @@ FBSD_1.0 { setsockopt; settimeofday; setuid; - shm_open; shm_unlink; shmat; shmdt; shmget; shmsys; shutdown; - sigaction; sigaltstack; sigpending; - sigprocmask; sigqueue; sigreturn; - sigsuspend; - sigtimedwait; - sigwait; - sigwaitinfo; socket; socketpair; swapon; @@ -285,11 +257,7 @@ FBSD_1.0 { utimes; utrace; uuidgen; - vadvise; vfork; - wait4; - write; - writev; __error; ftruncate; @@ -302,7 +270,6 @@ FBSD_1.0 { FBSD_1.1 { __semctl; - closefrom; cpuset; cpuset_getid; cpuset_setid; @@ -334,7 +301,6 @@ FBSD_1.2 { cap_getmode; getloginclass; getpagesizes; - pdfork; pdgetpid; pdkill; posix_fallocate; @@ -347,7 +313,6 @@ FBSD_1.2 { }; FBSD_1.3 { - accept4; aio_mlock; bindat; cap_fcntls_get; @@ -365,37 +330,24 @@ FBSD_1.3 { pipe2; posix_fadvise; procctl; - wait6; }; FBSD_1.4 { futimens; - ppoll; utimensat; - numa_setaffinity; - numa_getaffinity; - sendmmsg; - recvmmsg; }; FBSD_1.5 { - clock_nanosleep; elf_aux_info; - fdatasync; fhstat; fhstatfs; fstat; fstatat; fstatfs; - getdents; getdirentries; getfsstat; getrandom; - kevent; - lstat; - mknod; mknodat; - stat; statfs; cpuset_getdomain; cpuset_setdomain; @@ -412,12 +364,10 @@ FBSD_1.6 { fhreadlink; getfhat; funlinkat; - shm_create_largepage; shm_rename; }; FBSD_1.7 { - _Fork; fspacectl; kqueuex; membarrier; diff --git a/lib/libsys/amd64/Symbol.sys.map b/lib/libsys/amd64/Symbol.sys.map index 5e0714aef35d..5f463c85f872 100644 --- a/lib/libsys/amd64/Symbol.sys.map +++ b/lib/libsys/amd64/Symbol.sys.map @@ -4,8 +4,6 @@ FBSD_1.0 { amd64_get_gsbase; amd64_set_fsbase; amd64_set_gsbase; - brk; - sbrk; }; FBSD_1.6 { @@ -15,12 +13,6 @@ FBSD_1.6 { x86_pkru_unprotect_range; }; -/* - * - * FreeBSD private ABI - * - */ FBSDprivate_1.0 { - _brk; _vfork; }; diff --git a/lib/libsys/arm/Symbol.sys.map b/lib/libsys/arm/Symbol.sys.map index 179889b60832..a9445ae7ba23 100644 --- a/lib/libsys/arm/Symbol.sys.map +++ b/lib/libsys/arm/Symbol.sys.map @@ -1,10 +1,3 @@ -FBSD_1.0 { - brk; - sbrk; -}; - FBSDprivate_1.0 { _vfork; - _brk; - _sbrk; }; diff --git a/lib/libsys/i386/Symbol.sys.map b/lib/libsys/i386/Symbol.sys.map index 7d8c4ef61c11..303804935435 100644 --- a/lib/libsys/i386/Symbol.sys.map +++ b/lib/libsys/i386/Symbol.sys.map @@ -1,6 +1,5 @@ FBSD_1.0 { rfork_thread; - brk; i386_clr_watch; i386_get_fsbase; i386_get_gsbase; @@ -12,7 +11,6 @@ FBSD_1.0 { i386_set_ldt; i386_set_watch; i386_vm86; - sbrk; }; FBSD_1.6 { @@ -24,5 +22,4 @@ FBSD_1.6 { FBSDprivate_1.0 { _vfork; - _brk; }; diff --git a/lib/libsys/powerpc/Symbol.sys.map b/lib/libsys/powerpc/Symbol.sys.map deleted file mode 100644 index f241c4ed0984..000000000000 --- a/lib/libsys/powerpc/Symbol.sys.map +++ /dev/null @@ -1,4 +0,0 @@ -FBSD_1.0 { - brk; - sbrk; -}; diff --git a/lib/libsys/powerpc64/Symbol.sys.map b/lib/libsys/powerpc64/Symbol.sys.map deleted file mode 100644 index f241c4ed0984..000000000000 --- a/lib/libsys/powerpc64/Symbol.sys.map +++ /dev/null @@ -1,4 +0,0 @@ -FBSD_1.0 { - brk; - sbrk; -}; From nobody Wed Mar 13 19:14:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw0Z20cmQz5DV2N; Wed, 13 Mar 2024 19:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw0Z206Vhz4YFx; Wed, 13 Mar 2024 19:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710357274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5T/dGT/51uecTHq97Wlhgil9hHbzWZHzlHeqQaYLYpI=; b=ZFssOGNz6KmtZEYzTvoWUtFh8XgizYoyVjBpg9TkHAOxGB7Ylt+qWlmgKho9H6qcbNFOTi t4uhrxdgaSRXBSkIQBYtw/HSNlMbAAi0QkPqcuPfqpxWkiTosNaBtA0wtDZMIz9Bf0NGfm pPF943ME4RoGhmTI5o4S52GmOKTJmhB7kkyeJP4L5XRRCBhhX4tJDgeYk5FlHK5SM4i7Ea gto3bGsV85voPYwf75c/Dxk8hrkGWqVBeZJQxsWN4X7I2nKc+51qF945X1eJopj8UKR5aF kwHajtouGDypra1Xfq1KAtd3hEbB2FyNyMVkZc7j1iXdNeHdFoRQz3ylC/bAOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710357274; a=rsa-sha256; cv=none; b=IViOnC/OOim9sU5jzPn4dkIDxEyVORM6FeX3Fq1ToskanLtt8TBlEVTxaZPZzyULGHLO3D uQy1pRMZzw1lue1AiN/gUR5MRyhMn6ZyV0irzxZEBSMqHPDNJy40hJL/xjHc8hz6VoBJ5y NkiwnzpQxIOpt6/IKA9dNdtSWpuL+JJRYYEYl2FEW100MuDtG37D3eapoHV8n7rDloNFAq TRvDsGcI0uWTPukRPgUGZlRvQzft2RLO40zHObT9IerqTUppQ1A6xEvyBIy0nIGKd4gXGy t5HEAqLxe57Txj8AJQFFS4i7us8VF3RIPLbGaCKssq+X+gThBbGN4Sd0uxkLDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710357274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5T/dGT/51uecTHq97Wlhgil9hHbzWZHzlHeqQaYLYpI=; b=u39LrGYKqb5NmAmYtgFI4HQre9rp7iWogOJpJyER6Vip4WKoyQMtxJkrLmYltJSLx4CFqC uRmzcPrcc83rRhW5DvoiGkAqyFg0H1mKuAKhLZZiEWxUVPow2/PumSDHBDvFFCNNH2/mRv IOBOR2981sFzbZd/p8f0wF3WjdOFa29bLrHOj4kH4J1kVBXxofMdXcIzkAFamUuCpsLa9J 8rxqOVhrNeYq+7emJlzC36H8IbP/DDm0NQneQD+Ak6mEMYKnSK1imb19kFdM/hUz2ZB+R6 seW/KldApkGvex+7/j0hgQFfCzGDqZfBPjDRXsmzCF0bGzGtPY5crCQ166Gn2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw0Z16qkczvl7; Wed, 13 Mar 2024 19:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DJEXhG069828; Wed, 13 Mar 2024 19:14:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DJEXIE069825; Wed, 13 Mar 2024 19:14:33 GMT (envelope-from git) Date: Wed, 13 Mar 2024 19:14:33 GMT Message-Id: <202403131914.42DJEXIE069825@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: e4315bbc85b7 - main - tcp: move struct tcp_ifcap declaration under _KERNEL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e4315bbc85b7b0cf4c92d27b261f5ccf97bd1ed1 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e4315bbc85b7b0cf4c92d27b261f5ccf97bd1ed1 commit e4315bbc85b7b0cf4c92d27b261f5ccf97bd1ed1 Author: Gleb Smirnoff AuthorDate: 2024-03-13 19:14:18 +0000 Commit: Gleb Smirnoff CommitDate: 2024-03-13 19:14:18 +0000 tcp: move struct tcp_ifcap declaration under _KERNEL Reviewed by: rscheff, tuexen, kib Differential Revision: https://reviews.freebsd.org/D44340 --- sys/netinet/tcp_var.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index b2603f97e6f9..6f7f7115c2f4 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -895,17 +895,6 @@ struct hc_metrics_lite { /* must stay in sync with hc_metrics */ uint32_t rmx_recvpipe; /* inbound delay-bandwidth product */ }; -/* - * Used by tcp_maxmtu() to communicate interface specific features - * and limits at the time of connection setup. - */ -struct tcp_ifcap { - int ifcap; - u_int tsomax; - u_int tsomaxsegcount; - u_int tsomaxsegsize; -}; - #ifndef _NETINET_IN_PCB_H_ struct in_conninfo; #endif /* _NETINET_IN_PCB_H_ */ @@ -1438,8 +1427,19 @@ extern int32_t tcp_attack_on_turns_on_logging; extern uint32_t tcp_ack_war_time_window; extern uint32_t tcp_ack_war_cnt; +/* + * Used by tcp_maxmtu() to communicate interface specific features + * and limits at the time of connection setup. + */ +struct tcp_ifcap { + int ifcap; + u_int tsomax; + u_int tsomaxsegcount; + u_int tsomaxsegsize; +}; uint32_t tcp_maxmtu(struct in_conninfo *, struct tcp_ifcap *); uint32_t tcp_maxmtu6(struct in_conninfo *, struct tcp_ifcap *); + void tcp6_use_min_mtu(struct tcpcb *); u_int tcp_maxseg(const struct tcpcb *); u_int tcp_fixed_maxseg(const struct tcpcb *); From nobody Wed Mar 13 20:09:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw1nr0lmZz5DZjH; Wed, 13 Mar 2024 20:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw1nq70z0z4dld; Wed, 13 Mar 2024 20:09:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710360592; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IWeb9tloBrvdZdEMWJbSA4u3t0et47OF8WmqVdo9Z7w=; b=jqjbzhZMdrESxeJHxJMKUoHhs2Kxkaaeh6gbT3NQzoKIeFjNaF0FAq8CCtZRegPNCsY1q6 X2U+eyMDmFpQbe1kt9pP39geV2x1x8bAU/yEIt7xaaT8C/BfY5DDN7u6R1av5F9voiOIp9 0rmYE2yMjDdai0fHx7QNnzQTcgpnIrck3Oygtmu0x3JWaV3blbqnAGUTMv1yfIYbb/ru1y o2svM/ZxcTeCcmp+VnRfprcdjm8rh3LQ7bmB/oBBpG6FVQBS/QrTXNSlmDmQvHANJWnGbs Gwiy4Hs+vksnVRTqc8JizS3WrG2ZSj6qjn4Yi813DLxlTln1H5mtudoWhycu3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710360592; a=rsa-sha256; cv=none; b=thM4NgqMTi+M1i1eYVebXYP2ybBRK2N8ZKhcAa1AiZ9b2O9Qv+YwDgC3MF/iSpanvuEVC0 Y3AVleUvOlQO5D/+aLYrOVEDMZdneV7XmZ2Es9G5OxJ/Z3OYf0HKDtEmfjiYDXlZ/JhgAt er2ykgQiprNXv42wmfgpGeVCSR1p99n7hA0L2KL4N57b36aqfZh2U5pwKAi2Xknmtio5Nq +DFwtI2ecnPmmwPq9ujOKCsucmV07WBFaoYhHGy2RjY6fWfUWJRpF/9XR5+BqUEYqkrQ01 RW11l092t7eXGcbWnSq25njJSPBpXrF6VuGNj/JOn9N6Vda2NYbhi2qvOBl/Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710360592; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IWeb9tloBrvdZdEMWJbSA4u3t0et47OF8WmqVdo9Z7w=; b=QW3HVln3sxfK5VIJw+v1d0Zfsh5sewXIHKI+2GirhS5kZVNqFcPs+69MV++kj2UxF85TgY t9hlrZ+TXoEehOWXzG0MIS5VmIa9cpIpomBgi6cnNy+rd0+ON9hTe+xObt+kHCEdrILdta qUrOE5/j3IlJogviIxmZ2P+wPB+purpLVbKSPqXiU70BCTkY5IILZ6zLlh93ND6Qx+ELIk 9cKexIFwc3vQSggs0INpCiYQhOaHix5UHXiQgn9eOc+5kEF8RPTXkydd5vYKtwG1VIvYiQ 4jj6CpWo/EF29WeL0YV5AZLlKYzlbvI2T62A0oGcXsmV02n18BYPQiBPD3tz2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw1nq6cJdzxTw; Wed, 13 Mar 2024 20:09:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DK9pDs055680; Wed, 13 Mar 2024 20:09:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DK9pqF055677; Wed, 13 Mar 2024 20:09:51 GMT (envelope-from git) Date: Wed, 13 Mar 2024 20:09:51 GMT Message-Id: <202403132009.42DK9pqF055677@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: ccf4d5eed25b - main - lib{c,sys}: fix powerpcspe build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccf4d5eed25b5edc6807ac2eb5047929f61dfd0a Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=ccf4d5eed25b5edc6807ac2eb5047929f61dfd0a commit ccf4d5eed25b5edc6807ac2eb5047929f61dfd0a Author: Brooks Davis AuthorDate: 2024-03-13 20:07:02 +0000 Commit: Brooks Davis CommitDate: 2024-03-13 20:09:41 +0000 lib{c,sys}: fix powerpcspe build libsys/powerpc/Symbol.sys.map was removed due to all symbols moving to libc. Fixes: d7847a8d3514 lib{c,sys}: return wrapped syscall APIs to libc --- lib/libsys/powerpcspe/Makefile.sys | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/libsys/powerpcspe/Makefile.sys b/lib/libsys/powerpcspe/Makefile.sys index 3ab87bf3ded8..35909d68cd5e 100644 --- a/lib/libsys/powerpcspe/Makefile.sys +++ b/lib/libsys/powerpcspe/Makefile.sys @@ -1,7 +1,5 @@ CFLAGS+= -I${LIBC_SRCTOP}/powerpc CFLAGS+= -I${LIBSYS_SRCTOP}/powerpc -SYM_MAPS+= ${LIBSYS_SRCTOP}/powerpc/Symbol.sys.map - .PATH: ${LIBSYS_SRCTOP}/powerpc .include "${LIBSYS_SRCTOP}/powerpc/Makefile.sys" From nobody Wed Mar 13 20:19:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw2100pztz5Db3Q; Wed, 13 Mar 2024 20:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw2100CjHz4frm; Wed, 13 Mar 2024 20:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710361172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kIE9eGavlKWTxn1A5nYDmUwh0n2XuEbgDKiyBzNIvfM=; b=nKE7/ZaOn36PNqnDSRP0bg0s++s8CLfpQsIkd3HgBmXlDvkWfUEVvA8zFWU7VEqKy2YzCm VrDa8DE/pi3c3nSy6sWQ4BS4kvcHNy5OPil/uMln++PFLSGtLf4DB2U85Uz4ZAFHnIzQ6T EpgaH6Zu0v+AWZsGQ7JjAQYnG1JKZ86UKiPSxbZQY5vcXNP7zPk6cHg3ugIoZaApQFdRZA fLEGRzIGk5agRIF13qpf6RJlnntUukOIpJ9dc13J4aimCfofdibQzRj8xolPYNbqmb7QPA DPnnTAr39C0gGY+a8psU39HpxUh4MPcSgSOEaFUsTEoQKfdvN6pRhD319SPhiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710361172; a=rsa-sha256; cv=none; b=Cco26+edg85Bu9XuykCbw4okZbYywak/8YThlV2fBHw74EE4KlBxwMv2X5OdfrFmfyqILW ne+gWzON7Y3ih+wusdgrWQ18WEJkxbIgdTsvvVVetZNhpSXvCcWge69Ln2rtkJQqMoC2Qs cZjkrJVNbbYiuopuZ3o6Co5gq0vXBz1axrJlpDtJr9BoPgXL9rqIlBp8j2fzxi+Vc5ywn6 Uqhd1vojWFzoeDqo1bVlsGfiqzzP15R19avUZqZya+BQ67HODb14IYJQeUw5scIa5QvRT+ foy9wCAkrBBDwVJu1JD03/aN9ZCMw6sA/lxW0+glxFaHnIY9p6V4Ei+QqeUxBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710361172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kIE9eGavlKWTxn1A5nYDmUwh0n2XuEbgDKiyBzNIvfM=; b=mRTtZJ6MNnISL/1DqK8pCdKU7FPin05xx8aIO7zMxgnhNV/vcSsuNEQFg43t7H0jY+J6pn g3k4dNsL5bLnCErl3w9ve84nyTX14TFEminy4APgH5Fwdn6qYsp3NEuMHoQSQA56jq4K3p ar8suKINuj1hUONPOrWrVENA1sHkvHqTQssyp3dVw/OakZIYDyD8CCqDACSTbLtGoFEiTm 0TThaHMFho/r7ECCKo7CfeqrRsUGyuhdbrlrqsvLGGZmQmuIej8vKqQ3vvG5/evOp9BGfO TlNxuGzKoSyRcI7gWXUYLjYKBIgefMi/7dQLfJvfgECk5iUeJyy7zFyYwUiFTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw20z6wcJzxT2; Wed, 13 Mar 2024 20:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DKJVZZ073008; Wed, 13 Mar 2024 20:19:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DKJVAr073005; Wed, 13 Mar 2024 20:19:31 GMT (envelope-from git) Date: Wed, 13 Mar 2024 20:19:31 GMT Message-Id: <202403132019.42DKJVAr073005@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: f980f48f1369 - main - Revert "new-bus: Disable assertions for rman mismatches for activate/deactivate" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f980f48f1369cda3f1f5e84e54e45b738bf0dd0b Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f980f48f1369cda3f1f5e84e54e45b738bf0dd0b commit f980f48f1369cda3f1f5e84e54e45b738bf0dd0b Author: John Baldwin AuthorDate: 2024-03-13 20:19:10 +0000 Commit: John Baldwin CommitDate: 2024-03-13 20:19:10 +0000 Revert "new-bus: Disable assertions for rman mismatches for activate/deactivate" With recent fixes to the ACPI and pcib drivers to translate mapping requests of child resources into mappings of sub-ranges of parent resources these assertions should now be true. This reverts commit ed88eef140a1c3d57d546f409c216806dd3da809. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43691 --- sys/kern/subr_bus.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index c06f3df0c9c9..a485e6dd2641 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -4322,12 +4322,12 @@ bus_generic_rman_activate_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { struct resource_map map; -#ifdef INVARIANTS_XXX +#ifdef INVARIANTS struct rman *rm; #endif int error; -#ifdef INVARIANTS_XXX +#ifdef INVARIANTS rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); KASSERT(rman_is_region_manager(r, rm), ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); @@ -4361,12 +4361,12 @@ bus_generic_rman_deactivate_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { struct resource_map map; -#ifdef INVARIANTS_XXX +#ifdef INVARIANTS struct rman *rm; #endif int error; -#ifdef INVARIANTS_XXX +#ifdef INVARIANTS rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); KASSERT(rman_is_region_manager(r, rm), ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); From nobody Wed Mar 13 20:35:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw2Mt4sGfz5DchL; Wed, 13 Mar 2024 20:35:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw2Mt2f3Xz4hHd; Wed, 13 Mar 2024 20:35:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710362154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5OAUkMU6wzA6oiEDlMW/uy8rDtc6MMmpwUT7fFS/i3Y=; b=mK1EuQGr5/qQfFrJenTf5M/JaoQoHC6kSoY/a6gTNYxLzqc3iJAoBvi72mqcK8pLJPhPk+ 6pI+jV3EtV8I7Oc4jDo5GwyVTwGDjeAIBxEE/hLsGFC9KaTrxqQKkgc0b1gUjJlnxpBUnV M8uyAnpLe/AZM0etZ1F8cTgeX3Nv7eyIo4TjW8UAxezJ4BuJni/Qg9Ep7tSHrwb0OicteH 9E8m/Pwf88cUU8njqUvc32hU/YkpI8F4kWap8+MKRIXuaTCPnWoCCTUWh3rjjW0r4clH2R pWUr2nGDix7avjXX0Sl+u2KPtCpbd/wtz2xzed+e8ILXY8ewjF5q+4Mzf6sm0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710362154; a=rsa-sha256; cv=none; b=sD16jHhUU5rOAjV3KntkPye/6LBN9fwAMgZwjIJbC306tlXWxW20eaQMFzrixQBooSgsMf nI74mrVGn+FD3fyUynYIQXNBmWI7v9CACPhRSbc1kbMr0Gk+t28aFUstzKohvC50igkLFh btakKSUjW7EXXHscqsJyqbOrTUE0IWKVILUgy9/+DrqW38JilIAMc9EROKk1ffV2hinDno Il6M21xDz54jOnpD2Fz6/gpygbynue446Abcluq1yeV5Ub8abkeVbU4UptIi8nIV3atBM8 GZwq0iNOFoUGrVCFcv6J8j2E98IZ8DQNzL/SULvPkcIALKbxcbwA6FWBbyZ8gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710362154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5OAUkMU6wzA6oiEDlMW/uy8rDtc6MMmpwUT7fFS/i3Y=; b=rNrOQusydLT0wHrbiA0wB104X+6RQHFqwpTqGc15lHXd36Apa+Vc9IxZ8ptBcZO8wVudCB C4llpDwP7fCN1oP0EsZUdDTdWf2Kd6aO72uChfxPDcTKT9dsDxnkv/sIXVAsVxu+fjjUrn VuQ0BWZjU4d6ozkcHMQM5+O0zkgdHASX3fweH6qL+tKw9F0AtFs+4zcZxsEQZebHh1/YoH o5HczX7LjSP6kzDKoKmwpDj0MJH4jmLSsSwYztVWegKPX+TJhJIKINtf8JSdHkO1OMn5PH 4NMliJQmtcL+ZAoVpuGIiQ9b9zrCPDommHdPB+yqDuwcqUCunlD64hIyvYY3IA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw2Mt2FWvzy5Q; Wed, 13 Mar 2024 20:35:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DKZsAL005586; Wed, 13 Mar 2024 20:35:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DKZs7Y005583; Wed, 13 Mar 2024 20:35:54 GMT (envelope-from git) Date: Wed, 13 Mar 2024 20:35:54 GMT Message-Id: <202403132035.42DKZs7Y005583@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: bf8a3a816d4b - main - libc/softfloat: we don't export _fp[gs]et* symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf8a3a816d4b3ca79d78c437b60bb4d169e590ad Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=bf8a3a816d4b3ca79d78c437b60bb4d169e590ad commit bf8a3a816d4b3ca79d78c437b60bb4d169e590ad Author: Brooks Davis AuthorDate: 2024-03-13 20:34:46 +0000 Commit: Brooks Davis CommitDate: 2024-03-13 20:35:41 +0000 libc/softfloat: we don't export _fp[gs]et* symbols Remove attempts to use NetBSD __weak_alias macros to export _-prefixed versions of various fp[sg]et* symbols under softfloat. __weak_alias isn't defined so we didn't export them and thus the Symbol.map entries were wrong. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D44327 --- lib/libc/arm/gen/fpgetmask_vfp.c | 4 ---- lib/libc/arm/gen/fpgetsticky_vfp.c | 4 ---- lib/libc/powerpc/Symbol.map | 1 - lib/libc/powerpc/gen/fpgetsticky.c | 4 ---- lib/libc/powerpc64/gen/fpgetsticky.c | 4 ---- lib/libc/powerpcspe/gen/fpgetsticky.c | 4 ---- lib/libc/softfloat/Symbol.map | 6 ------ lib/libc/softfloat/fpgetmask.c | 5 ----- lib/libc/softfloat/fpgetsticky.c | 5 ----- 9 files changed, 37 deletions(-) diff --git a/lib/libc/arm/gen/fpgetmask_vfp.c b/lib/libc/arm/gen/fpgetmask_vfp.c index a4ed8d1afbec..5e73a274dafa 100644 --- a/lib/libc/arm/gen/fpgetmask_vfp.c +++ b/lib/libc/arm/gen/fpgetmask_vfp.c @@ -28,10 +28,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fpgetmask,_fpgetmask) -#endif - #define FP_X_MASK (FP_X_INV | FP_X_DZ | FP_X_OFL | FP_X_UFL | FP_X_IMP) fp_except_t diff --git a/lib/libc/arm/gen/fpgetsticky_vfp.c b/lib/libc/arm/gen/fpgetsticky_vfp.c index 7d278c3ad849..651610dddf83 100644 --- a/lib/libc/arm/gen/fpgetsticky_vfp.c +++ b/lib/libc/arm/gen/fpgetsticky_vfp.c @@ -28,10 +28,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fpgetsticky,_fpgetsticky) -#endif - #define FP_X_MASK (FP_X_INV | FP_X_DZ | FP_X_OFL | FP_X_UFL | FP_X_IMP) fp_except diff --git a/lib/libc/powerpc/Symbol.map b/lib/libc/powerpc/Symbol.map index f836a08ae0d4..ccf74c1748e4 100644 --- a/lib/libc/powerpc/Symbol.map +++ b/lib/libc/powerpc/Symbol.map @@ -20,7 +20,6 @@ FBSD_1.3 { }; FBSDprivate_1.0 { - _fpgetsticky; __longjmp; signalcontext; __signalcontext; diff --git a/lib/libc/powerpc/gen/fpgetsticky.c b/lib/libc/powerpc/gen/fpgetsticky.c index d609586360fe..3512c97f8cf9 100644 --- a/lib/libc/powerpc/gen/fpgetsticky.c +++ b/lib/libc/powerpc/gen/fpgetsticky.c @@ -38,10 +38,6 @@ #include #ifndef _SOFT_FLOAT -#ifdef __weak_alias -__weak_alias(fpgetsticky,_fpgetsticky) -#endif - fp_except_t fpgetsticky() { diff --git a/lib/libc/powerpc64/gen/fpgetsticky.c b/lib/libc/powerpc64/gen/fpgetsticky.c index d609586360fe..3512c97f8cf9 100644 --- a/lib/libc/powerpc64/gen/fpgetsticky.c +++ b/lib/libc/powerpc64/gen/fpgetsticky.c @@ -38,10 +38,6 @@ #include #ifndef _SOFT_FLOAT -#ifdef __weak_alias -__weak_alias(fpgetsticky,_fpgetsticky) -#endif - fp_except_t fpgetsticky() { diff --git a/lib/libc/powerpcspe/gen/fpgetsticky.c b/lib/libc/powerpcspe/gen/fpgetsticky.c index 58bdc43cef38..a97c27296cab 100644 --- a/lib/libc/powerpcspe/gen/fpgetsticky.c +++ b/lib/libc/powerpcspe/gen/fpgetsticky.c @@ -37,10 +37,6 @@ #include #ifndef _SOFT_FLOAT -#ifdef __weak_alias -__weak_alias(fpgetsticky,_fpgetsticky) -#endif - fp_except_t fpgetsticky() { diff --git a/lib/libc/softfloat/Symbol.map b/lib/libc/softfloat/Symbol.map index 9c5229a18066..d412eb417765 100644 --- a/lib/libc/softfloat/Symbol.map +++ b/lib/libc/softfloat/Symbol.map @@ -1,15 +1,9 @@ FBSD_1.0 { - _fpgetmask; fpgetmask; - _fpgetround; fpgetround; - _fpgetsticky; fpgetsticky; - _fpsetmask; fpsetmask; - _fpsetround; fpsetround; - _fpsetsticky; fpsetsticky; }; diff --git a/lib/libc/softfloat/fpgetmask.c b/lib/libc/softfloat/fpgetmask.c index c417e163d770..86cf89020668 100644 --- a/lib/libc/softfloat/fpgetmask.c +++ b/lib/libc/softfloat/fpgetmask.c @@ -40,13 +40,8 @@ #include "milieu.h" #include "softfloat.h" -#ifdef __weak_alias -__weak_alias(fpgetmask,_fpgetmask) -#endif - fp_except fpgetmask(void) { - return float_exception_mask; } diff --git a/lib/libc/softfloat/fpgetsticky.c b/lib/libc/softfloat/fpgetsticky.c index 2d31d9149a21..f42c348784e1 100644 --- a/lib/libc/softfloat/fpgetsticky.c +++ b/lib/libc/softfloat/fpgetsticky.c @@ -40,13 +40,8 @@ #include "milieu.h" #include "softfloat.h" -#ifdef __weak_alias -__weak_alias(fpgetsticky,_fpgetsticky) -#endif - fp_except fpgetsticky(void) { - return float_exception_flags; } From nobody Wed Mar 13 21:08:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw35T1ZHyz5DgGQ; Wed, 13 Mar 2024 21:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw35T14Knz4k3D; Wed, 13 Mar 2024 21:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710364109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ZdQOPBwyrqhb/VrJycxjKgwhX9XwbqQKknDK+mA5lM=; b=ganBytNqd9b+JVFixfVuEv4YGK863PvJUETn1f8P847kojZFHkaftnhGiidc8sftn1QfkB vaCF5rZI3EGSpvb+Vk+fH0qej2ZLAGB2S0vI7lgHExVOuM5Fka/ZWdWOvOXPH75X6VKa90 9Bu/HrAr8cSC30pNWZhUiCkdZJpapalf23zljNExfUbU/OUZHsbsCU19mgTAmBZC3pHFFs BsOq0zbqvASYkQBDTdXFWUnAUb/c5l7prYU55AJMHgsjBpk3+n61xqJ9ZSnUVU30QiX6lR 7ZR4pEjcZNDbhGt+ZSS3QClHbzQP7XkLz0fDBY+i+F5WzzYp87sfh2tSfRdR/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710364109; a=rsa-sha256; cv=none; b=KaS4HzXjCKXQyW2cRyjW+o54gGnkn74UY9QA+dEXvGeSRJCvlMQFHmWiT2ppvzaXHEee6S gXfXDx6Vc4BWeuXxcr0o616gFqisC1jWlERpRW7tO99RTLOktPns4JPrMMR5QwC9NXhQAd C9zjpFeSU/rybOjWDqfNu6lkdgjtCRqqowGogSYVYNzR9Qni06jlm9bYAUqxREyeUAVkYF /fevzmrkpiea493flKuO+MAmDY6WcfqDth4ttET0JZM8KeFLwcTKR7WZFsQqgh3ynYDutQ 0D3ksfZl7jjqGh28yNEAFR1hbeA+IWj0DQ63xLFiQFriVYdys8Ejh+ddSSBrIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710364109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ZdQOPBwyrqhb/VrJycxjKgwhX9XwbqQKknDK+mA5lM=; b=qu83iq9JQ2UeDtdV/cb0Wlx6yf9Nw8kU869/XBRpPDKEqnhI/NrlX51GoLCc+ZTlr+oZtG lF5mMxbbkxMi5aO2RBa74030qqGqN6W8eGV5KHpzBY1f6EIQLuA1ykpPHqZ9asx2SbOJAp siNiofhjrGvpUfisiFwOMVEolFC5jx4yQcgren7Kwv7nvAUndjlZcMvYzLQZJ2+0p/kU4S 0GOAfgJQ/M8weZshx3+Nt3dD1in7KcawlLQXq9jN7ICVyV1POfNcaTOBtW/Z9Un6o2+Rkb jMJ7TZmOUPvOa1kUAH34vRnaKsVfPuOD8BlUvLyF66jib+0KwCZDjxm81+JAUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw35T0gWwzyGn; Wed, 13 Mar 2024 21:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DL8Tu6057296; Wed, 13 Mar 2024 21:08:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DL8TbO057293; Wed, 13 Mar 2024 21:08:29 GMT (envelope-from git) Date: Wed, 13 Mar 2024 21:08:29 GMT Message-Id: <202403132108.42DL8TbO057293@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 85df11a1dec6 - main - ktls: deep copy tls_enable struct for in-kernel tcp consumers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 85df11a1dec6eab9efbce9fd20712402a8e7ac7c Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=85df11a1dec6eab9efbce9fd20712402a8e7ac7c commit 85df11a1dec6eab9efbce9fd20712402a8e7ac7c Author: Richard Scheffenegger AuthorDate: 2024-03-13 11:35:51 +0000 Commit: Richard Scheffenegger CommitDate: 2024-03-13 12:23:13 +0000 ktls: deep copy tls_enable struct for in-kernel tcp consumers Doing a deep copy of the keys early allows users of the tls_enable structure to assume kernel memory. This enables the socket options to be set by kernel threads. Reviewed By: #transport, tuexen, jhb, rrs Sponsored by: NetApp, Inc. X-NetApp-PR: #79 Differential Revision: https://reviews.freebsd.org/D44250 --- sys/kern/uipc_ktls.c | 96 ++++++++++++++++++++++++++++++++++++++++-------- sys/netinet/tcp_usrreq.c | 44 ++++------------------ sys/sys/ktls.h | 17 +++++---- 3 files changed, 97 insertions(+), 60 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index deba6940bbee..df296090ec97 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -297,10 +297,86 @@ SYSCTL_COUNTER_U64(_kern_ipc_tls_toe, OID_AUTO, chacha20, CTLFLAG_RD, static MALLOC_DEFINE(M_KTLS, "ktls", "Kernel TLS"); +static void ktls_reclaim_thread(void *ctx); static void ktls_reset_receive_tag(void *context, int pending); static void ktls_reset_send_tag(void *context, int pending); static void ktls_work_thread(void *ctx); -static void ktls_reclaim_thread(void *ctx); + +int +ktls_copyin_tls_enable(struct sockopt *sopt, struct tls_enable *tls) +{ + struct tls_enable_v0 tls_v0; + int error; + uint8_t *cipher_key = NULL, *iv = NULL, *auth_key = NULL; + + if (sopt->sopt_valsize == sizeof(tls_v0)) { + error = sooptcopyin(sopt, &tls_v0, sizeof(tls_v0), sizeof(tls_v0)); + if (error != 0) + goto done; + memset(tls, 0, sizeof(*tls)); + tls->cipher_key = tls_v0.cipher_key; + tls->iv = tls_v0.iv; + tls->auth_key = tls_v0.auth_key; + tls->cipher_algorithm = tls_v0.cipher_algorithm; + tls->cipher_key_len = tls_v0.cipher_key_len; + tls->iv_len = tls_v0.iv_len; + tls->auth_algorithm = tls_v0.auth_algorithm; + tls->auth_key_len = tls_v0.auth_key_len; + tls->flags = tls_v0.flags; + tls->tls_vmajor = tls_v0.tls_vmajor; + tls->tls_vminor = tls_v0.tls_vminor; + } else + error = sooptcopyin(sopt, tls, sizeof(*tls), sizeof(*tls)); + + if (error != 0) + goto done; + + /* + * Now do a deep copy of the variable-length arrays in the struct, so that + * subsequent consumers of it can reliably assume kernel memory. This + * requires doing our own allocations, which we will free in the + * error paths so that our caller need only worry about outstanding + * allocations existing on successful return. + */ + cipher_key = malloc(tls->cipher_key_len, M_KTLS, M_WAITOK); + iv = malloc(tls->iv_len, M_KTLS, M_WAITOK); + auth_key = malloc(tls->auth_key_len, M_KTLS, M_WAITOK); + if (sopt->sopt_td != NULL) { + error = copyin(tls->cipher_key, cipher_key, tls->cipher_key_len); + if (error != 0) + goto done; + error = copyin(tls->iv, iv, tls->iv_len); + if (error != 0) + goto done; + error = copyin(tls->auth_key, auth_key, tls->auth_key_len); + if (error != 0) + goto done; + } else { + bcopy(tls->cipher_key, cipher_key, tls->cipher_key_len); + bcopy(tls->iv, iv, tls->iv_len); + bcopy(tls->auth_key, auth_key, tls->auth_key_len); + } + tls->cipher_key = cipher_key; + tls->iv = iv; + tls->auth_key = auth_key; + +done: + if (error != 0) { + zfree(cipher_key, M_KTLS); + zfree(iv, M_KTLS); + zfree(auth_key, M_KTLS); + } + + return (error); +} + +void +ktls_cleanup_tls_enable(struct tls_enable *tls) +{ + zfree(__DECONST(void *, tls->cipher_key), M_KTLS); + zfree(__DECONST(void *, tls->iv), M_KTLS); + zfree(__DECONST(void *, tls->auth_key), M_KTLS); +} static u_int ktls_get_cpu(struct socket *so) @@ -702,18 +778,12 @@ ktls_create_session(struct socket *so, struct tls_enable *en, tls->params.auth_key_len = en->auth_key_len; tls->params.auth_key = malloc(en->auth_key_len, M_KTLS, M_WAITOK); - error = copyin(en->auth_key, tls->params.auth_key, - en->auth_key_len); - if (error) - goto out; + bcopy(en->auth_key, tls->params.auth_key, en->auth_key_len); } tls->params.cipher_key_len = en->cipher_key_len; tls->params.cipher_key = malloc(en->cipher_key_len, M_KTLS, M_WAITOK); - error = copyin(en->cipher_key, tls->params.cipher_key, - en->cipher_key_len); - if (error) - goto out; + bcopy(en->cipher_key, tls->params.cipher_key, en->cipher_key_len); /* * This holds the implicit portion of the nonce for AEAD @@ -722,9 +792,7 @@ ktls_create_session(struct socket *so, struct tls_enable *en, */ if (en->iv_len != 0) { tls->params.iv_len = en->iv_len; - error = copyin(en->iv, tls->params.iv, en->iv_len); - if (error) - goto out; + bcopy(en->iv, tls->params.iv, en->iv_len); /* * For TLS 1.2 with GCM, generate an 8-byte nonce as a @@ -740,10 +808,6 @@ ktls_create_session(struct socket *so, struct tls_enable *en, *tlsp = tls; return (0); - -out: - ktls_free(tls); - return (error); } static struct ktls_session * diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index a73d2a15c1d5..916fe33e8704 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1914,37 +1914,6 @@ CTASSERT(TCP_CA_NAME_MAX <= TCP_LOG_ID_LEN); CTASSERT(TCP_LOG_REASON_LEN <= TCP_LOG_ID_LEN); #endif -#ifdef KERN_TLS -static int -copyin_tls_enable(struct sockopt *sopt, struct tls_enable *tls) -{ - struct tls_enable_v0 tls_v0; - int error; - - if (sopt->sopt_valsize == sizeof(tls_v0)) { - error = sooptcopyin(sopt, &tls_v0, sizeof(tls_v0), - sizeof(tls_v0)); - if (error) - return (error); - memset(tls, 0, sizeof(*tls)); - tls->cipher_key = tls_v0.cipher_key; - tls->iv = tls_v0.iv; - tls->auth_key = tls_v0.auth_key; - tls->cipher_algorithm = tls_v0.cipher_algorithm; - tls->cipher_key_len = tls_v0.cipher_key_len; - tls->iv_len = tls_v0.iv_len; - tls->auth_algorithm = tls_v0.auth_algorithm; - tls->auth_key_len = tls_v0.auth_key_len; - tls->flags = tls_v0.flags; - tls->tls_vmajor = tls_v0.tls_vmajor; - tls->tls_vminor = tls_v0.tls_vminor; - return (0); - } - - return (sooptcopyin(sopt, tls, sizeof(*tls), sizeof(*tls))); -} -#endif - extern struct cc_algo newreno_cc_algo; static int @@ -2292,15 +2261,16 @@ unlock_and_done: #ifdef KERN_TLS case TCP_TXTLS_ENABLE: INP_WUNLOCK(inp); - error = copyin_tls_enable(sopt, &tls); - if (error) + error = ktls_copyin_tls_enable(sopt, &tls); + if (error != 0) break; error = ktls_enable_tx(so, &tls); + ktls_cleanup_tls_enable(&tls); break; case TCP_TXTLS_MODE: INP_WUNLOCK(inp); error = sooptcopyin(sopt, &ui, sizeof(ui), sizeof(ui)); - if (error) + if (error != 0) return (error); INP_WLOCK_RECHECK(inp); @@ -2309,11 +2279,11 @@ unlock_and_done: break; case TCP_RXTLS_ENABLE: INP_WUNLOCK(inp); - error = sooptcopyin(sopt, &tls, sizeof(tls), - sizeof(tls)); - if (error) + error = ktls_copyin_tls_enable(sopt, &tls); + if (error != 0) break; error = ktls_enable_rx(so, &tls); + ktls_cleanup_tls_enable(&tls); break; #endif case TCP_MAXUNACKTIME: diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h index 693864394ffe..9b3433f4b1fd 100644 --- a/sys/sys/ktls.h +++ b/sys/sys/ktls.h @@ -174,6 +174,7 @@ struct m_snd_tag; struct mbuf; struct sockbuf; struct socket; +struct sockopt; struct ktls_session { struct ktls_ocf_session *ocf_session; @@ -213,27 +214,29 @@ typedef enum { } ktls_mbuf_crypto_st_t; void ktls_check_rx(struct sockbuf *sb); -ktls_mbuf_crypto_st_t ktls_mbuf_crypto_state(struct mbuf *mb, int offset, int len); +void ktls_cleanup_tls_enable(struct tls_enable *tls); +int ktls_copyin_tls_enable(struct sockopt *sopt, struct tls_enable *tls); void ktls_disable_ifnet(void *arg); int ktls_enable_rx(struct socket *so, struct tls_enable *en); int ktls_enable_tx(struct socket *so, struct tls_enable *en); +void ktls_enqueue(struct mbuf *m, struct socket *so, int page_count); +void ktls_enqueue_to_free(struct mbuf *m); void ktls_destroy(struct ktls_session *tls); void ktls_frame(struct mbuf *m, struct ktls_session *tls, int *enqueue_cnt, uint8_t record_type); -bool ktls_permit_empty_frames(struct ktls_session *tls); -void ktls_seq(struct sockbuf *sb, struct mbuf *m); -void ktls_enqueue(struct mbuf *m, struct socket *so, int page_count); -void ktls_enqueue_to_free(struct mbuf *m); int ktls_get_rx_mode(struct socket *so, int *modep); -int ktls_set_tx_mode(struct socket *so, int mode); int ktls_get_tx_mode(struct socket *so, int *modep); int ktls_get_rx_sequence(struct inpcb *inp, uint32_t *tcpseq, uint64_t *tlsseq); void ktls_input_ifp_mismatch(struct sockbuf *sb, struct ifnet *ifp); -int ktls_output_eagain(struct inpcb *inp, struct ktls_session *tls); +ktls_mbuf_crypto_st_t ktls_mbuf_crypto_state(struct mbuf *mb, int offset, int len); #ifdef RATELIMIT int ktls_modify_txrtlmt(struct ktls_session *tls, uint64_t max_pacing_rate); #endif +int ktls_output_eagain(struct inpcb *inp, struct ktls_session *tls); bool ktls_pending_rx_info(struct sockbuf *sb, uint64_t *seqnop, size_t *residp); +bool ktls_permit_empty_frames(struct ktls_session *tls); +void ktls_seq(struct sockbuf *sb, struct mbuf *m); +int ktls_set_tx_mode(struct socket *so, int mode); static inline struct ktls_session * ktls_hold(struct ktls_session *tls) From nobody Wed Mar 13 22:13:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4XY2fqlz5DXVN; Wed, 13 Mar 2024 22:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4XY1sxvz4qV6; Wed, 13 Mar 2024 22:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=puSl6nrbJVw1SWBFUK0enim06ITsEJxde5lugFvIth4=; b=LIk/6qOHAQ6flqLfRE/newREreEoS07VswOcFFFBMQG/0jXxw7v38aoVHaj0mGov+A8rsN lablBaEYcSfU5tl++i8b2KQDm9Lk7bXJwDuHL8oXvW2dyY0kYMEWQwkXUflEFOXdryTzy3 nFyiY+dgydTFY1NFuYdXOzn7Db98zwADX6IsVfrJkzE5llpLLOMkhOn5Xvt6Ei9ei2n7R6 KcvNLSydOyB/n+L3EckHt69dxP+vwc25JPwzt+GWH1aTM8i4ey7rwIbpQbhvbPPNT1euuy DT6sw5Liw9dwcQxDLODdZ9Zfnh71RujX8jHG70f3Ujjq7kEZ7bg+AJu7FzqyRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368013; a=rsa-sha256; cv=none; b=UcEPz9RGCpYe37AbHVaLVEae7rUF8YWBFneJu8I6cUZspPrH+Yr2vihVFQK2TQ43TtBCqd vci6KHMEIipPtf0OzYAzzEVxM8RrzMN0qGGEJ+0tWWpAvQJhjtombO6GpTKuRiLa6oaS9r rqT+V5QnthgLCA1VqPY4gNMx3d/JjX4MYj00T+eksFG0KMLaJm+op8m+JBMmfgq6iV/1Oj OMkrj94peiaRXYjGLNiNaO007ZUSIVYpuR3Nm7D5XgVnO0SJTWA8dTUU90azRJxdnlj4MT 0vmgYWVhkyY1fzPjFeB9li9Ev9KhEDrX1XWLbefc1RuMAdDO2mD/57EE7p+5eQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=puSl6nrbJVw1SWBFUK0enim06ITsEJxde5lugFvIth4=; b=xm6GUXZzyySuoTJCyBQhG5l+CxeuUrol57XJy6C008B2uTeFvgytLLH7JX8w00PKCdJAO+ VO4uqnP+EUoTwPU5u9ROi1w2KgGWhEkPGXqgxeGeHs+ujSPghZdipaxpb7btlvrOZIb8Jo SUhZ/K7ul55JSOzIfk6NlNcqwc5oiAH7fsD3x2JV85zf2mhUXwCZAeQrlHjGlaJDzHmMtK o8W9VsX7EgTLVH2pigPnpz/WYXUQPKa37FxBXO+U7TQ7tq5OOnsMwV9wpAeZHwrGC2C2Zb OLwB0uUbtaGvCqkC8nlCi7cBpwAqeSKWKCShLjm7B4cotIbNNjd1eK/yhps6QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4XY1TJ1z11nJ; Wed, 13 Mar 2024 22:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDXrQ074744; Wed, 13 Mar 2024 22:13:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDXdj074741; Wed, 13 Mar 2024 22:13:33 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:33 GMT Message-Id: <202403132213.42DMDXdj074741@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: b30a80b65587 - main - rman: Add rman_get/set_type List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b30a80b65587fb9fd4a5f012d606dbd0c6239a46 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b30a80b65587fb9fd4a5f012d606dbd0c6239a46 commit b30a80b65587fb9fd4a5f012d606dbd0c6239a46 Author: John Baldwin AuthorDate: 2024-03-13 22:05:53 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:53 +0000 rman: Add rman_get/set_type This permits associating a resource type (e.g. SYS_RES_MEMORY) with a struct resource. I considered adding a new field to struct rman to store the type and only providing rman_get_type as an accessor. However, changing 'struct rman' is an ABI breakage. I might revisit this in main, but the current approach is MFC'able. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44122 --- share/man/man9/Makefile | 2 ++ share/man/man9/rman.9 | 18 ++++++++++++++++-- sys/kern/subr_rman.c | 13 +++++++++++++ sys/sys/rman.h | 2 ++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index c98849b42a7b..d6732a4e15f7 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1869,6 +1869,7 @@ MLINKS+=rman.9 rman_activate_resource.9 \ rman.9 rman_get_rid.9 \ rman.9 rman_get_size.9 \ rman.9 rman_get_start.9 \ + rman.9 rman_get_type.9 \ rman.9 rman_get_virtual.9 \ rman.9 rman_init.9 \ rman.9 rman_init_from_resource.9 \ @@ -1883,6 +1884,7 @@ MLINKS+=rman.9 rman_activate_resource.9 \ rman.9 rman_set_bustag.9 \ rman.9 rman_set_mapping.9 \ rman.9 rman_set_rid.9 \ + rman.9 rman_set_type.9 \ rman.9 rman_set_virtual.9 MLINKS+=rmlock.9 rm_assert.9 \ rmlock.9 rm_destroy.9 \ diff --git a/share/man/man9/rman.9 b/share/man/man9/rman.9 index 095cd2760b8c..35a2d176233c 100644 --- a/share/man/man9/rman.9 +++ b/share/man/man9/rman.9 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 20, 2016 +.Dd March 13, 2024 .Dt RMAN 9 .Os .Sh NAME @@ -56,7 +56,9 @@ .Nm rman_set_bushandle , .Nm rman_get_bushandle , .Nm rman_set_rid , -.Nm rman_get_rid +.Nm rman_get_rid , +.Nm rman_set_type , +.Nm rman_get_type .Nd resource management functions .Sh SYNOPSIS .In sys/types.h @@ -125,6 +127,10 @@ .Fn rman_set_rid "struct resource *r" "int rid" .Ft int .Fn rman_get_rid "struct resource *r" +.Ft void +.Fn rman_set_type "struct resource *r" "int type" +.Ft int +.Fn rman_get_type "struct resource *r" .Sh DESCRIPTION The .Nm @@ -457,6 +463,14 @@ The function retrieves this RID. .Pp The +.Fn rman_set_type +function associates a resource type with a resource +.Fa r . +The +.Fn rman_get_type +function retrieves this type. +.Pp +The .Fn rman_get_device function returns a pointer to the device which reserved the resource .Fa r . diff --git a/sys/kern/subr_rman.c b/sys/kern/subr_rman.c index 792d03726c74..1393781a66fe 100644 --- a/sys/kern/subr_rman.c +++ b/sys/kern/subr_rman.c @@ -91,6 +91,7 @@ struct resource_i { device_t r_dev; /* device which has allocated this resource */ struct rman *r_rm; /* resource manager from whence this came */ int r_rid; /* optional rid for this resource. */ + int r_type; /* optional type for this resource. */ }; static int rman_debug = 0; @@ -927,6 +928,18 @@ rman_get_rid(struct resource *r) return (r->__r_i->r_rid); } +void +rman_set_type(struct resource *r, int type) +{ + r->__r_i->r_type = type; +} + +int +rman_get_type(struct resource *r) +{ + return (r->__r_i->r_type); +} + void rman_set_device(struct resource *r, device_t dev) { diff --git a/sys/sys/rman.h b/sys/sys/rman.h index 9e8e3b878c5a..b8b2016cc94a 100644 --- a/sys/sys/rman.h +++ b/sys/sys/rman.h @@ -134,6 +134,7 @@ void rman_get_mapping(struct resource *, struct resource_map *); int rman_get_rid(struct resource *); rman_res_t rman_get_size(struct resource *); rman_res_t rman_get_start(struct resource *); +int rman_get_type(struct resource *); void *rman_get_virtual(struct resource *); int rman_deactivate_resource(struct resource *r); int rman_fini(struct rman *rm); @@ -156,6 +157,7 @@ void rman_set_device(struct resource *_r, device_t _dev); void rman_set_irq_cookie(struct resource *_r, void *_c); void rman_set_mapping(struct resource *, struct resource_map *); void rman_set_rid(struct resource *_r, int _rid); +void rman_set_type(struct resource *_r, int _type); void rman_set_virtual(struct resource *_r, void *_v); extern struct rman_head rman_head; From nobody Wed Mar 13 22:13:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4XZ36r4z5DX2n; Wed, 13 Mar 2024 22:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4XZ2Tvnz4qG5; Wed, 13 Mar 2024 22:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfeHyIcRayAZ0pVIdHFj7H5PIluA1GtTobxuIDfAWOM=; b=B1ihrBd/2Lwj/xZr46HzobjP+6obtjOdSRFpmbx9LB9TD/nh3HJa3SKB52FPBknS5N9TQr 6B3xpxx0fIFcNQl+slETqI9h3mr1QQPPKu/GBIcfqZ7JQQGus++LFUixS7ZXdf/bsiOB1s vWKQ+qI0A9kVUJJhJQcRSERN41nzLXeYOtfm4iMW7uWG6x88a+v/NWJpyEPE2lyCASkXyn IAGbuCGYBe80YdAHlE+h8KjagHbND3ooZ7ihZVogJVWOwbDLbdyI0QbRdRQ4h2FUrYWRtU kBOF/D/mJ2Ce0nM8WT/z5HF08iaJYKYVa5C7EXus/WaVB3Uhn3tTItiuD/qm6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368014; a=rsa-sha256; cv=none; b=faO+b/kbhGaJRMfQ9FKlLbqhm7TltAdh927SkhxBDFBu6rpElCEn8gj3RWTMSDU9OVwA2c 89qK8c7dOTKJMnSmwirkrvJKib5Fot87PVNhJV0BL0yNtbX0c3ujQL26B2TCmJNy9YohU8 8e4jz6aGZlzsagyJnk0g6uor14GEhNwDB8NavsWtJcJvfsWHRt+J+g9PnSiBynLofBG9v4 Er+h/wIs6wdv3P8NEhDbnqppv/T8tPL5J5OJ6Qzb0QPxsnHjzKpoRZq4XE1BEBaiKTZa20 ZR1U2xK1vjpW7ScLb1pU1oJlzFNS9pwtu+tft4HfOLdPSOda0IGzb+WUElcpVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfeHyIcRayAZ0pVIdHFj7H5PIluA1GtTobxuIDfAWOM=; b=H0JgyM2R9e6gXRi08V26DtdcTl1dPu3Zr2uR6nh5P9aSA53k3/Df5iK1VQAFGxiT/AXAGN Ik8uo+wL3NDBR5niFx8akKtGEh6sbB1mkFRGILsE+YsSAEb9F1iP4LFnMpxF4yy5tDzSQ1 aD1GU/riYcEkrPjeSDPjNaSs0L65h2s4sMhah7gokJJt9oufdpz4CefDCcDKm/dJ9E4TG6 wFpxngCiIIuNmQHw1JHQcvJOJ3l8J1AFGYBlNx33wge9Q0RfUoGnIZbjW/Ue9tdEkMhbd/ jM8qeZGJd3caXz9az8vTDgnZv2weYao0pMtrMZLa01CQxBvdyVq2JI0RC1anhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4XZ25hsz11l4; Wed, 13 Mar 2024 22:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDYCd074795; Wed, 13 Mar 2024 22:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDYGt074792; Wed, 13 Mar 2024 22:13:34 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:34 GMT Message-Id: <202403132213.42DMDYGt074792@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 1b9bcffff39a - main - sys: Set the type of allocated bus resources List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b9bcffff39a817b77401d1b975f374781adfaf8 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1b9bcffff39a817b77401d1b975f374781adfaf8 commit 1b9bcffff39a817b77401d1b975f374781adfaf8 Author: John Baldwin AuthorDate: 2024-03-13 22:05:53 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:53 +0000 sys: Set the type of allocated bus resources Use rman_set_type to set the type of allocated resources everywhere rman_set_rid is currently called. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44123 --- sys/dev/bhnd/bhndb/bhndb.c | 1 + sys/dev/dpaa/fman.c | 1 + sys/dev/pci/pci_iov.c | 1 + sys/dev/pci/pci_pci.c | 2 ++ sys/dev/pci/pci_subr.c | 1 + sys/kern/subr_bus.c | 1 + 6 files changed, 7 insertions(+) diff --git a/sys/dev/bhnd/bhndb/bhndb.c b/sys/dev/bhnd/bhndb/bhndb.c index 4e631f85b3b6..978ad9c3e62b 100644 --- a/sys/dev/bhnd/bhndb/bhndb.c +++ b/sys/dev/bhnd/bhndb/bhndb.c @@ -1005,6 +1005,7 @@ bhndb_alloc_resource(device_t dev, device_t child, int type, return (NULL); rman_set_rid(rv, *rid); + rman_set_type(rv, type); /* Activate */ if (flags & RF_ACTIVE) { diff --git a/sys/dev/dpaa/fman.c b/sys/dev/dpaa/fman.c index 6f3e85636e95..7c8122a03ce7 100644 --- a/sys/dev/dpaa/fman.c +++ b/sys/dev/dpaa/fman.c @@ -191,6 +191,7 @@ fman_alloc_resource(device_t bus, device_t child, int type, int *rid, if (res == NULL) return (NULL); rman_set_rid(res, *rid); + rman_set_type(res, type); if ((flags & RF_ACTIVE) != 0 && bus_activate_resource( child, type, *rid, res) != 0) { rman_release_resource(res); diff --git a/sys/dev/pci/pci_iov.c b/sys/dev/pci/pci_iov.c index ff3ac0e64271..d52e534b9ab5 100644 --- a/sys/dev/pci/pci_iov.c +++ b/sys/dev/pci/pci_iov.c @@ -1049,6 +1049,7 @@ pci_vf_alloc_mem_resource(device_t dev, device_t child, int *rid, } rman_set_rid(res, *rid); + rman_set_type(res, SYS_RES_MEMORY); if (flags & RF_ACTIVE) { error = bus_activate_resource(child, SYS_RES_MEMORY, *rid, res); diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index cda1597ac76e..68eab2a6633b 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -727,6 +727,7 @@ pcib_suballoc_bus(struct pcib_secbus *bus, device_t child, int *rid, rman_get_start(res), rman_get_end(res), *rid, pcib_child_name(child)); rman_set_rid(res, *rid); + rman_set_type(res, PCI_RES_BUS); return (res); } @@ -1930,6 +1931,7 @@ pcib_suballoc_resource(struct pcib_softc *sc, struct pcib_window *w, w->name, rman_get_start(res), rman_get_end(res), *rid, pcib_child_name(child)); rman_set_rid(res, *rid); + rman_set_type(res, type); if (flags & RF_ACTIVE) { if (bus_activate_resource(child, type, *rid, res) != 0) { diff --git a/sys/dev/pci/pci_subr.c b/sys/dev/pci/pci_subr.c index d0f6c9500b17..e2583a75e303 100644 --- a/sys/dev/pci/pci_subr.c +++ b/sys/dev/pci/pci_subr.c @@ -344,6 +344,7 @@ pci_domain_alloc_bus(int domain, device_t dev, int *rid, rman_res_t start, return (NULL); rman_set_rid(res, *rid); + rman_set_type(res, PCI_RES_BUS); return (res); } diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index a485e6dd2641..ecd5ad44959d 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -4250,6 +4250,7 @@ bus_generic_rman_alloc_resource(device_t dev, device_t child, int type, if (r == NULL) return (NULL); rman_set_rid(r, *rid); + rman_set_type(r, type); if (flags & RF_ACTIVE) { if (bus_activate_resource(child, type, *rid, r) != 0) { From nobody Wed Mar 13 22:13:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xb5Wxhz5DXRx; Wed, 13 Mar 2024 22:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xb3cr9z4qfr; Wed, 13 Mar 2024 22:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ryWXNt0z4fSnsZeW/Xp2o1uiZ2+sHgrwabHe/MPvx0s=; b=fRnkkXLfdzbEAhG+Mj3MOIQqCFubLZ0xfIK2lGtQX2zI62MUgGXVqRtrrSfBoYQjeIQ6f2 +LaXWg3X5Bd2R+dK0snoYvU0EPOZ9dqHfr3hWSto8RBLwyfvF/wYm6Q8F1ZQiCFEawPCeT X1DGRjMM2kMZ8f4Iy6SHsDKg27N3P3lKotXvo1chwawVEumKA/mv/yL944bkg472UuWkFm Y2JXRTJ4Pu7n6v5SHqVriErlQHU5YNJlIJTK/1VBbHTwU7nr0aAER2d7BLkmPROMJQ4ts1 ETxgEPzNZSGZPyYTZ7+jTvy5fUI7rRbw+cQKFBwrdE7TvHslZ3xYDAA06jJiiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368015; a=rsa-sha256; cv=none; b=Ibk81bWOWBJZyDPLiSiYd4yf45F1R/XNPQybERfxQN3ltdWauPvrn3sLyceJFJ/JZyrFKB 6O+ovd8t5pIxNNUauEfs7WOLLjvzHubV39f1pEx50zxamAThdowoMPNatIz6Y3LIiBd7hM fRaDmWmBSxPHXDkSRcEkWzw+UdJOzlcJt9d/cwnfkEa0lJXEQvoIvthi+92ONVvDZz9iNY n4LPQm1gPJwzWW/KNq7tVHAHD6P30NajF5xX1LcHe3UV5M3wiMz9coiHOQlPHOffIuGS8z sYwoI35NJTU/nX5AbU6d5SHZfjYNEPOJJEgHYhxsLl0tOTsMF3Kki8szF5X4fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ryWXNt0z4fSnsZeW/Xp2o1uiZ2+sHgrwabHe/MPvx0s=; b=wKIU7Z0KY+Ve0eRJ4foUDe1a3bjfg6/a8mLiNB13CP5qrAHZl3jlNgxtSTl9DCvelUdJB3 OBpmD5x9LodE9WNCdCxvYidBeu2ckTVMlauJB1sbpEEFcVcqX2Cb7iIWHBHdlDyxef5vQ9 YPxkOXRIEmym7j4EyXzT9sk7C6DQPAh8HR4Ka9j7ZmCba/lrJXGBVfumqVk/FDYxr6tqp6 Zgty2vQF1DJJLOZc8+VUNp1hmKd7+u2rkA/D8JFIHFylxC1MNRaj9EGqmT8QIODrdJc+0T CgqzI7mmEZmZvgf5JOiJZB3rCpN2SxusG9mRfTOVED9gAtvPn0Z2lcFzRYtXtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xb3BW7z11hl; Wed, 13 Mar 2024 22:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDZMP074849; Wed, 13 Mar 2024 22:13:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDZ6A074846; Wed, 13 Mar 2024 22:13:35 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:35 GMT Message-Id: <202403132213.42DMDZ6A074846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9edb8d0aedef - main - new-bus: Introduce a simpler bus API for managing resources List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9edb8d0aedef2f1e13ed1f8134deb3f8291d2fe9 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9edb8d0aedef2f1e13ed1f8134deb3f8291d2fe9 commit 9edb8d0aedef2f1e13ed1f8134deb3f8291d2fe9 Author: John Baldwin AuthorDate: 2024-03-13 22:05:53 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:53 +0000 new-bus: Introduce a simpler bus API for managing resources Remove the 'type' and 'rid' arguments from the wrapper bus API functions (e.g. bus_release_resource) that accept a struct resource. The "new" versions extract the 'type' and/or 'rid' from the passed in resource object via rman_get_type and rman_get_rid. This commit adds the new API as functions with a _new suffix. Wrapper macros choose between the old and new functions based on the number of arguments provided to the macro. This commit does not change the ABI but can be safely MFCd to older branches so long as older kernels use rman_set_type when allocating resources. Future commits will push the removal of these extraneous arguments through the bus implementation. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44124 --- sys/kern/subr_bus.c | 42 ++++++++++++++++++++++++++++++++++++++++++ sys/sys/bus.h | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index ecd5ad44959d..25cb5fba2108 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -4545,6 +4545,13 @@ bus_adjust_resource(device_t dev, int type, struct resource *r, rman_res_t start return (BUS_ADJUST_RESOURCE(dev->parent, dev, type, r, start, end)); } +int +bus_adjust_resource_new(device_t dev, struct resource *r, rman_res_t start, + rman_res_t end) +{ + return (bus_adjust_resource(dev, rman_get_type(r), r, start, end)); +} + /** * @brief Wrapper function for BUS_TRANSLATE_RESOURCE(). * @@ -4574,6 +4581,13 @@ bus_activate_resource(device_t dev, int type, int rid, struct resource *r) return (BUS_ACTIVATE_RESOURCE(dev->parent, dev, type, rid, r)); } +int +bus_activate_resource_new(device_t dev, struct resource *r) +{ + return (bus_activate_resource(dev, rman_get_type(r), rman_get_rid(r), + r)); +} + /** * @brief Wrapper function for BUS_DEACTIVATE_RESOURCE(). * @@ -4588,6 +4602,13 @@ bus_deactivate_resource(device_t dev, int type, int rid, struct resource *r) return (BUS_DEACTIVATE_RESOURCE(dev->parent, dev, type, rid, r)); } +int +bus_deactivate_resource_new(device_t dev, struct resource *r) +{ + return (bus_deactivate_resource(dev, rman_get_type(r), rman_get_rid(r), + r)); +} + /** * @brief Wrapper function for BUS_MAP_RESOURCE(). * @@ -4603,6 +4624,13 @@ bus_map_resource(device_t dev, int type, struct resource *r, return (BUS_MAP_RESOURCE(dev->parent, dev, type, r, args, map)); } +int +bus_map_resource_new(device_t dev, struct resource *r, + struct resource_map_request *args, struct resource_map *map) +{ + return (bus_map_resource(dev, rman_get_type(r), r, args, map)); +} + /** * @brief Wrapper function for BUS_UNMAP_RESOURCE(). * @@ -4618,6 +4646,13 @@ bus_unmap_resource(device_t dev, int type, struct resource *r, return (BUS_UNMAP_RESOURCE(dev->parent, dev, type, r, map)); } +int +bus_unmap_resource_new(device_t dev, struct resource *r, + struct resource_map *map) +{ + return (bus_unmap_resource(dev, rman_get_type(r), r, map)); +} + /** * @brief Wrapper function for BUS_RELEASE_RESOURCE(). * @@ -4635,6 +4670,13 @@ bus_release_resource(device_t dev, int type, int rid, struct resource *r) return (rv); } +int +bus_release_resource_new(device_t dev, struct resource *r) +{ + return (bus_release_resource(dev, rman_get_type(r), rman_get_rid(r), + r)); +} + /** * @brief Wrapper function for BUS_SETUP_INTR(). * diff --git a/sys/sys/bus.h b/sys/sys/bus.h index 581e81352be4..6fcd414dc7be 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -613,6 +613,43 @@ bus_alloc_resource_anywhere(device_t dev, int type, int *rid, return (bus_alloc_resource(dev, type, rid, 0, ~0, count, flags)); } +/* Compat shims for simpler bus resource API. */ +int bus_adjust_resource_new(device_t child, struct resource *r, + rman_res_t start, rman_res_t end); +int bus_activate_resource_new(device_t dev, struct resource *r); +int bus_deactivate_resource_new(device_t dev, struct resource *r); +int bus_map_resource_new(device_t dev, struct resource *r, + struct resource_map_request *args, struct resource_map *map); +int bus_unmap_resource_new(device_t dev, struct resource *r, + struct resource_map *map); +int bus_release_resource_new(device_t dev, struct resource *r); + +#define _BUS_API_MACRO(_1, _2, _3, _4, _5, NAME, ...) NAME + +#define bus_adjust_resource(...) \ + _BUS_API_MACRO(__VA_ARGS__, bus_adjust_resource, \ + bus_adjust_resource_new)(__VA_ARGS__) + +#define bus_activate_resource(...) \ + _BUS_API_MACRO(__VA_ARGS__, INVALID, bus_activate_resource, \ + INVALID, bus_activate_resource_new)(__VA_ARGS__) + +#define bus_deactivate_resource(...) \ + _BUS_API_MACRO(__VA_ARGS__, INVALID, bus_deactivate_resource, \ + INVALID, bus_deactivate_resource_new)(__VA_ARGS__) + +#define bus_map_resource(...) \ + _BUS_API_MACRO(__VA_ARGS__, bus_map_resource, \ + bus_map_resource_new)(__VA_ARGS__) + +#define bus_unmap_resource(...) \ + _BUS_API_MACRO(__VA_ARGS__, INVALID, bus_unmap_resource, \ + bus_unmap_resource_new)(__VA_ARGS__) + +#define bus_release_resource(...) \ + _BUS_API_MACRO(__VA_ARGS__, INVALID, bus_release_resource, \ + INVALID, bus_release_resource_new)(__VA_ARGS__) + /* * Access functions for device. */ From nobody Wed Mar 13 22:13:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xc6YXfz5DXPk; Wed, 13 Mar 2024 22:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xc4wLbz4qRR; Wed, 13 Mar 2024 22:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olDJHTTgHzzKvRi7dwHFkViPgDqDBGbCwZOfWVvV3SQ=; b=upA2lVj0JpDUF+3VFS6ze2eau+1EHKhD5SbpWM2vOVaVz6Wk/A1Ynx6QNiUphekGPTBO8C IwFA43EXF6AJhBUDrI7Jz1X4zIzT1bYqzKMj2XHmOwiCy4iouOLjaxOFiyPgONH+/ALy0O QWaYicQSqV6RuPsX7Lg7GfHB6IDaBoWOUoPKXK5c9Wb9GlpFZigybl/0X7bE/QC+v7vbPd 1S9uZhNX5YOEI4Vi2KrhCUzurIPlqE97OY4ZpNstKfq2ddNKE2FxTe0TT8WKaAxuGVgsDc 58FUuv5wLntjK3N4+gooHY7Z34/1rVcMhBmJl9owP/4A1rM/B/Bdc6jFXGLdaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368016; a=rsa-sha256; cv=none; b=E4r2w6K5VMLKL315rMQrA2Ret7LENSvMlPY5gY6jcfYsXE+FWBMQ1rpbvfo1ioEdrLVvne 1JL+YX7HXreMNHuqzwhspiKxFR657y1+VuCyOuUie1GWz12ho8+09KzJD2bFyRcIFhLhJf UdjueZPSldoVzt+AjDXaa/mOIcmzbW4rtc5dfIy3kiy2MH+7m5FQgFrfExgU5s944hePkL J/D0pJe51bHwn0Ne6/bfolTAKi7bNOBgcFpSjb317vEywETzqdlCJZyrq3edr5vxWPJ+W2 gIH9u07E+EQdR9RK26SIwUDxGuDLX1Cd1tYUvbwLd+JeWaelHIq/DeVPRWPRIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olDJHTTgHzzKvRi7dwHFkViPgDqDBGbCwZOfWVvV3SQ=; b=ghEmgACtuRYx4gWGb/VfYIYZ991GkoyXJI5zOBckygxMgpK2Hcdo86kZhX0vpjnm5YdTH9 sI+vqifwsrP3lvGvl/O+wgp9jm8QJvO1ckkmIWkd6NTcqpCf4SB3JMFsNtySQprRq8O0+y zCMrBUgzL14o3XQQxPbB6xLsAoX+cvnU18EXJaom6RirP/euj5gHGKJKzjJrUhMMbH6wxo SQu3a8W69wpdVG+DS3PL6vjQwhJyd+mahsNtv/AsklluCq8wj6LIK1oxdtb4qEqn6rCbkm NgkD77/YOvhZaKgc+B+Zt2YO3CWyF9DfovO6D1csB6Gf1wKh1ke+P13Ug0O75A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xc4Djsz11nK; Wed, 13 Mar 2024 22:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDaOJ074894; Wed, 13 Mar 2024 22:13:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDaKw074891; Wed, 13 Mar 2024 22:13:36 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:36 GMT Message-Id: <202403132213.42DMDaKw074891@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 0ecee1602e19 - main - acpi: Use rman_get_type in acpi_is_resource_managed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ecee1602e195933a39da65d34440399129e19fb Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0ecee1602e195933a39da65d34440399129e19fb commit 0ecee1602e195933a39da65d34440399129e19fb Author: John Baldwin AuthorDate: 2024-03-13 22:05:53 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:53 +0000 acpi: Use rman_get_type in acpi_is_resource_managed Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44125 --- sys/dev/acpica/acpi.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index defca923e36c..0ea9a32b1589 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1540,11 +1540,11 @@ acpi_alloc_resource(device_t bus, device_t child, int type, int *rid, } static bool -acpi_is_resource_managed(device_t bus, int type, struct resource *r) +acpi_is_resource_managed(device_t bus, struct resource *r) { struct rman *rm; - rm = acpi_get_rman(bus, type, 0); + rm = acpi_get_rman(bus, rman_get_type(r), rman_get_flags(r)); if (rm == NULL) return (false); return (rman_is_region_manager(r, rm)); @@ -1556,7 +1556,7 @@ acpi_managed_resource(device_t bus, int type, struct resource *r) struct acpi_softc *sc = device_get_softc(bus); struct resource_list_entry *rle; - KASSERT(acpi_is_resource_managed(bus, type, r), + KASSERT(acpi_is_resource_managed(bus, r), ("resource %p is not suballocated", r)); STAILQ_FOREACH(rle, &sc->sysres_rl, link) { @@ -1574,7 +1574,7 @@ acpi_adjust_resource(device_t bus, device_t child, int type, struct resource *r, rman_res_t start, rman_res_t end) { - if (acpi_is_resource_managed(bus, type, r)) + if (acpi_is_resource_managed(bus, r)) return (rman_adjust_resource(r, start, end)); return (bus_generic_adjust_resource(bus, child, type, r, start, end)); } @@ -1587,7 +1587,7 @@ acpi_release_resource(device_t bus, device_t child, int type, int rid, * If this resource belongs to one of our internal managers, * deactivate it and release it to the local pool. */ - if (acpi_is_resource_managed(bus, type, r)) + if (acpi_is_resource_managed(bus, r)) return (bus_generic_rman_release_resource(bus, child, type, rid, r)); return (bus_generic_rl_release_resource(bus, child, type, rid, r)); @@ -1613,7 +1613,7 @@ static int acpi_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - if (acpi_is_resource_managed(bus, type, r)) + if (acpi_is_resource_managed(bus, r)) return (bus_generic_rman_activate_resource(bus, child, type, rid, r)); return (bus_generic_activate_resource(bus, child, type, rid, r)); @@ -1623,7 +1623,7 @@ static int acpi_deactivate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - if (acpi_is_resource_managed(bus, type, r)) + if (acpi_is_resource_managed(bus, r)) return (bus_generic_rman_deactivate_resource(bus, child, type, rid, r)); return (bus_generic_deactivate_resource(bus, child, type, rid, r)); @@ -1638,7 +1638,7 @@ acpi_map_resource(device_t bus, device_t child, int type, struct resource *r, rman_res_t length, start; int error; - if (!acpi_is_resource_managed(bus, type, r)) + if (!acpi_is_resource_managed(bus, r)) return (bus_generic_map_resource(bus, child, type, r, argsp, map)); @@ -1664,7 +1664,7 @@ static int acpi_unmap_resource(device_t bus, device_t child, int type, struct resource *r, struct resource_map *map) { - if (acpi_is_resource_managed(bus, type, r)) { + if (acpi_is_resource_managed(bus, r)) { r = acpi_managed_resource(bus, type, r); if (r == NULL) return (ENOENT); From nobody Wed Mar 13 22:13:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xd6z0cz5DXS3; Wed, 13 Mar 2024 22:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xd5YfZz4qjT; Wed, 13 Mar 2024 22:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jbDf+XpzLAMyv+Vta6VEJFIrS6EnH5QjxGxhG3C3Bok=; b=NElqmw0TsvZ9XBhEqDAuXRvsbeAJq9ShbJ9YotCB1EkOpbZ0Ax2KXW2bSZ0mtEesUI6Cip 5CsForN84i4h0YVauUS+dcAzyCb/QIzlq/YKl7o1pomq5uLiF1k2d94fPBbaD0kQ/s+AZI HP0RumsLMc+5nlonCdzPY0DHvYT5BKb8F+aG5MAExrPZc9iwla88tgmwRETSMe2iJProfE LHOcgiwwErRpSLgchRcY+DEuhyc5nsfL/hD3AcQYp/Uyw8mbm86CEOiG4+SzDCi1IYnaC7 PaI54RXoL27tC7P1tezPg3Ws3aMphz+iY3MTBQMF3IoY5ouZOtloXkmgKTo18g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368017; a=rsa-sha256; cv=none; b=gc9GPNvFomZPZgsSIdvMuj7TjlOrCumyrhGWGNFchPd1+ndLggAJSUz9pbFVEiQKgNdNFf RvnVDnvxZ7KexC+AG5bRdKmo9VBb07Dk0hJRp/TxCkMFvAbCa3+29xId4ecsKldIyYhS0a GOlUkdDGIK3OBT57PRYwDHeUtl1MMjQ+oBZh0bnqYzMlKi2I7iomYf8if/vXX/IKmeOQCD aTwgYsVv/5kmRabfFxZHmxb2FjFCuzRo/Opy9a1rq72LXaWY0JXYizQLdl9fm7wT9PYe0C pj+lZuu33pqxJHcQ19uV8EryyFpmw30qwq9cLb2BGIfwakHxKURA1ZW/oZBIgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jbDf+XpzLAMyv+Vta6VEJFIrS6EnH5QjxGxhG3C3Bok=; b=wnLQ9cLKTtbpYydDfbl4OPtNn2yW2ARxTN5RVTvKBhUybex9Q1ZArNsEt9GlPX2aeyqOsN 74rXiRqbbEu+KjePU09ZPplYfnvFlH2HiC0xwYR1o7/ZHjqeXNrto2xiarO0GD1wq3aaRx jow2sK9gLjpz0gAaanL8ih/LutjP11pyYvGGAJKRFDlXrVywUS5voJHdj9DsiLoTAY81XL JPDZWodFpiM1Kw2WuSz1sPUaVWwNs2iKq8L+0Gv13gH2rPq/3C1lQ1pYgVDYq9AmyP/Lnd HYakCvETq9quFDFpYttRl+/N43KlO7Jco/tZUQXhfK5VTRqJ3Y9om/P+tfa20Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xd5B95z11l5; Wed, 13 Mar 2024 22:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDbOj074942; Wed, 13 Mar 2024 22:13:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDbnX074939; Wed, 13 Mar 2024 22:13:37 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:37 GMT Message-Id: <202403132213.42DMDbnX074939@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3351964c5e5d - main - bhnd: Use rman_get_type in bhndb_find_resource_limits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3351964c5e5d29ef93b3f26b7fc31a4972aa9af7 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3351964c5e5d29ef93b3f26b7fc31a4972aa9af7 commit 3351964c5e5d29ef93b3f26b7fc31a4972aa9af7 Author: John Baldwin AuthorDate: 2024-03-13 22:05:53 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:53 +0000 bhnd: Use rman_get_type in bhndb_find_resource_limits Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44126 --- sys/dev/bhnd/bhndb/bhndb.c | 2 +- sys/dev/bhnd/bhndb/bhndb_private.h | 2 +- sys/dev/bhnd/bhndb/bhndb_subr.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/bhnd/bhndb/bhndb.c b/sys/dev/bhnd/bhndb/bhndb.c index 978ad9c3e62b..ea5230bf459b 100644 --- a/sys/dev/bhnd/bhndb/bhndb.c +++ b/sys/dev/bhnd/bhndb/bhndb.c @@ -1113,7 +1113,7 @@ bhndb_adjust_resource(device_t dev, device_t child, int type, goto done; /* Otherwise, the range is limited by the bridged resource mapping */ - error = bhndb_find_resource_limits(sc->bus_res, type, r, &mstart, + error = bhndb_find_resource_limits(sc->bus_res, r, &mstart, &mend); if (error) goto done; diff --git a/sys/dev/bhnd/bhndb/bhndb_private.h b/sys/dev/bhnd/bhndb/bhndb_private.h index 851cbe82d3a7..7b56f0b05c84 100644 --- a/sys/dev/bhnd/bhndb/bhndb_private.h +++ b/sys/dev/bhnd/bhndb/bhndb_private.h @@ -73,7 +73,7 @@ int bhndb_add_resource_region( const struct bhndb_regwin *static_regwin); int bhndb_find_resource_limits( - struct bhndb_resources *br, int type, + struct bhndb_resources *br, struct resource *r, rman_res_t *start, rman_res_t *end); diff --git a/sys/dev/bhnd/bhndb/bhndb_subr.c b/sys/dev/bhnd/bhndb/bhndb_subr.c index f5253b3ecaca..df8f39048201 100644 --- a/sys/dev/bhnd/bhndb/bhndb_subr.c +++ b/sys/dev/bhnd/bhndb/bhndb_subr.c @@ -987,7 +987,6 @@ bhndb_find_intr_handler(struct bhndb_resources *br, void *cookiep) * returned. * * @param br The resource state to search. - * @param type The resource type (see SYS_RES_*). * @param r The resource to search for in @p br. * @param[out] start On success, the minimum supported start address. * @param[out] end On success, the maximum supported end address. @@ -996,14 +995,14 @@ bhndb_find_intr_handler(struct bhndb_resources *br, void *cookiep) * @retval ENOENT no active mapping found for @p r of @p type */ int -bhndb_find_resource_limits(struct bhndb_resources *br, int type, +bhndb_find_resource_limits(struct bhndb_resources *br, struct resource *r, rman_res_t *start, rman_res_t *end) { struct bhndb_dw_alloc *dynamic; struct bhndb_region *sregion; struct bhndb_intr_handler *ih; - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IRQ: /* Is this one of ours? */ STAILQ_FOREACH(ih, &br->bus_intrs, ih_link) { @@ -1042,7 +1041,8 @@ bhndb_find_resource_limits(struct bhndb_resources *br, int type, } default: - device_printf(br->dev, "unknown resource type: %d\n", type); + device_printf(br->dev, "unknown resource type: %d\n", + rman_get_type(r)); return (ENOENT); } } From nobody Wed Mar 13 22:13:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xg1jKLz5DX2s; Wed, 13 Mar 2024 22:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xf6bftz4qVw; Wed, 13 Mar 2024 22:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mSrjkYM2Dek0hJ8uwmS2JVeZ9xZ3WGkSbkeOm3TkV3A=; b=SYic3FnRMrm8OrWiPpyiEw/eOWeDCWr14XAsga6n8LeMMhUoyWbfeNmijdS9OOFY+UaGZS vebpdjke/nI0Umqj7BpM8L2SDCZZArg703E6+laL3UPiYaZBVbV23kVvySh+8/lZXmzv+E c6i7J+Mk6Wzd01NYnKydYnYWM6TRNEM10GhDR51AMghWSADUJk9A4XjeMbML2rJPQKZZHt 1KhB9EIHQF7rUGxH+pF8Q3nfqm8v8kNfUg0/ahc4iHFXGE/JhsMQqigl/zQgPAgAq4sLSY LUiwQv/bgUG1pgfDOwmOnlfwUgEnpiPeicS+qKfCw+VMSG7GT3e7F/9MoOrA5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368018; a=rsa-sha256; cv=none; b=ZblFFw2xEucOOipT5udQ1RpFa85kx6M4z1pifOy36WEKrCMPJfLD9YIKdXyon33E0U6MU5 DfM0krLdRiDmzc1z00nntDbzWLJ55zQGa8fKjjvcVa8BckMCQXZIX7i8+C/jpgAX677NEh UK2XFdU/W392EaM0JSImrN+LOpttgspQFLgv0qc0IjrMvnVXHEHo1pqLWk6dfM/2AQTnKz qwA557z3eSTeLgcNJOUesn/sHW0C4K42WL213ocHWR1CQpbOv3Fe0+JqNttkdcbUVmrc+A fK6Agrxb96yArYCFBFpTENbmv57CuZk4dS7hDBqvJM3J1stQVWKsqsFsVQ0DXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mSrjkYM2Dek0hJ8uwmS2JVeZ9xZ3WGkSbkeOm3TkV3A=; b=OvsS7+ctq+Qf055Q60eHh9g8lgVegwOHZiWlSRVHoMu3q3B0HZqlV2RWYJMsGg50YN7zqH FS9MuMjGIaNcBGHK5ngCQyj19c57oXnU6FpLiGbAyMToZ+Ck2FwRJX4OdMrUHvDumjqdU1 Zm0PSN8sfqwhRwhbQaTzSppdxAEphXPxl01fd71lM2QM8t0/fAp1LWJ5LvMlMdobPGkPUn cme34YUfR5WQzpnOPptaLwRp/0MuIH1dYMHlQRd9DxJyklk2888/+qNeedMLTpDjHtmoyl bsXfPvyB/Z5CO7+EEsGdWCklFd5BGatknblYA8oRbVGtMetuNErI7EDNh2rl5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xf69Q0z11hm; Wed, 13 Mar 2024 22:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDcTl074987; Wed, 13 Mar 2024 22:13:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDcJZ074984; Wed, 13 Mar 2024 22:13:38 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:38 GMT Message-Id: <202403132213.42DMDcJZ074984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 582b84cd252d - main - pcib: Use rman_get_type in internal functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 582b84cd252d56f06556134b1103da3a0425fdbd Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=582b84cd252d56f06556134b1103da3a0425fdbd commit 582b84cd252d56f06556134b1103da3a0425fdbd Author: John Baldwin AuthorDate: 2024-03-13 22:05:54 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:54 +0000 pcib: Use rman_get_type in internal functions Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44127 --- sys/dev/pci/pci_pci.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 68eab2a6633b..da09a917b9bc 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -164,9 +164,9 @@ SYSCTL_INT(_hw_pci, OID_AUTO, clear_pcib, CTLFLAG_RDTUN, &pci_clear_pcib, 0, * sub-allocated from one of our window resource managers. */ static struct pcib_window * -pcib_get_resource_window(struct pcib_softc *sc, int type, struct resource *r) +pcib_get_resource_window(struct pcib_softc *sc, struct resource *r) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: if (rman_is_region_manager(r, &sc->io.rman)) return (&sc->io); @@ -188,14 +188,14 @@ pcib_get_resource_window(struct pcib_softc *sc, int type, struct resource *r) * resource managers? */ static int -pcib_is_resource_managed(struct pcib_softc *sc, int type, struct resource *r) +pcib_is_resource_managed(struct pcib_softc *sc, struct resource *r) { #ifdef PCI_RES_BUS - if (type == PCI_RES_BUS) + if (rman_get_type(r) == PCI_RES_BUS) return (rman_is_region_manager(r, &sc->bus.rman)); #endif - return (pcib_get_resource_window(sc, type, r) != NULL); + return (pcib_get_resource_window(sc, r) != NULL); } static int @@ -2386,7 +2386,7 @@ pcib_adjust_resource(device_t bus, device_t child, int type, struct resource *r, * If the resource wasn't sub-allocated from one of our region * managers then just pass the request up. */ - if (!pcib_is_resource_managed(sc, type, r)) + if (!pcib_is_resource_managed(sc, r)) return (bus_generic_adjust_resource(bus, child, type, r, start, end)); @@ -2411,7 +2411,7 @@ pcib_adjust_resource(device_t bus, device_t child, int type, struct resource *r, * Resource is managed and not a secondary bus number, must * be from one of our windows. */ - w = pcib_get_resource_window(sc, type, r); + w = pcib_get_resource_window(sc, r); KASSERT(w != NULL, ("%s: no window for resource (%#jx-%#jx) type %d", __func__, rman_get_start(r), rman_get_end(r), type)); @@ -2447,7 +2447,7 @@ pcib_release_resource(device_t dev, device_t child, int type, int rid, int error; sc = device_get_softc(dev); - if (pcib_is_resource_managed(sc, type, r)) { + if (pcib_is_resource_managed(sc, r)) { if (rman_get_flags(r) & RF_ACTIVE) { error = bus_deactivate_resource(child, type, rid, r); if (error) @@ -2466,7 +2466,7 @@ pcib_activate_resource(device_t dev, device_t child, int type, int rid, struct resource_map map; int error; - if (!pcib_is_resource_managed(sc, type, r)) + if (!pcib_is_resource_managed(sc, r)) return (bus_generic_activate_resource(dev, child, type, rid, r)); @@ -2495,7 +2495,7 @@ pcib_deactivate_resource(device_t dev, device_t child, int type, int rid, struct resource_map map; int error; - if (!pcib_is_resource_managed(sc, type, r)) + if (!pcib_is_resource_managed(sc, r)) return (bus_generic_deactivate_resource(dev, child, type, rid, r)); @@ -2533,7 +2533,7 @@ pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, rman_res_t length, start; int error; - w = pcib_get_resource_window(sc, type, r); + w = pcib_get_resource_window(sc, r); if (w == NULL) return (bus_generic_map_resource(dev, child, type, r, argsp, map)); @@ -2563,7 +2563,7 @@ pcib_unmap_resource(device_t dev, device_t child, int type, struct resource *r, struct pcib_softc *sc = device_get_softc(dev); struct pcib_window *w; - w = pcib_get_resource_window(sc, type, r); + w = pcib_get_resource_window(sc, r); if (w != NULL) { r = pcib_find_parent_resource(w, r); if (r == NULL) From nobody Wed Mar 13 22:13:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xj218Pz5DXVW; Wed, 13 Mar 2024 22:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xj1DyJz4qmj; Wed, 13 Mar 2024 22:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qEOvfBixTZxKATR8XJx7qnkPe6bIpy+hbOM6RMc6g3M=; b=DqEi+uIh5Y78ryuzm1eBLRcMPtZk0DgR9QyjNzJLySnTM5MsCm9jIQpCdEZmJGSCY3IVhf Ip4oMD78P4rlL59+Cq3qjUcioSFejL672Tdvxim0hjhpCiqDrzOYs8rgbNb3o7Z5MuRIlw VGg6TTp9lIX5ke3miJtcJl2TCSy8PG2jBaLzetzNmWrRqfmD/dh8sbdslVteZKU5azFlRv HW2AEmQ2O7+fJASAcCwjG2YNCejHlWeC1mP8aGmLqwWKEMmRnasRdu8BvLgDgGB6PmO6yt PYXgWBck0zZ8Tsl9WzvsiP8nuaCMKxhwQqShJfpGiTJD/ZsIzZB8BPyvfq/Frg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368021; a=rsa-sha256; cv=none; b=cMyjQKXmTMILHl8Oge64RuEi53GPS8H1TK3PnyxeUC/v+Bi9GZZT4JCjFn0Sf+o32Akwa8 vHxsMTyjj9FkGDB+tGQDejglXzlb76BgTFXepxsSJY0Ht+0PX/3bekqGkIAZXpzYuHEGyP 3SEnSkIMSdniGhI5T3Iu6vJOx5DoTBfdOgPFcoErMlpfMAvYFpFWiKxvMs2UJy0AwR+ZnP rlOzNQuXvXrrFXA07k2sT4I8z0jy9GtM1w0RGla9Jg7w8Qirt6GgWftJwQWAdbKQviGJHx ieE8U4WeyPPNGhTCW2pLQcQz58m6/frs2kKMOkgfIRfpDz/fUTOVkYLHK+vIQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qEOvfBixTZxKATR8XJx7qnkPe6bIpy+hbOM6RMc6g3M=; b=cQaaCv+/pAu1rGnKEIuYE/m9uMH/7M3COVIgpvSW9pWdYxdMUc5VyazCLL+/FsWf7yOkUS zvzVVvdqd3b4IrUBxrxtAt+yXymoo0GKHfLAKjWCtqyPtjo1boaerpM1ZzIfUz5QC3Ici3 Vs2CdtZ3xlSIqgKWP2jPib/kH+SNoJeBxDFAuyv8bv7zjsHAcdRYoeWWeMs3g11SARAhsr VbCL5pPwyIQlxkolmvRASfhZdyPE6Ku+IqemwwfmX/pC3i1M9qm41EJqqdjdfTYwwPe6FL WgWE83blDG1Mz3atASmsbNcH4RBJSlLgIB1eZCP25raeh7fVpCtoYsXBV4jm2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xj0qNPz11hn; Wed, 13 Mar 2024 22:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDfAd075092; Wed, 13 Mar 2024 22:13:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDfJc075089; Wed, 13 Mar 2024 22:13:41 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:41 GMT Message-Id: <202403132213.42DMDfJc075089@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: d77f2092ceeb - main - new-bus: Remove the 'type' argument from BUS_MAP/UNMAP_RESOURCE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d77f2092ceebaba115e6be53410428f6f5f6ae83 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d77f2092ceebaba115e6be53410428f6f5f6ae83 commit d77f2092ceebaba115e6be53410428f6f5f6ae83 Author: John Baldwin AuthorDate: 2024-03-13 22:05:54 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:54 +0000 new-bus: Remove the 'type' argument from BUS_MAP/UNMAP_RESOURCE The public bus_map/unmap_resource() API still accepts both forms, but the internal kobj methods no longer pass the argument. Implementations which need the type now use rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44129 --- share/man/man9/bus_map_resource.9 | 16 +++------------- sys/arm/arm/nexus.c | 8 ++++---- sys/arm/mv/mv_pci.c | 14 +++++++------- sys/arm64/arm64/nexus.c | 11 +++++------ sys/arm64/cavium/thunder_pcie_pem.c | 19 +++++++++---------- sys/dev/acpica/acpi.c | 19 +++++++++---------- sys/dev/fdt/simplebus.c | 30 ++---------------------------- sys/dev/ofw/ofw_pcib.c | 19 +++++++++---------- sys/dev/pci/pci_host_generic.c | 22 +++++++++++----------- sys/dev/pci/pci_pci.c | 15 +++++++-------- sys/dev/vmd/vmd.c | 8 ++++---- sys/kern/bus_if.m | 4 ---- sys/kern/subr_bus.c | 35 ++++++++++++++++------------------- sys/powerpc/mpc85xx/lbc.c | 12 ++++++------ sys/powerpc/powermac/macio.c | 17 ++++++++--------- sys/powerpc/powermac/uninorth.c | 17 ++++++++--------- sys/powerpc/powerpc/nexus.c | 10 +++++----- sys/powerpc/ps3/ps3bus.c | 14 +++++++------- sys/powerpc/psim/iobus.c | 12 ++++++------ sys/riscv/riscv/nexus.c | 8 ++++---- sys/sys/bus.h | 25 +++++++++++++------------ sys/x86/x86/nexus.c | 9 +++++---- 22 files changed, 148 insertions(+), 196 deletions(-) diff --git a/share/man/man9/bus_map_resource.9 b/share/man/man9/bus_map_resource.9 index bf86e7805964..5cccb815b73b 100644 --- a/share/man/man9/bus_map_resource.9 +++ b/share/man/man9/bus_map_resource.9 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 5, 2018 +.Dd March 13, 2024 .Dt BUS_MAP_RESOURCE 9 .Os .Sh NAME @@ -38,12 +38,12 @@ .In machine/resource.h .Ft int .Fo bus_map_resource -.Fa "device_t dev" "int type" "struct resource *r" +.Fa "device_t dev" "struct resource *r" .Fa "struct resource_map_request *args" "struct resource_map *map" .Fc .Ft int .Fo bus_unmap_resource -.Fa "device_t dev" "int type" "struct resource *r" "struct resource_map *map" +.Fa "device_t dev" "struct resource *r" "struct resource_map *map" .Fc .Ft void .Fn resource_init_map_request "struct resource_map_request *args" @@ -58,16 +58,6 @@ The arguments are as follows: .Bl -tag -width indent .It Fa dev The device that owns the resource. -.It Fa type -The type of resource to map. -It is one of: -.Pp -.Bl -tag -width ".Dv SYS_RES_MEMORY" -compact -.It Dv SYS_RES_IOPORT -for I/O ports -.It Dv SYS_RES_MEMORY -for I/O memory -.El .It Fa r A pointer to the .Vt "struct resource" diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index eb0d1a5b7ded..0cb896ce346e 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -331,7 +331,7 @@ nexus_activate_resource(device_t bus, device_t child, int type, int rid, } static int -nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, +nexus_map_resource(device_t bus, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; @@ -342,7 +342,7 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, if (!(rman_get_flags(r) & RF_ACTIVE)) return (ENXIO); - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: break; @@ -374,11 +374,11 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } static int -nexus_unmap_resource(device_t bus, device_t child, int type, struct resource *r, +nexus_unmap_resource(device_t bus, device_t child, struct resource *r, struct resource_map *map) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: #ifdef FDT diff --git a/sys/arm/mv/mv_pci.c b/sys/arm/mv/mv_pci.c index 42ee3180a942..a8a6d1d50002 100644 --- a/sys/arm/mv/mv_pci.c +++ b/sys/arm/mv/mv_pci.c @@ -353,9 +353,9 @@ static int mv_pcib_activate_resource(device_t, device_t, int, int, struct resource *r); static int mv_pcib_deactivate_resource(device_t, device_t, int, int, struct resource *r); -static int mv_pcib_map_resource(device_t, device_t, int, struct resource *, +static int mv_pcib_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); -static int mv_pcib_unmap_resource(device_t, device_t, int, struct resource *, +static int mv_pcib_unmap_resource(device_t, device_t, struct resource *, struct resource_map *); static int mv_pcib_read_ivar(device_t, device_t, int, uintptr_t *); static int mv_pcib_write_ivar(device_t, device_t, int, uintptr_t); @@ -1034,7 +1034,7 @@ mv_pcib_deactivate_resource(device_t dev, device_t child, int type, int rid, } static int -mv_pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, +mv_pcib_map_resource(device_t dev, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; @@ -1046,7 +1046,7 @@ mv_pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, return (ENXIO); /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; @@ -1066,10 +1066,10 @@ mv_pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, } static int -mv_pcib_unmap_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map *map) +mv_pcib_unmap_resource(device_t dev, device_t child, struct resource *r, + struct resource_map *map) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: return (0); diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index d2081d40d26a..ed500ba5ea6d 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -350,8 +350,7 @@ nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, &use_np); if (use_np) args.memattr = VM_MEMATTR_DEVICE_NP; - err = nexus_map_resource(bus, child, type, r, &args, - &map); + err = nexus_map_resource(bus, child, r, &args, &map); if (err != 0) { rman_deactivate_resource(r); return (err); @@ -408,7 +407,7 @@ nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, } static int -nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, +nexus_map_resource(device_t bus, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; @@ -420,7 +419,7 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, return (ENXIO); /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; @@ -445,11 +444,11 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } static int -nexus_unmap_resource(device_t bus, device_t child, int type, struct resource *r, +nexus_unmap_resource(device_t bus, device_t child, struct resource *r, struct resource_map *map) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: pmap_unmapdev(map->r_vaddr, map->r_size); diff --git a/sys/arm64/cavium/thunder_pcie_pem.c b/sys/arm64/cavium/thunder_pcie_pem.c index 78fcf333d825..b53f70696ff1 100644 --- a/sys/arm64/cavium/thunder_pcie_pem.c +++ b/sys/arm64/cavium/thunder_pcie_pem.c @@ -136,10 +136,10 @@ static int thunder_pem_get_id(device_t, device_t, enum pci_id_type, static int thunder_pem_attach(device_t); static int thunder_pem_deactivate_resource(device_t, device_t, int, int, struct resource *); -static int thunder_pem_map_resource(device_t, device_t, int, struct resource *, +static int thunder_pem_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); -static int thunder_pem_unmap_resource(device_t, device_t, int, - struct resource *, struct resource_map *); +static int thunder_pem_unmap_resource(device_t, device_t, struct resource *, + struct resource_map *); static bus_dma_tag_t thunder_pem_get_dma_tag(device_t, device_t); static int thunder_pem_detach(device_t); static uint64_t thunder_pem_config_reg_read(struct thunder_pem_softc *, int); @@ -302,9 +302,8 @@ thunder_pem_deactivate_resource(device_t dev, device_t child, int type, int rid, } static int -thunder_pem_map_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map_request *argsp, - struct resource_map *map) +thunder_pem_map_resource(device_t dev, device_t child, struct resource *r, + struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; struct thunder_pem_softc *sc; @@ -315,7 +314,7 @@ thunder_pem_map_resource(device_t dev, device_t child, int type, if (!(rman_get_flags(r) & RF_ACTIVE)) return (ENXIO); - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: break; @@ -340,11 +339,11 @@ thunder_pem_map_resource(device_t dev, device_t child, int type, } static int -thunder_pem_unmap_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map *map) +thunder_pem_unmap_resource(device_t dev, device_t child, struct resource *r, + struct resource_map *map) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: bus_space_unmap(map->r_bustag, map->r_bushandle, map->r_size); diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 93bce7df70d5..ab34009bf654 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1551,7 +1551,7 @@ acpi_is_resource_managed(device_t bus, struct resource *r) } static struct resource * -acpi_managed_resource(device_t bus, int type, struct resource *r) +acpi_managed_resource(device_t bus, struct resource *r) { struct acpi_softc *sc = device_get_softc(bus); struct resource_list_entry *rle; @@ -1560,7 +1560,7 @@ acpi_managed_resource(device_t bus, int type, struct resource *r) ("resource %p is not suballocated", r)); STAILQ_FOREACH(rle, &sc->sysres_rl, link) { - if (rle->type != type || rle->res == NULL) + if (rle->type != rman_get_type(r) || rle->res == NULL) continue; if (rman_get_start(r) >= rman_get_start(rle->res) && rman_get_end(r) <= rman_get_end(rle->res)) @@ -1630,7 +1630,7 @@ acpi_deactivate_resource(device_t bus, device_t child, int type, int rid, } static int -acpi_map_resource(device_t bus, device_t child, int type, struct resource *r, +acpi_map_resource(device_t bus, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; @@ -1639,8 +1639,7 @@ acpi_map_resource(device_t bus, device_t child, int type, struct resource *r, int error; if (!acpi_is_resource_managed(bus, r)) - return (bus_generic_map_resource(bus, child, type, r, argsp, - map)); + return (bus_generic_map_resource(bus, child, r, argsp, map)); /* Resources must be active to be mapped. */ if (!(rman_get_flags(r) & RF_ACTIVE)) @@ -1651,25 +1650,25 @@ acpi_map_resource(device_t bus, device_t child, int type, struct resource *r, if (error) return (error); - sysres = acpi_managed_resource(bus, type, r); + sysres = acpi_managed_resource(bus, r); if (sysres == NULL) return (ENOENT); args.offset = start - rman_get_start(sysres); args.length = length; - return (bus_generic_map_resource(bus, child, type, sysres, &args, map)); + return (bus_generic_map_resource(bus, child, sysres, &args, map)); } static int -acpi_unmap_resource(device_t bus, device_t child, int type, struct resource *r, +acpi_unmap_resource(device_t bus, device_t child, struct resource *r, struct resource_map *map) { if (acpi_is_resource_managed(bus, r)) { - r = acpi_managed_resource(bus, type, r); + r = acpi_managed_resource(bus, r); if (r == NULL) return (ENOENT); } - return (bus_generic_unmap_resource(bus, child, type, r, map)); + return (bus_generic_unmap_resource(bus, child, r, map)); } /* Allocate an IO port or memory resource, given its GAS. */ diff --git a/sys/dev/fdt/simplebus.c b/sys/dev/fdt/simplebus.c index 940f93f56274..2bd1a1402797 100644 --- a/sys/dev/fdt/simplebus.c +++ b/sys/dev/fdt/simplebus.c @@ -52,11 +52,6 @@ static int simplebus_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r); static int simplebus_deactivate_resource(device_t bus, device_t child, int type, int rid, struct resource *r); -static int simplebus_map_resource(device_t bus, device_t child, - int type, struct resource *r, struct resource_map_request *args, - struct resource_map *map); -static int simplebus_unmap_resource(device_t bus, device_t child, - int type, struct resource *r, struct resource_map *map); static void simplebus_probe_nomatch(device_t bus, device_t child); static int simplebus_print_child(device_t bus, device_t child); static device_t simplebus_add_child(device_t dev, u_int order, @@ -98,8 +93,8 @@ static device_method_t simplebus_methods[] = { DEVMETHOD(bus_activate_resource, simplebus_activate_resource), DEVMETHOD(bus_deactivate_resource, simplebus_deactivate_resource), DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), - DEVMETHOD(bus_map_resource, simplebus_map_resource), - DEVMETHOD(bus_unmap_resource, simplebus_unmap_resource), + DEVMETHOD(bus_map_resource, bus_generic_map_resource), + DEVMETHOD(bus_unmap_resource, bus_generic_unmap_resource), DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), @@ -524,27 +519,6 @@ simplebus_deactivate_resource(device_t bus, device_t child, int type, int rid, return (bus_generic_deactivate_resource(bus, child, type, rid, r)); } -static int -simplebus_map_resource(device_t bus, device_t child, int type, - struct resource *r, struct resource_map_request *args, - struct resource_map *map) -{ - - if (type == SYS_RES_IOPORT) - type = SYS_RES_MEMORY; - return (bus_generic_map_resource(bus, child, type, r, args, map)); -} - -static int -simplebus_unmap_resource(device_t bus, device_t child, int type, - struct resource *r, struct resource_map *map) -{ - - if (type == SYS_RES_IOPORT) - type = SYS_RES_MEMORY; - return (bus_generic_unmap_resource(bus, child, type, r, map)); -} - static int simplebus_print_res(struct simplebus_devinfo *di) { diff --git a/sys/dev/ofw/ofw_pcib.c b/sys/dev/ofw/ofw_pcib.c index e95a5f029140..4f373030dc33 100644 --- a/sys/dev/ofw/ofw_pcib.c +++ b/sys/dev/ofw/ofw_pcib.c @@ -75,9 +75,9 @@ static int ofw_pcib_deactivate_resource(device_t, device_t, int, int, struct resource *); static int ofw_pcib_adjust_resource(device_t, device_t, struct resource *, rman_res_t, rman_res_t); -static int ofw_pcib_map_resource(device_t, device_t, int, struct resource *, +static int ofw_pcib_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); -static int ofw_pcib_unmap_resource(device_t, device_t, int, struct resource *, +static int ofw_pcib_unmap_resource(device_t, device_t, struct resource *, struct resource_map *); static int ofw_pcib_translate_resource(device_t bus, int type, rman_res_t start, rman_res_t *newstart); @@ -535,9 +535,8 @@ ofw_pcib_activate_resource(device_t bus, device_t child, int type, int rid, } static int -ofw_pcib_map_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map_request *argsp, - struct resource_map *map) +ofw_pcib_map_resource(device_t dev, device_t child, struct resource *r, + struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; struct ofw_pci_softc *sc; @@ -549,7 +548,7 @@ ofw_pcib_map_resource(device_t dev, device_t child, int type, if (!(rman_get_flags(r) & RF_ACTIVE)) return (ENXIO); - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: break; @@ -583,7 +582,7 @@ ofw_pcib_map_resource(device_t dev, device_t child, int type, space = -1; } - if (type == space) { + if (rman_get_type(r) == space) { start += (rp->host - rp->pci); break; } @@ -608,10 +607,10 @@ ofw_pcib_map_resource(device_t dev, device_t child, int type, } static int -ofw_pcib_unmap_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map *map) +ofw_pcib_unmap_resource(device_t dev, device_t child, struct resource *r, + struct resource_map *map) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: bus_space_unmap(map->r_bustag, map->r_bushandle, map->r_size); diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index f4fccc7b8277..3657be018c99 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -639,15 +639,15 @@ generic_pcie_adjust_resource(device_t dev, device_t child, } static int -generic_pcie_map_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map_request *argsp, - struct resource_map *map) +generic_pcie_map_resource(device_t dev, device_t child, struct resource *r, + struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; struct pcie_range *range; rman_res_t length, start; - int error; + int error, type; + type = rman_get_type(r); switch (type) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) case PCI_RES_BUS: @@ -657,8 +657,7 @@ generic_pcie_map_resource(device_t dev, device_t child, int type, case SYS_RES_MEMORY: break; default: - return (bus_generic_map_resource(dev, child, type, r, argsp, - map)); + return (bus_generic_map_resource(dev, child, r, argsp, map)); } /* Resources must be active to be mapped. */ @@ -677,16 +676,17 @@ generic_pcie_map_resource(device_t dev, device_t child, int type, args.offset = start - range->pci_base; args.length = length; - return (bus_generic_map_resource(dev, child, type, range->res, &args, - map)); + return (bus_generic_map_resource(dev, child, range->res, &args, map)); } static int -generic_pcie_unmap_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map *map) +generic_pcie_unmap_resource(device_t dev, device_t child, struct resource *r, + struct resource_map *map) { struct pcie_range *range; + int type; + type = rman_get_type(r); switch (type) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) case PCI_RES_BUS: @@ -703,7 +703,7 @@ generic_pcie_unmap_resource(device_t dev, device_t child, int type, default: break; } - return (bus_generic_unmap_resource(dev, child, type, r, map)); + return (bus_generic_unmap_resource(dev, child, r, map)); } static bus_dma_tag_t diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index b4c02bfeca37..146b67c70801 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -2476,7 +2476,7 @@ pcib_activate_resource(device_t dev, device_t child, int type, int rid, if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); + error = BUS_MAP_RESOURCE(dev, child, r, NULL, &map); if (error != 0) { rman_deactivate_resource(r); return (error); @@ -2506,7 +2506,7 @@ pcib_deactivate_resource(device_t dev, device_t child, int type, int rid, if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { rman_get_mapping(r, &map); - BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + BUS_UNMAP_RESOURCE(dev, child, r, &map); } return (0); } @@ -2523,7 +2523,7 @@ pcib_find_parent_resource(struct pcib_window *w, struct resource *r) } static int -pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, +pcib_map_resource(device_t dev, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct pcib_softc *sc = device_get_softc(dev); @@ -2535,8 +2535,7 @@ pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, w = pcib_get_resource_window(sc, r); if (w == NULL) - return (bus_generic_map_resource(dev, child, type, r, argsp, - map)); + return (bus_generic_map_resource(dev, child, r, argsp, map)); /* Resources must be active to be mapped. */ if (!(rman_get_flags(r) & RF_ACTIVE)) @@ -2553,11 +2552,11 @@ pcib_map_resource(device_t dev, device_t child, int type, struct resource *r, args.offset = start - rman_get_start(pres); args.length = length; - return (bus_generic_map_resource(dev, child, type, pres, &args, map)); + return (bus_generic_map_resource(dev, child, pres, &args, map)); } static int -pcib_unmap_resource(device_t dev, device_t child, int type, struct resource *r, +pcib_unmap_resource(device_t dev, device_t child, struct resource *r, struct resource_map *map) { struct pcib_softc *sc = device_get_softc(dev); @@ -2569,7 +2568,7 @@ pcib_unmap_resource(device_t dev, device_t child, int type, struct resource *r, if (r == NULL) return (ENOENT); } - return (bus_generic_unmap_resource(dev, child, type, r, map)); + return (bus_generic_unmap_resource(dev, child, r, map)); } #else /* diff --git a/sys/dev/vmd/vmd.c b/sys/dev/vmd/vmd.c index c258ef7a7047..a0a021c7d367 100644 --- a/sys/dev/vmd/vmd.c +++ b/sys/dev/vmd/vmd.c @@ -525,7 +525,7 @@ vmd_find_parent_resource(struct vmd_softc *sc, struct resource *r) } static int -vmd_map_resource(device_t dev, device_t child, int type, struct resource *r, +vmd_map_resource(device_t dev, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct vmd_softc *sc = device_get_softc(dev); @@ -549,11 +549,11 @@ vmd_map_resource(device_t dev, device_t child, int type, struct resource *r, args.offset = start - rman_get_start(pres); args.length = length; - return (bus_generic_map_resource(dev, child, type, pres, &args, map)); + return (bus_generic_map_resource(dev, child, pres, &args, map)); } static int -vmd_unmap_resource(device_t dev, device_t child, int type, struct resource *r, +vmd_unmap_resource(device_t dev, device_t child, struct resource *r, struct resource_map *map) { struct vmd_softc *sc = device_get_softc(dev); @@ -561,7 +561,7 @@ vmd_unmap_resource(device_t dev, device_t child, int type, struct resource *r, r = vmd_find_parent_resource(sc, r); if (r == NULL) return (ENOENT); - return (bus_generic_unmap_resource(dev, child, type, r, map)); + return (bus_generic_unmap_resource(dev, child, r, map)); } static int diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m index 497b98ca4601..375aeebd1835 100644 --- a/sys/kern/bus_if.m +++ b/sys/kern/bus_if.m @@ -332,7 +332,6 @@ METHOD int activate_resource { * * @param _dev the parent device of @p _child * @param _child the device which allocated the resource - * @param _type the type of resource * @param _r the resource to map * @param _args optional attributes of the mapping * @param _map the mapping @@ -340,7 +339,6 @@ METHOD int activate_resource { METHOD int map_resource { device_t _dev; device_t _child; - int _type; struct resource *_r; struct resource_map_request *_args; struct resource_map *_map; @@ -356,14 +354,12 @@ METHOD int map_resource { * * @param _dev the parent device of @p _child * @param _child the device which allocated the resource - * @param _type the type of resource * @param _r the resource * @param _map the mapping to release */ METHOD int unmap_resource { device_t _dev; device_t _child; - int _type; struct resource *_r; struct resource_map *_map; } DEFAULT bus_generic_unmap_resource; diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 33d7b1e4af88..34712ae511e5 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -3979,14 +3979,12 @@ bus_generic_deactivate_resource(device_t dev, device_t child, int type, * BUS_MAP_RESOURCE() method of the parent of @p dev. */ int -bus_generic_map_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map_request *args, - struct resource_map *map) +bus_generic_map_resource(device_t dev, device_t child, struct resource *r, + struct resource_map_request *args, struct resource_map *map) { /* Propagate up the bus hierarchy until someone handles it. */ if (dev->parent) - return (BUS_MAP_RESOURCE(dev->parent, child, type, r, args, - map)); + return (BUS_MAP_RESOURCE(dev->parent, child, r, args, map)); return (EINVAL); } @@ -3997,12 +3995,12 @@ bus_generic_map_resource(device_t dev, device_t child, int type, * BUS_UNMAP_RESOURCE() method of the parent of @p dev. */ int -bus_generic_unmap_resource(device_t dev, device_t child, int type, - struct resource *r, struct resource_map *map) +bus_generic_unmap_resource(device_t dev, device_t child, struct resource *r, + struct resource_map *map) { /* Propagate up the bus hierarchy until someone handles it. */ if (dev->parent) - return (BUS_UNMAP_RESOURCE(dev->parent, child, type, r, map)); + return (BUS_UNMAP_RESOURCE(dev->parent, child, r, map)); return (EINVAL); } @@ -4339,7 +4337,7 @@ bus_generic_rman_activate_resource(device_t dev, device_t child, int type, if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); + error = BUS_MAP_RESOURCE(dev, child, r, NULL, &map); if (error != 0) { rman_deactivate_resource(r); return (error); @@ -4379,7 +4377,7 @@ bus_generic_rman_deactivate_resource(device_t dev, device_t child, int type, if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { rman_get_mapping(r, &map); - BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + BUS_UNMAP_RESOURCE(dev, child, r, &map); } return (0); } @@ -4615,19 +4613,19 @@ bus_deactivate_resource_new(device_t dev, struct resource *r) * parent of @p dev. */ int -bus_map_resource(device_t dev, int type, struct resource *r, +bus_map_resource(device_t dev, struct resource *r, struct resource_map_request *args, struct resource_map *map) { if (dev->parent == NULL) return (EINVAL); - return (BUS_MAP_RESOURCE(dev->parent, dev, type, r, args, map)); + return (BUS_MAP_RESOURCE(dev->parent, dev, r, args, map)); } int -bus_map_resource_new(device_t dev, struct resource *r, +bus_map_resource_old(device_t dev, int type, struct resource *r, struct resource_map_request *args, struct resource_map *map) { - return (bus_map_resource(dev, rman_get_type(r), r, args, map)); + return (bus_map_resource(dev, r, args, map)); } /** @@ -4637,19 +4635,18 @@ bus_map_resource_new(device_t dev, struct resource *r, * parent of @p dev. */ int -bus_unmap_resource(device_t dev, int type, struct resource *r, - struct resource_map *map) +bus_unmap_resource(device_t dev, struct resource *r, struct resource_map *map) { if (dev->parent == NULL) return (EINVAL); - return (BUS_UNMAP_RESOURCE(dev->parent, dev, type, r, map)); + return (BUS_UNMAP_RESOURCE(dev->parent, dev, r, map)); } int -bus_unmap_resource_new(device_t dev, struct resource *r, +bus_unmap_resource_old(device_t dev, int type, struct resource *r, struct resource_map *map) { - return (bus_unmap_resource(dev, rman_get_type(r), r, map)); + return (bus_unmap_resource(dev, r, map)); } /** diff --git a/sys/powerpc/mpc85xx/lbc.c b/sys/powerpc/mpc85xx/lbc.c index afac89b7597a..20f0baf8c395 100644 --- a/sys/powerpc/mpc85xx/lbc.c +++ b/sys/powerpc/mpc85xx/lbc.c @@ -69,9 +69,9 @@ static MALLOC_DEFINE(M_LBC, "localbus", "localbus devices information"); static int lbc_probe(device_t); static int lbc_attach(device_t); static int lbc_shutdown(device_t); -static int lbc_map_resource(device_t, device_t, int, struct resource *, +static int lbc_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); -static int lbc_unmap_resource(device_t, device_t, int, struct resource *, +static int lbc_unmap_resource(device_t, device_t, struct resource *, struct resource_map *map); static int lbc_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r); @@ -831,7 +831,7 @@ lbc_deactivate_resource(device_t bus, device_t child, int type, int rid, } static int -lbc_map_resource(device_t bus, device_t child, int type, struct resource *r, +lbc_map_resource(device_t bus, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; @@ -843,7 +843,7 @@ lbc_map_resource(device_t bus, device_t child, int type, struct resource *r, return (ENXIO); /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; @@ -864,12 +864,12 @@ lbc_map_resource(device_t bus, device_t child, int type, struct resource *r, } static int -lbc_unmap_resource(device_t bus, device_t child, int type, struct resource *r, +lbc_unmap_resource(device_t bus, device_t child, struct resource *r, struct resource_map *map) { /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; diff --git a/sys/powerpc/powermac/macio.c b/sys/powerpc/powermac/macio.c index b443f277ec89..cb4471bbcca1 100644 --- a/sys/powerpc/powermac/macio.c +++ b/sys/powerpc/powermac/macio.c @@ -92,10 +92,10 @@ static int macio_deactivate_resource(device_t, device_t, int, int, struct resource *); static int macio_release_resource(device_t, device_t, int, int, struct resource *); -static int macio_map_resource(device_t, device_t, int, struct resource *, +static int macio_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); -static int macio_unmap_resource(device_t, device_t, int, struct resource *, +static int macio_unmap_resource(device_t, device_t, struct resource *, struct resource_map *); static struct resource_list *macio_get_resource_list (device_t, device_t); static ofw_bus_get_devinfo_t macio_get_devinfo; @@ -663,9 +663,8 @@ macio_deactivate_resource(device_t bus, device_t child, int type, int rid, } static int -macio_map_resource(device_t bus, device_t child, int type, - struct resource *r, struct resource_map_request *argsp, - struct resource_map *map) +macio_map_resource(device_t bus, device_t child, struct resource *r, + struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; struct macio_softc *sc; @@ -677,7 +676,7 @@ macio_map_resource(device_t bus, device_t child, int type, return (ENXIO); /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; @@ -705,13 +704,13 @@ macio_map_resource(device_t bus, device_t child, int type, } static int -macio_unmap_resource(device_t bus, device_t child, int type, - struct resource *r, struct resource_map *map) +macio_unmap_resource(device_t bus, device_t child, struct resource *r, + struct resource_map *map) { /* * If this is a memory resource, unmap it. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: pmap_unmapdev(map->r_vaddr, map->r_size); diff --git a/sys/powerpc/powermac/uninorth.c b/sys/powerpc/powermac/uninorth.c index b9cb4814b986..c7842311d730 100644 --- a/sys/powerpc/powermac/uninorth.c +++ b/sys/powerpc/powermac/uninorth.c @@ -82,10 +82,10 @@ static int unin_chip_activate_resource(device_t, device_t, int, int, struct resource *); static int unin_chip_deactivate_resource(device_t, device_t, int, int, struct resource *); -static int unin_chip_map_resource(device_t, device_t, int, struct resource *, +static int unin_chip_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); -static int unin_chip_unmap_resource(device_t, device_t, int, struct resource *, +static int unin_chip_unmap_resource(device_t, device_t, struct resource *, struct resource_map *); static int unin_chip_release_resource(device_t, device_t, int, int, struct resource *); @@ -621,9 +621,8 @@ unin_chip_deactivate_resource(device_t bus, device_t child, int type, int rid, } static int -unin_chip_map_resource(device_t bus, device_t child, int type, - struct resource *r, struct resource_map_request *argsp, - struct resource_map *map) +unin_chip_map_resource(device_t bus, device_t child, struct resource *r, + struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; rman_res_t length, start; @@ -634,7 +633,7 @@ unin_chip_map_resource(device_t bus, device_t child, int type, return (ENXIO); /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; @@ -661,13 +660,13 @@ unin_chip_map_resource(device_t bus, device_t child, int type, } static int -unin_chip_unmap_resource(device_t bus, device_t child, int type, - struct resource *r, struct resource_map *map) +unin_chip_unmap_resource(device_t bus, device_t child, struct resource *r, + struct resource_map *map) { /* * If this is a memory resource, unmap it. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: pmap_unmapdev(map->r_vaddr, map->r_size); diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index 55afadcb4e20..2f7b2ba055ff 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -242,7 +242,7 @@ nexus_get_rman(device_t bus, int type, u_int flags) } static int -nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, +nexus_map_resource(device_t bus, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; @@ -254,7 +254,7 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, return (ENXIO); /* Mappings are only supported on I/O and memory resources. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: break; @@ -270,7 +270,7 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, /* * If this is a memory resource, map it into the kernel. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: panic("%s:%d SYS_RES_IOPORT handling not implemented", __func__, __LINE__); /* XXX: untested @@ -299,14 +299,14 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } static int -nexus_unmap_resource(device_t bus, device_t child, int type, struct resource *r, +nexus_unmap_resource(device_t bus, device_t child, struct resource *r, struct resource_map *map) { /* * If this is a memory resource, unmap it. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: pmap_unmapdev(map->r_vaddr, map->r_size); /* FALLTHROUGH */ diff --git a/sys/powerpc/ps3/ps3bus.c b/sys/powerpc/ps3/ps3bus.c index c3f46d4942ad..62687aa5b6ff 100644 --- a/sys/powerpc/ps3/ps3bus.c +++ b/sys/powerpc/ps3/ps3bus.c @@ -61,10 +61,10 @@ static struct rman *ps3bus_get_rman(device_t bus, int type, u_int flags); static struct resource *ps3bus_alloc_resource(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); -static int ps3bus_map_resource(device_t bus, device_t child, int type, +static int ps3bus_map_resource(device_t bus, device_t child, struct resource *r, struct resource_map_request *argsp, struct resource_map *map); -static int ps3bus_unmap_resource(device_t bus, device_t child, int type, +static int ps3bus_unmap_resource(device_t bus, device_t child, struct resource *r, struct resource_map *map); *** 230 LINES SKIPPED *** From nobody Wed Mar 13 22:13:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xk4MzVz5DXPs; Wed, 13 Mar 2024 22:13:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xk2QKhz4qhS; Wed, 13 Mar 2024 22:13:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y1VbecpBR/qDYcIzsUGD3T4uLWU8X2dpK57gXkQVW1U=; b=rzvPQGdrq6leOSVVTp0YcSFbdsp6e9J42wj+/oMbOF7MxBnBfUkP/u96lr48GHwQkUomb4 eeztfLWfxxKhhIgl29yTev2ZNYafrRZr6cxyKzZ/cWZablWsNlgxFsXkAVWpR2QfVjJbyF yipeR7cIWmNwsBN5yAGzNMtpkw0J224ETuvlVr6cQi33cOK7ASlxuHOWqkCrFitg6Ap506 MkcYX7mTBjX7uYkBujNT3ldyzEVPc2NO5Rti4DX1UJFym22LV7tmNtwo4zCPJHWRf4dyWu K7gT9F8Y9LK0QMjft1nlX49spXg5ThHmoemoFSoZM7rBivm+AKfW8qdxNITO9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368022; a=rsa-sha256; cv=none; b=rliHhwjqtucYFjLjdo7PaW0HkR3WhktQnSPsaCFLR1iXwXkVXkS+sUu9k9252VE8ZCIiKt yoE+qJlxhPyD14PrBMdwCuhqMSE/aVAkOQJvYq6QlQCSddrJIE6HEfmU8pVPX75sBIzVly j9N3kPrierR4ms3gDKhDIWxlZ14bo8MY6+XZJr+FeqoTRkogIkdDPo1/cJ/2cEyyrU7Ccl W2pxW0h46DjcAP2KBKrVij4RjDpp1Y3Ox3RBpnKz4U2rq7iVHlVH4Qr2y1hYf2C3FHWCQr vspp4I3+BQ6PndfbAUz9eiw2+SIilJ3UHOtS3SEUm/l5Q6/VXP033Pdu1sUnhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y1VbecpBR/qDYcIzsUGD3T4uLWU8X2dpK57gXkQVW1U=; b=mY0djhLO/rCo6+XFTpPyM495CdUW784rbTfnwrGxW2UgugI/ua9GxMrwf8Pc6pYrTOcLNT S5C5UwH/y75+fjdit3pxbJJ+UkExtAPfWymj7RaUR2DLmbwG/SEIkusKnWNmeHrkYIJkcY 9aR7eh4dP9A3pjWzsNRnipnkR0QCb9lpzZxe4eqoMpvWuVOqfYRkuztLxC8jvzAdaTgLeE YaeiInNz8h4QxhbOuv0QcuOgAHqK8pOuMbZYt96o9CvCHbUrY5KPNTMuayJDWnFYje6JKv 6CsBC7C1g7yKy7rXcVgobLrTTFH3AdE9XH0Aks5Xsu83UH0mftXEKXhYX7W+IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xk1pPjz11Tb; Wed, 13 Mar 2024 22:13:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDg5M075148; Wed, 13 Mar 2024 22:13:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDgsN075145; Wed, 13 Mar 2024 22:13:42 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:42 GMT Message-Id: <202403132213.42DMDgsN075145@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 2baed46e85d3 - main - new-bus: Remove the 'rid' and 'type' arguments from BUS_*ACTIVATE_RESOURCE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2baed46e85d33b1f99e6f96033acc85a9a6fbba4 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2baed46e85d33b1f99e6f96033acc85a9a6fbba4 commit 2baed46e85d33b1f99e6f96033acc85a9a6fbba4 Author: John Baldwin AuthorDate: 2024-03-13 22:05:54 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:54 +0000 new-bus: Remove the 'rid' and 'type' arguments from BUS_*ACTIVATE_RESOURCE The public bus_activate/deactivate_resource() API still accepts both forms, but the internal kobj methods no longer pass the arguments. Implementations which need the rid or type now use rman_get_rid() or rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44130 --- share/man/man9/bus_activate_resource.9 | 24 ++-------------- sys/arm/arm/nexus.c | 16 ++++------- sys/arm/mv/mv_pci.c | 33 ++++++++-------------- sys/arm64/arm64/nexus.c | 26 ++++++++---------- sys/arm64/cavium/thunder_pcie_pem.c | 30 ++++++++------------ sys/dev/acpica/acpi.c | 16 ++++------- sys/dev/acpica/acpi_pcib_acpi.c | 25 ++++++++--------- sys/dev/agp/agp_i810.c | 4 +-- sys/dev/bhnd/bhndb/bhndb.c | 50 ++++++++++++++-------------------- sys/dev/bhnd/cores/chipc/chipc.c | 34 ++++++++++------------- sys/dev/bhnd/cores/usb/bhnd_usb.c | 16 ++++------- sys/dev/dpaa/fman.c | 7 ++--- sys/dev/dpaa/fman.h | 2 +- sys/dev/dpaa2/dpaa2_mc.c | 20 ++++++-------- sys/dev/dpaa2/dpaa2_mc.h | 8 +++--- sys/dev/exca/exca.c | 18 ++++++------ sys/dev/exca/excavar.h | 8 +++--- sys/dev/fdt/simplebus.c | 28 ++----------------- sys/dev/hyperv/pcib/vmbus_pcib.c | 18 ++++++------ sys/dev/ofw/ofw_pcib.c | 33 ++++++++-------------- sys/dev/pccbb/pccbb.c | 49 +++++++++++++++------------------ sys/dev/pccbb/pccbbvar.h | 4 +-- sys/dev/pci/pci.c | 18 ++++++------ sys/dev/pci/pci_host_generic.c | 27 ++++++++---------- sys/dev/pci/pci_pci.c | 18 ++++++------ sys/dev/pci/pci_private.h | 8 +++--- sys/dev/pci/pci_subr.c | 4 +-- sys/dev/pci/pcib_private.h | 4 +-- sys/dev/vmd/vmd.c | 20 ++++++-------- sys/kern/bus_if.m | 8 ------ sys/kern/subr_bus.c | 45 ++++++++++++++---------------- sys/powerpc/mpc85xx/lbc.c | 31 +++++++-------------- sys/powerpc/powermac/macgpio.c | 18 ++++++------ sys/powerpc/powermac/macio.c | 28 +++++++------------ sys/powerpc/powermac/uninorth.c | 25 +++++++---------- sys/powerpc/psim/iobus.c | 26 +++++++----------- sys/riscv/riscv/nexus.c | 16 ++++------- sys/sys/bus.h | 30 ++++++++++---------- sys/x86/include/legacyvar.h | 8 +++--- sys/x86/pci/pci_bus.c | 17 ++++++------ 40 files changed, 325 insertions(+), 495 deletions(-) diff --git a/share/man/man9/bus_activate_resource.9 b/share/man/man9/bus_activate_resource.9 index be878349ab3c..7b87197b8d11 100644 --- a/share/man/man9/bus_activate_resource.9 +++ b/share/man/man9/bus_activate_resource.9 @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 20, 2016 +.Dd March 13, 2024 .Dt BUS_ACTIVATE_RESOURCE 9 .Os .Sh NAME @@ -37,11 +37,11 @@ .In machine/resource.h .Ft int .Fo bus_activate_resource -.Fa "device_t dev" "int type" "int rid" "struct resource *r" +.Fa "device_t dev" "struct resource *r" .Fc .Ft int .Fo bus_deactivate_resource -.Fa "device_t dev" "int type" "int rid" "struct resource *r" +.Fa "device_t dev" "struct resource *r" .Fc .Sh DESCRIPTION These functions activate or deactivate a previously allocated resource. @@ -58,24 +58,6 @@ The arguments are as follows: .It Fa dev The device that requests ownership of the resource. Before allocation, the resource is owned by the parent bus. -.It Fa type -The type of resource you want to allocate. -It is one of: -.Pp -.Bl -tag -width ".Dv SYS_RES_MEMORY" -compact -.It Dv PCI_RES_BUS -for PCI bus numbers -.It Dv SYS_RES_IRQ -for IRQs -.It Dv SYS_RES_DRQ -for ISA DMA lines -.It Dv SYS_RES_IOPORT -for I/O ports -.It Dv SYS_RES_MEMORY -for I/O memory -.El -.It Fa rid -A pointer to a bus specific handle that identifies the resource being allocated. .It Fa r A pointer to the .Vt "struct resource" diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index 0cb896ce346e..8274a792839d 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -305,16 +305,14 @@ nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu) #endif static int -nexus_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +nexus_activate_resource(device_t bus, device_t child, struct resource *r) { int err; - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_activate_resource(bus, child, type, - rid, r)); + return (bus_generic_rman_activate_resource(bus, child, r)); case SYS_RES_IRQ: err = rman_activate_resource(r); if (err != 0) @@ -393,16 +391,14 @@ nexus_unmap_resource(device_t bus, device_t child, struct resource *r, } static int -nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +nexus_deactivate_resource(device_t bus, device_t child, struct resource *r) { int error; - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_deactivate_resource(bus, child, type, - rid, r)); + return (bus_generic_rman_deactivate_resource(bus, child, r)); case SYS_RES_IRQ: error = rman_deactivate_resource(r); if (error) diff --git a/sys/arm/mv/mv_pci.c b/sys/arm/mv/mv_pci.c index a8a6d1d50002..a24a71cd4ecf 100644 --- a/sys/arm/mv/mv_pci.c +++ b/sys/arm/mv/mv_pci.c @@ -349,10 +349,8 @@ static int mv_pcib_adjust_resource(device_t, device_t, struct resource *, rman_res_t, rman_res_t); static int mv_pcib_release_resource(device_t, device_t, int, int, struct resource *); -static int mv_pcib_activate_resource(device_t, device_t, int, int, - struct resource *r); -static int mv_pcib_deactivate_resource(device_t, device_t, int, int, - struct resource *r); +static int mv_pcib_activate_resource(device_t, device_t, struct resource *); +static int mv_pcib_deactivate_resource(device_t, device_t, struct resource *); static int mv_pcib_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); static int mv_pcib_unmap_resource(device_t, device_t, struct resource *, @@ -987,49 +985,42 @@ mv_pcib_release_resource(device_t dev, device_t child, int type, int rid, } static int -mv_pcib_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +mv_pcib_activate_resource(device_t dev, device_t child, struct resource *r) { #ifdef PCI_RES_BUS struct mv_pcib_softc *sc = device_get_softc(dev); #endif - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: - return (bus_generic_rman_activate_resource(dev, child, type, - rid, r)); + return (bus_generic_rman_activate_resource(dev, child, r)); #ifdef PCI_RES_BUS case PCI_RES_BUS: - return (pci_domain_activate_bus(sc->ap_segment, child, rid, r)); + return (pci_domain_activate_bus(sc->ap_segment, child, r)); #endif default: - return (bus_generic_activate_resource(dev, child, type, rid, - r)); + return (bus_generic_activate_resource(dev, child, r)); } } static int -mv_pcib_deactivate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +mv_pcib_deactivate_resource(device_t dev, device_t child, struct resource *r) { #ifdef PCI_RES_BUS struct mv_pcib_softc *sc = device_get_softc(dev); #endif - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: - return (bus_generic_rman_deactivate_resource(dev, child, type, - rid, r)); + return (bus_generic_rman_deactivate_resource(dev, child, r)); #ifdef PCI_RES_BUS case PCI_RES_BUS: - return (pci_domain_deactivate_bus(sc->ap_segment, child, rid, - r)); + return (pci_domain_deactivate_bus(sc->ap_segment, child, r)); #endif default: - return (bus_generic_deactivate_resource(dev, child, type, rid, - r)); + return (bus_generic_deactivate_resource(dev, child, r)); } } diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index ed500ba5ea6d..3e9399384855 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -324,8 +324,8 @@ nexus_get_bus_tag(device_t bus __unused, device_t child __unused) } static int -nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, - struct resource *r, int flags) +nexus_activate_resource_flags(device_t bus, device_t child, struct resource *r, + int flags) { struct resource_map_request args; struct resource_map map; @@ -337,7 +337,7 @@ nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, /* * If this is a memory resource, map it into the kernel. */ - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { @@ -370,10 +370,9 @@ nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, } static int -nexus_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +nexus_activate_resource(device_t dev, device_t child, struct resource *r) { - return (nexus_activate_resource_flags(dev, child, type, rid, r, 0)); + return (nexus_activate_resource_flags(dev, child, r, 0)); } static struct resource_list * @@ -385,16 +384,14 @@ nexus_get_reslist(device_t dev, device_t child) } static int -nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +nexus_deactivate_resource(device_t bus, device_t child, struct resource *r) { int error; - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_deactivate_resource(bus, child, type, - rid, r)); + return (bus_generic_rman_deactivate_resource(bus, child, r)); case SYS_RES_IRQ: error = rman_deactivate_resource(r); if (error) @@ -500,14 +497,13 @@ nexus_fdt_attach(device_t dev) } static int -nexus_fdt_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +nexus_fdt_activate_resource(device_t bus, device_t child, struct resource *r) { phandle_t node, parent; int flags; flags = 0; - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: case SYS_RES_IOPORT: /* @@ -529,7 +525,7 @@ nexus_fdt_activate_resource(device_t bus, device_t child, int type, int rid, break; } - return (nexus_activate_resource_flags(bus, child, type, rid, r, flags)); + return (nexus_activate_resource_flags(bus, child, r, flags)); } static int diff --git a/sys/arm64/cavium/thunder_pcie_pem.c b/sys/arm64/cavium/thunder_pcie_pem.c index b53f70696ff1..f7c3c5ee1c0a 100644 --- a/sys/arm64/cavium/thunder_pcie_pem.c +++ b/sys/arm64/cavium/thunder_pcie_pem.c @@ -120,8 +120,7 @@ #define RID_PEM_SPACE 1 -static int thunder_pem_activate_resource(device_t, device_t, int, int, - struct resource *); +static int thunder_pem_activate_resource(device_t, device_t, struct resource *); static int thunder_pem_adjust_resource(device_t, device_t, struct resource *, rman_res_t, rman_res_t); static struct resource * thunder_pem_alloc_resource(device_t, device_t, int, @@ -134,7 +133,7 @@ static int thunder_pem_map_msi(device_t, device_t, int, uint64_t *, uint32_t *); static int thunder_pem_get_id(device_t, device_t, enum pci_id_type, uintptr_t *); static int thunder_pem_attach(device_t); -static int thunder_pem_deactivate_resource(device_t, device_t, int, int, +static int thunder_pem_deactivate_resource(device_t, device_t, struct resource *); static int thunder_pem_map_resource(device_t, device_t, struct resource *, struct resource_map_request *, struct resource_map *); @@ -254,31 +253,28 @@ thunder_pem_write_ivar(device_t dev, device_t child, int index, } static int -thunder_pem_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +thunder_pem_activate_resource(device_t dev, device_t child, struct resource *r) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) struct thunder_pem_softc *sc; sc = device_get_softc(dev); #endif - switch (type) { + switch (rman_get_type(r)) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) case PCI_RES_BUS: - return (pci_domain_activate_bus(sc->id, child, rid, r)); + return (pci_domain_activate_bus(sc->id, child, r)); #endif case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_activate_resource(dev, child, type, - rid, r)); + return (bus_generic_rman_activate_resource(dev, child, r)); default: - return (bus_generic_activate_resource(dev, child, type, rid, - r)); + return (bus_generic_activate_resource(dev, child, r)); } } static int -thunder_pem_deactivate_resource(device_t dev, device_t child, int type, int rid, +thunder_pem_deactivate_resource(device_t dev, device_t child, struct resource *r) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) @@ -286,18 +282,16 @@ thunder_pem_deactivate_resource(device_t dev, device_t child, int type, int rid, sc = device_get_softc(dev); #endif - switch (type) { + switch (rman_get_type(r)) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) case PCI_RES_BUS: - return (pci_domain_deactivate_bus(sc->id, child, rid, r)); + return (pci_domain_deactivate_bus(sc->id, child, r)); #endif case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_deactivate_resource(dev, child, type, - rid, r)); + return (bus_generic_rman_deactivate_resource(dev, child, r)); default: - return (bus_generic_deactivate_resource(dev, child, type, rid, - r)); + return (bus_generic_deactivate_resource(dev, child, r)); } } diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index ab34009bf654..df2017e69a86 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1610,23 +1610,19 @@ acpi_delete_resource(device_t bus, device_t child, int type, int rid) } static int -acpi_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +acpi_activate_resource(device_t bus, device_t child, struct resource *r) { if (acpi_is_resource_managed(bus, r)) - return (bus_generic_rman_activate_resource(bus, child, type, - rid, r)); - return (bus_generic_activate_resource(bus, child, type, rid, r)); + return (bus_generic_rman_activate_resource(bus, child, r)); + return (bus_generic_activate_resource(bus, child, r)); } static int -acpi_deactivate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +acpi_deactivate_resource(device_t bus, device_t child, struct resource *r) { if (acpi_is_resource_managed(bus, r)) - return (bus_generic_rman_deactivate_resource(bus, child, type, - rid, r)); - return (bus_generic_deactivate_resource(bus, child, type, rid, r)); + return (bus_generic_rman_deactivate_resource(bus, child, r)); + return (bus_generic_deactivate_resource(bus, child, r)); } static int diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index 235670076dae..fdf8e84d14e0 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -104,11 +104,9 @@ static int acpi_pcib_acpi_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r); static int acpi_pcib_acpi_activate_resource(device_t dev, - device_t child, int type, int rid, - struct resource *r); + device_t child, struct resource *r); static int acpi_pcib_acpi_deactivate_resource(device_t dev, - device_t child, int type, int rid, - struct resource *r); + device_t child, struct resource *r); #endif #endif static int acpi_pcib_request_feature(device_t pcib, device_t dev, @@ -773,28 +771,27 @@ acpi_pcib_acpi_release_resource(device_t dev, device_t child, int type, int rid, } int -acpi_pcib_acpi_activate_resource(device_t dev, device_t child, int type, int rid, +acpi_pcib_acpi_activate_resource(device_t dev, device_t child, struct resource *r) { struct acpi_hpcib_softc *sc; sc = device_get_softc(dev); - if (type == PCI_RES_BUS) - return (pci_domain_activate_bus(sc->ap_segment, child, rid, r)); - return (bus_generic_activate_resource(dev, child, type, rid, r)); + if (rman_get_type(r) == PCI_RES_BUS) + return (pci_domain_activate_bus(sc->ap_segment, child, r)); + return (bus_generic_activate_resource(dev, child, r)); } int -acpi_pcib_acpi_deactivate_resource(device_t dev, device_t child, int type, - int rid, struct resource *r) +acpi_pcib_acpi_deactivate_resource(device_t dev, device_t child, + struct resource *r) { struct acpi_hpcib_softc *sc; sc = device_get_softc(dev); - if (type == PCI_RES_BUS) - return (pci_domain_deactivate_bus(sc->ap_segment, child, rid, - r)); - return (bus_generic_deactivate_resource(dev, child, type, rid, r)); + if (rman_get_type(r) == PCI_RES_BUS) + return (pci_domain_deactivate_bus(sc->ap_segment, child, r)); + return (bus_generic_deactivate_resource(dev, child, r)); } #endif #endif diff --git a/sys/dev/agp/agp_i810.c b/sys/dev/agp/agp_i810.c index 6ed04297f6c8..a83189ca7bc8 100644 --- a/sys/dev/agp/agp_i810.c +++ b/sys/dev/agp/agp_i810.c @@ -2051,8 +2051,8 @@ agp_i915_chipset_flush_free_page(device_t dev) vga = device_get_parent(dev); if (sc->sc_flush_page_res == NULL) return; - BUS_DEACTIVATE_RESOURCE(device_get_parent(vga), dev, SYS_RES_MEMORY, - sc->sc_flush_page_rid, sc->sc_flush_page_res); + BUS_DEACTIVATE_RESOURCE(device_get_parent(vga), dev, + sc->sc_flush_page_res); BUS_RELEASE_RESOURCE(device_get_parent(vga), dev, SYS_RES_MEMORY, sc->sc_flush_page_rid, sc->sc_flush_page_res); } diff --git a/sys/dev/bhnd/bhndb/bhndb.c b/sys/dev/bhnd/bhndb/bhndb.c index f8a1467894d1..5148c1c8452b 100644 --- a/sys/dev/bhnd/bhndb/bhndb.c +++ b/sys/dev/bhnd/bhndb/bhndb.c @@ -104,13 +104,11 @@ static int bhndb_init_child_resource(struct resource *r, static int bhndb_activate_static_region( struct bhndb_softc *sc, struct bhndb_region *region, - device_t child, int type, int rid, - struct resource *r); + device_t child, struct resource *r); static int bhndb_try_activate_resource( struct bhndb_softc *sc, device_t child, - int type, int rid, struct resource *r, - bool *indirect); + struct resource *r, bool *indirect); static inline struct bhndb_dw_alloc *bhndb_io_resource(struct bhndb_softc *sc, bus_addr_t addr, bus_size_t size, @@ -755,8 +753,7 @@ bhndb_resume_resource(device_t dev, device_t child, int type, device_printf(child, "resume resource type=%d 0x%jx+0x%jx\n", type, rman_get_start(r), rman_get_size(r)); - return (bhndb_try_activate_resource(sc, rman_get_device(r), type, - rman_get_rid(r), r, NULL)); + return (bhndb_try_activate_resource(sc, rman_get_device(r), r, NULL)); } /** @@ -1057,7 +1054,7 @@ bhndb_release_resource(device_t dev, device_t child, int type, int rid, /* Deactivate resources */ if (rman_get_flags(r) & RF_ACTIVE) { - error = BUS_DEACTIVATE_RESOURCE(dev, child, type, rid, r); + error = BUS_DEACTIVATE_RESOURCE(dev, child, r); if (error) return (error); } @@ -1186,8 +1183,7 @@ bhndb_init_child_resource(struct resource *r, */ static int bhndb_activate_static_region(struct bhndb_softc *sc, - struct bhndb_region *region, device_t child, int type, int rid, - struct resource *r) + struct bhndb_region *region, device_t child, struct resource *r) { struct resource *bridge_res; const struct bhndb_regwin *win; @@ -1287,8 +1283,6 @@ bhndb_retain_dynamic_window(struct bhndb_softc *sc, struct resource *r) * * @param sc The bhndb driver state. * @param child The child holding ownership of @p r. - * @param type The type of the resource to be activated. - * @param rid The resource ID of @p r. * @param r The resource to be activated * @param[out] indirect On error and if not NULL, will be set to 'true' if * the caller should instead use an indirect resource mapping. @@ -1297,21 +1291,22 @@ bhndb_retain_dynamic_window(struct bhndb_softc *sc, struct resource *r) * @retval non-zero activation failed. */ static int -bhndb_try_activate_resource(struct bhndb_softc *sc, device_t child, int type, - int rid, struct resource *r, bool *indirect) +bhndb_try_activate_resource(struct bhndb_softc *sc, device_t child, + struct resource *r, bool *indirect) { struct bhndb_region *region; struct bhndb_dw_alloc *dwa; bhndb_priority_t dw_priority; rman_res_t r_start, r_size; rman_res_t parent_offset; - int error; + int error, type; BHNDB_LOCK_ASSERT(sc, MA_NOTOWNED); if (indirect != NULL) *indirect = false; + type = rman_get_type(r); switch (type) { case SYS_RES_IRQ: /* IRQ resources are always directly mapped */ @@ -1367,8 +1362,7 @@ bhndb_try_activate_resource(struct bhndb_softc *sc, device_t child, int type, /* Prefer static mappings over consuming a dynamic windows. */ if (region && region->static_regwin) { - error = bhndb_activate_static_region(sc, region, child, type, - rid, r); + error = bhndb_activate_static_region(sc, region, child, r); if (error) device_printf(sc->dev, "static window allocation " "for 0x%llx-0x%llx failed\n", @@ -1425,41 +1419,40 @@ failed: * Default bhndb(4) implementation of BUS_ACTIVATE_RESOURCE(). */ static int -bhndb_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +bhndb_activate_resource(device_t dev, device_t child, struct resource *r) { struct bhndb_softc *sc = device_get_softc(dev); /* Delegate directly to our parent device's bus if the requested * resource type isn't handled locally. */ - if (bhndb_get_rman(sc, child, type) == NULL) { + if (bhndb_get_rman(sc, child, rman_get_type(r)) == NULL) { return (BUS_ACTIVATE_RESOURCE(device_get_parent(sc->parent_dev), - child, type, rid, r)); + child, r)); } - return (bhndb_try_activate_resource(sc, child, type, rid, r, NULL)); + return (bhndb_try_activate_resource(sc, child, r, NULL)); } /** * Default bhndb(4) implementation of BUS_DEACTIVATE_RESOURCE(). */ static int -bhndb_deactivate_resource(device_t dev, device_t child, int type, - int rid, struct resource *r) +bhndb_deactivate_resource(device_t dev, device_t child, struct resource *r) { struct bhndb_dw_alloc *dwa; struct bhndb_softc *sc; struct rman *rm; - int error; + int error, type; sc = device_get_softc(dev); + type = rman_get_type(r); /* Delegate directly to our parent device's bus if the requested * resource type isn't handled locally. */ rm = bhndb_get_rman(sc, child, type); if (rm == NULL) { return (BUS_DEACTIVATE_RESOURCE( - device_get_parent(sc->parent_dev), child, type, rid, r)); + device_get_parent(sc->parent_dev), child, r)); } /* Mark inactive */ @@ -1534,7 +1527,7 @@ bhndb_activate_bhnd_resource(device_t dev, device_t child, /* Delegate directly to BUS_ACTIVATE_RESOURCE() if the requested * resource type isn't handled locally. */ if (bhndb_get_rman(sc, child, type) == NULL) { - error = BUS_ACTIVATE_RESOURCE(dev, child, type, rid, r->res); + error = BUS_ACTIVATE_RESOURCE(dev, child, r->res); if (error == 0) r->direct = true; return (error); @@ -1574,8 +1567,7 @@ bhndb_activate_bhnd_resource(device_t dev, device_t child, } /* Attempt direct activation */ - error = bhndb_try_activate_resource(sc, child, type, rid, r->res, - &indirect); + error = bhndb_try_activate_resource(sc, child, r->res, &indirect); if (!error) { r->direct = true; } else if (indirect) { @@ -1615,7 +1607,7 @@ bhndb_deactivate_bhnd_resource(device_t dev, device_t child, ("RF_ACTIVE not set on direct resource")); /* Perform deactivation */ - error = BUS_DEACTIVATE_RESOURCE(dev, child, type, rid, r->res); + error = BUS_DEACTIVATE_RESOURCE(dev, child, r->res); if (!error) r->direct = false; diff --git a/sys/dev/bhnd/cores/chipc/chipc.c b/sys/dev/bhnd/cores/chipc/chipc.c index 2d1440e5c987..bdba61a2b942 100644 --- a/sys/dev/bhnd/cores/chipc/chipc.c +++ b/sys/dev/bhnd/cores/chipc/chipc.c @@ -124,8 +124,8 @@ static int chipc_enable_sprom_pins(struct chipc_softc *sc); static void chipc_disable_sprom_pins(struct chipc_softc *sc); static int chipc_try_activate_resource(device_t dev, - device_t child, int type, int rid, - struct resource *r, bool req_direct); + device_t child, struct resource *r, + bool req_direct); static int chipc_init_rman(struct chipc_softc *sc); static void chipc_free_rman(struct chipc_softc *sc); @@ -949,16 +949,14 @@ chipc_adjust_resource(device_t dev, device_t child, * * @param sc Driver instance state. * @param child Requesting child device. - * @param type resource type of @p r. - * @param rid resource id of @p r * @param r resource to be activated. * @param req_direct If true, failure to allocate a direct bhnd resource * will be treated as an error. If false, the resource will not be marked * as RF_ACTIVE if bhnd direct resource allocation fails. */ static int -chipc_try_activate_resource(device_t dev, device_t child, int type, - int rid, struct resource *r, bool req_direct) +chipc_try_activate_resource(device_t dev, device_t child, + struct resource *r, bool req_direct) { struct chipc_softc *sc = device_get_softc(dev); struct rman *rm; @@ -967,7 +965,7 @@ chipc_try_activate_resource(device_t dev, device_t child, int type, rman_res_t r_start, r_end, r_size; int error; - rm = chipc_get_rman(dev, type, rman_get_flags(r)); + rm = chipc_get_rman(dev, rman_get_type(r), rman_get_flags(r)); if (rm == NULL || !rman_is_region_manager(r, rm)) return (EINVAL); @@ -1024,8 +1022,7 @@ chipc_activate_bhnd_resource(device_t dev, device_t child, int type, } /* Try activating the chipc region resource */ - error = chipc_try_activate_resource(dev, child, type, rid, r->res, - false); + error = chipc_try_activate_resource(dev, child, r->res, false); if (error) return (error); @@ -1038,28 +1035,26 @@ chipc_activate_bhnd_resource(device_t dev, device_t child, int type, } static int -chipc_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +chipc_activate_resource(device_t dev, device_t child, struct resource *r) { struct rman *rm; /* Delegate non-locally managed resources to parent */ - rm = chipc_get_rman(dev, type, rman_get_flags(r)); + rm = chipc_get_rman(dev, rman_get_type(r), rman_get_flags(r)); if (rm == NULL || !rman_is_region_manager(r, rm)) { - return (bus_generic_activate_resource(dev, child, type, rid, - r)); + return (bus_generic_activate_resource(dev, child, r)); } /* Try activating the chipc region-based resource */ - return (chipc_try_activate_resource(dev, child, type, rid, r, true)); + return (chipc_try_activate_resource(dev, child, r, true)); } /** * Default bhndb(4) implementation of BUS_DEACTIVATE_RESOURCE(). */ static int -chipc_deactivate_resource(device_t dev, device_t child, int type, - int rid, struct resource *r) +chipc_deactivate_resource(device_t dev, device_t child, + struct resource *r) { struct chipc_softc *sc; struct chipc_region *cr; @@ -1069,10 +1064,9 @@ chipc_deactivate_resource(device_t dev, device_t child, int type, sc = device_get_softc(dev); /* Handled by parent bus? */ - rm = chipc_get_rman(dev, type, rman_get_flags(r)); + rm = chipc_get_rman(dev, rman_get_type(r), rman_get_flags(r)); if (rm == NULL || !rman_is_region_manager(r, rm)) { - return (bus_generic_deactivate_resource(dev, child, type, rid, - r)); + return (bus_generic_deactivate_resource(dev, child, r)); } /* Find the corresponding chipc region */ diff --git a/sys/dev/bhnd/cores/usb/bhnd_usb.c b/sys/dev/bhnd/cores/usb/bhnd_usb.c index 68701df14c50..fa9e6d7ec31a 100644 --- a/sys/dev/bhnd/cores/usb/bhnd_usb.c +++ b/sys/dev/bhnd/cores/usb/bhnd_usb.c @@ -345,23 +345,19 @@ bhnd_usb_release_resource(device_t dev, device_t child, int type, } static int -bhnd_usb_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +bhnd_usb_activate_resource(device_t dev, device_t child, struct resource *r) { if (type != SYS_RES_MEMORY) - return (bus_generic_activate_resource(dev, child, type, rid, - r)); - return (bus_generic_rman_activate_resource(dev, child, type, rid, r)); + return (bus_generic_activate_resource(dev, child, r)); + return (bus_generic_rman_activate_resource(dev, child, r)); } static int -bhnd_usb_deactivate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +bhnd_usb_deactivate_resource(device_t dev, device_t child, struct resource *r) { if (type != SYS_RES_MEMORY) - return (bus_generic_deactivate_resource(dev, child, type, rid, - r)); - return (bus_generic_rman_deactivate_resource(dev, child, type, rid, r)); + return (bus_generic_deactivate_resource(dev, child, r)); + return (bus_generic_rman_deactivate_resource(dev, child, r)); } static int diff --git a/sys/dev/dpaa/fman.c b/sys/dev/dpaa/fman.c index 7c8122a03ce7..2364df0be801 100644 --- a/sys/dev/dpaa/fman.c +++ b/sys/dev/dpaa/fman.c @@ -86,8 +86,7 @@ const uint32_t fman_firmware[] = FMAN_UC_IMG; const uint32_t fman_firmware_size = sizeof(fman_firmware); int -fman_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) +fman_activate_resource(device_t bus, device_t child, struct resource *res) { struct fman_softc *sc; bus_space_tag_t bt; @@ -95,7 +94,7 @@ fman_activate_resource(device_t bus, device_t child, int type, int rid, int i, rv; sc = device_get_softc(bus); - if (type != SYS_RES_IRQ) { + if (rman_get_type(res) != SYS_RES_IRQ) { for (i = 0; i < sc->sc_base.nranges; i++) { if (rman_is_region_manager(res, &sc->rman) != 0) { bt = rman_get_bustag(sc->mem_res); @@ -113,7 +112,7 @@ fman_activate_resource(device_t bus, device_t child, int type, int rid, } return (EINVAL); } - return (bus_generic_activate_resource(bus, child, type, rid, res)); + return (bus_generic_activate_resource(bus, child, res)); } int diff --git a/sys/dev/dpaa/fman.h b/sys/dev/dpaa/fman.h index c7b57c60171d..b201b9fd9355 100644 --- a/sys/dev/dpaa/fman.h +++ b/sys/dev/dpaa/fman.h @@ -56,7 +56,7 @@ struct fman_softc { struct resource * fman_alloc_resource(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); int fman_activate_resource(device_t bus, device_t child, - int type, int rid, struct resource *res); + struct resource *res); int fman_release_resource(device_t bus, device_t child, int type, int rid, struct resource *res); int fman_attach(device_t dev); diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c index 0dbb282399ae..3e0920cbf8a5 100644 --- a/sys/dev/dpaa2/dpaa2_mc.c +++ b/sys/dev/dpaa2/dpaa2_mc.c @@ -369,29 +369,25 @@ dpaa2_mc_release_resource(device_t mcdev, device_t child, int type, int rid, } int -dpaa2_mc_activate_resource(device_t mcdev, device_t child, int type, int rid, - struct resource *r) +dpaa2_mc_activate_resource(device_t mcdev, device_t child, struct resource *r) { struct rman *rm; - rm = dpaa2_mc_rman(mcdev, type, rman_get_flags(r)); + rm = dpaa2_mc_rman(mcdev, rman_get_type(r), rman_get_flags(r)); if (rm) - return (bus_generic_rman_activate_resource(mcdev, child, type, - rid, r)); - return (bus_generic_activate_resource(mcdev, child, type, rid, r)); + return (bus_generic_rman_activate_resource(mcdev, child, r)); + return (bus_generic_activate_resource(mcdev, child, r)); } int -dpaa2_mc_deactivate_resource(device_t mcdev, device_t child, int type, int rid, - struct resource *r) +dpaa2_mc_deactivate_resource(device_t mcdev, device_t child, struct resource *r) { struct rman *rm; - rm = dpaa2_mc_rman(mcdev, type, rman_get_flags(r)); + rm = dpaa2_mc_rman(mcdev, rman_get_type(r), rman_get_flags(r)); if (rm) - return (bus_generic_rman_deactivate_resource(mcdev, child, type, - rid, r)); - return (bus_generic_deactivate_resource(mcdev, child, type, rid, r)); + return (bus_generic_rman_deactivate_resource(mcdev, child, r)); + return (bus_generic_deactivate_resource(mcdev, child, r)); } /* diff --git a/sys/dev/dpaa2/dpaa2_mc.h b/sys/dev/dpaa2/dpaa2_mc.h index 23b18f8d2ca6..7af3b2a4eb24 100644 --- a/sys/dev/dpaa2/dpaa2_mc.h +++ b/sys/dev/dpaa2/dpaa2_mc.h @@ -187,10 +187,10 @@ int dpaa2_mc_adjust_resource(device_t mcdev, device_t child, struct resource *r, rman_res_t start, rman_res_t end); int dpaa2_mc_release_resource(device_t mcdev, device_t child, int type, int rid, struct resource *r); -int dpaa2_mc_activate_resource(device_t mcdev, device_t child, int type, - int rid, struct resource *r); -int dpaa2_mc_deactivate_resource(device_t mcdev, device_t child, int type, - int rid, struct resource *r); +int dpaa2_mc_activate_resource(device_t mcdev, device_t child, + struct resource *r); +int dpaa2_mc_deactivate_resource(device_t mcdev, device_t child, + struct resource *r); /* For pseudo-pcib interface. */ diff --git a/sys/dev/exca/exca.c b/sys/dev/exca/exca.c index 5a5a68b7dc62..98e0ffdf9d18 100644 --- a/sys/dev/exca/exca.c +++ b/sys/dev/exca/exca.c @@ -811,18 +811,18 @@ exca_removal(struct exca_softc *exca) } int -exca_activate_resource(struct exca_softc *exca, device_t child, int type, - int rid, struct resource *res) +exca_activate_resource(struct exca_softc *exca, device_t child, + struct resource *res) { int err; if (rman_get_flags(res) & RF_ACTIVE) return (0); err = BUS_ACTIVATE_RESOURCE(device_get_parent(exca->dev), child, - type, rid, res); + res); if (err) return (err); - switch (type) { + switch (rman_get_type(res)) { case SYS_RES_IOPORT: err = exca_io_map(exca, PCCARD_WIDTH_AUTO, res); break; @@ -832,16 +832,16 @@ exca_activate_resource(struct exca_softc *exca, device_t child, int type, } if (err) BUS_DEACTIVATE_RESOURCE(device_get_parent(exca->dev), child, - type, rid, res); + res); return (err); } int -exca_deactivate_resource(struct exca_softc *exca, device_t child, int type, - int rid, struct resource *res) +exca_deactivate_resource(struct exca_softc *exca, device_t child, + struct resource *res) { if (rman_get_flags(res) & RF_ACTIVE) { /* if activated */ - switch (type) { + switch (rman_get_type(res)) { case SYS_RES_IOPORT: if (exca_io_unmap_res(exca, res)) return (ENOENT); @@ -853,7 +853,7 @@ exca_deactivate_resource(struct exca_softc *exca, device_t child, int type, } } return (BUS_DEACTIVATE_RESOURCE(device_get_parent(exca->dev), child, - type, rid, res)); + res)); } #if 0 diff --git a/sys/dev/exca/excavar.h b/sys/dev/exca/excavar.h index b301ab5ab26b..07cf2701c4a4 100644 --- a/sys/dev/exca/excavar.h +++ b/sys/dev/exca/excavar.h @@ -121,10 +121,10 @@ void exca_removal(struct exca_softc *); void exca_reset(struct exca_softc *, device_t child); /* bus/device interfaces */ -int exca_activate_resource(struct exca_softc *exca, device_t child, int type, *** 1246 LINES SKIPPED *** From nobody Wed Mar 13 22:13:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4Xl4SrQz5DX31; Wed, 13 Mar 2024 22:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4Xl3M1rz4qsP; Wed, 13 Mar 2024 22:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hpo8aP4xt7pZQSjfMs4Que8EOMSyTU7XvfnAhFTSs/U=; b=nfycKw/h3hkg2nrgJKLpBMQZ6vmdBEEYGT3VM6P6MPc/Vpvugcwd3ER6yvQ/9EpBTJ8E6C xaTSC0p0zeVWHATUYWRl0GfOVzYzYYR9L1aMYEef8cP7u5LwpJV2EPgaTr4EcjtCj+s4WS WFNxbjgGYgSiCs3jWeKAWrkhAyF20iRZEiEfGKYf4t0E5mS59NEAPBpNsA1tj+giYBdsE7 vjpfMIKyF8BOzSm9cTGOqfTgW3yTL2xlq041VWQZ5zWJDrr3q+UMi3x+oT6N9oEKEkC2+k 1b4svA0caxMlKCCD4JxuDRb5+OU+hctERQWfo61tD4heCguVvKrMMFy6PrNbsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368023; a=rsa-sha256; cv=none; b=bEx835UNa8t7xO3P2hhAq85x577bvBm9z8ySxkl1ntmGzDOoxHKT1aSkGsvWS/zNy7uQO3 +KcnyPL8edkqyAjgmkVufTuhZO62/6BuLMy+lc3NkBR/0AvSgdA8Ufru29Y4X4lxA8Pq7G 4BQfQhko1ky1SXMK3Wxd98zIZ/c71OLKFN28arF63UzbeXylEoUMMYbpKBfO2qwyY9+R6v oSV954koaW1quQRZO3OEObkDyKjtDWPMn0ki9sa7W/XiLxTudMXiFP+3LleIBjCj07Jr/9 ej+OuSiQ5cVR0JaQRgnuZMr21fMA1+2yHz/BAIcjUvCGQE8Nj5sjTNeFh+GdJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hpo8aP4xt7pZQSjfMs4Que8EOMSyTU7XvfnAhFTSs/U=; b=HETGno7yrMYMytjkmjxRza0dAOTPRkBb5xT526yT8T/5Zr5DWLLuBkEsf9x/u3+Xon53SA sCq+8tnJc0UyLAMndQoL+V7Cdnfy+fFW6KrA72F1hONQrcgvIzHVbDcBb/jAKSyClvMhXy j2SDKQCzkU4QivVEq9SAf9lnuAwEGo8FvUKgvOh8NmKa/3Ofrubeai2CWdp9346OEYJiWi DVlexwLTRoq9AtlREXSsXTmAZxgP/7udCleiOA8m0LPwq7Mu4vO5dL+eyb5EOXFZDA3xw/ fcs0FUbZafFtU248vxucVrIeJ3KD+jiPj17uevK/S7cCCkd42/+2EUxoVYHl7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4Xl2xglz11hp; Wed, 13 Mar 2024 22:13:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMDhc1075202; Wed, 13 Mar 2024 22:13:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMDhcH075199; Wed, 13 Mar 2024 22:13:43 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:13:43 GMT Message-Id: <202403132213.42DMDhcH075199@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9dbf5b0e6876 - main - new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9dbf5b0e6876d8c93890754bcc9c748339de79c0 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9dbf5b0e6876d8c93890754bcc9c748339de79c0 commit 9dbf5b0e6876d8c93890754bcc9c748339de79c0 Author: John Baldwin AuthorDate: 2024-03-13 22:05:54 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:05:54 +0000 new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE The public bus_release_resource() API still accepts both forms, but the internal kobj method no longer passes the arguments. Implementations which need the rid or type now use rman_get_rid() or rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44131 --- share/man/man9/bus_release_resource.9 | 24 +++-------------- sys/arm/mv/mv_pci.c | 16 +++++------ sys/arm64/cavium/thunder_pcie_fdt.c | 12 ++++----- sys/arm64/cavium/thunder_pcie_pem.c | 16 +++++------ sys/dev/acpica/acpi.c | 7 +++-- sys/dev/acpica/acpi_pcib_acpi.c | 13 +++++---- sys/dev/agp/agp_i810.c | 4 +-- sys/dev/ahci/ahci.c | 7 +++-- sys/dev/ahci/ahci.h | 3 +-- sys/dev/ata/ata-pci.c | 16 +++++------ sys/dev/ata/ata-pci.h | 2 +- sys/dev/atkbdc/atkbdc_isa.c | 9 +++---- sys/dev/bhnd/bhnd_subr.c | 4 +-- sys/dev/bhnd/bhndb/bhndb.c | 9 +++---- sys/dev/bhnd/cores/chipc/chipc.c | 13 +++++---- sys/dev/bhnd/cores/usb/bhnd_usb.c | 14 +++++----- sys/dev/dpaa/fman.c | 12 ++++----- sys/dev/dpaa/fman.h | 3 +-- sys/dev/dpaa2/dpaa2_mc.c | 10 +++---- sys/dev/dpaa2/dpaa2_mc.h | 4 +-- sys/dev/dpaa2/dpaa2_rc.c | 7 +++-- sys/dev/fdt/simplebus.c | 14 +--------- sys/dev/hyperv/pcib/vmbus_pcib.c | 17 ++++++------ sys/dev/mvs/mvs_pci.c | 7 +++-- sys/dev/mvs/mvs_soc.c | 5 ++-- sys/dev/ofw/ofw_pcib.c | 17 +++++------- sys/dev/ofw/ofwbus.c | 7 +++-- sys/dev/pccbb/pccbb.c | 27 +++++++++---------- sys/dev/pccbb/pccbb_pci.c | 9 +++---- sys/dev/pccbb/pccbbvar.h | 2 +- sys/dev/pci/hostb_pci.c | 5 ++-- sys/dev/pci/isa_pci.c | 16 +++++------ sys/dev/pci/pci.c | 21 +++++++-------- sys/dev/pci/pci_host_generic.c | 14 +++++----- sys/dev/pci/pci_host_generic.h | 2 +- sys/dev/pci/pci_iov.c | 16 +++++------ sys/dev/pci/pci_pci.c | 7 +++-- sys/dev/pci/pci_private.h | 6 ++--- sys/dev/pci/pci_subr.c | 2 +- sys/dev/pci/pcib_private.h | 2 +- sys/dev/pci/vga_pci.c | 24 +++++++---------- sys/dev/ppc/ppc.c | 16 +++-------- sys/dev/ppc/ppcvar.h | 3 +-- sys/dev/puc/puc.c | 14 +++------- sys/dev/puc/puc_bfe.h | 2 +- sys/dev/quicc/quicc_bfe.h | 2 +- sys/dev/quicc/quicc_core.c | 6 ++--- sys/dev/scc/scc_bfe.h | 2 +- sys/dev/scc/scc_core.c | 6 ++--- sys/dev/siis/siis.c | 7 +++-- sys/dev/sound/pci/csa.c | 6 ++--- sys/dev/sound/pci/fm801.c | 3 +-- sys/dev/vmd/vmd.c | 10 +++---- sys/isa/isa_common.c | 2 -- sys/isa/isa_common.h | 2 +- sys/kern/bus_if.m | 4 --- sys/kern/subr_bus.c | 51 +++++++++++++++-------------------- sys/powerpc/mpc85xx/isa.c | 5 ++-- sys/powerpc/mpc85xx/lbc.c | 16 ++++------- sys/powerpc/powermac/macio.c | 14 ++++------ sys/powerpc/powermac/uninorth.c | 14 ++++------ sys/powerpc/psim/ata_iobus.c | 6 ++--- sys/powerpc/psim/iobus.c | 13 ++++----- sys/sys/bus.h | 18 ++++++------- sys/x86/include/legacyvar.h | 4 +-- sys/x86/isa/isa.c | 5 ++-- sys/x86/pci/pci_bus.c | 9 +++---- 67 files changed, 260 insertions(+), 405 deletions(-) diff --git a/share/man/man9/bus_release_resource.9 b/share/man/man9/bus_release_resource.9 index 9abc9fca1e6f..5203295a7488 100644 --- a/share/man/man9/bus_release_resource.9 +++ b/share/man/man9/bus_release_resource.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 18, 2000 +.Dd March 13, 2024 .Dt BUS_RELEASE_RESOURCE 9 .Os .Sh NAME @@ -40,7 +40,7 @@ .In sys/rman.h .In machine/resource.h .Ft int -.Fn bus_release_resource "device_t dev" "int type" "int rid" "struct resource *r" +.Fn bus_release_resource "device_t dev" "struct resource *r" .Sh DESCRIPTION Free a resource allocated by .Xr bus_alloc_resource 9 . @@ -53,20 +53,6 @@ for IRQs). .Fa dev is the device that owns the resource. .It -.Fa type -is the type of resource that is released. -It must be of the same type you allocated it as before. -See -.Xr bus_alloc_resource 9 -for valid types. -.It -.Fa rid -is the resource ID of the resource. -The -.Fa rid -value must be the same as the one returned by -.Xr bus_alloc_resource 9 . -.It .Fa r is the pointer to .Va struct resource , @@ -88,12 +74,10 @@ The kernel will panic, if it cannot release the resource. bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid); /* release IRQ resource */ - bus_release_resource(dev, SYS_RES_IRQ, foosoftc->irqid, - foosoftc->irqres); + bus_release_resource(dev, foosoftc->irqres); /* release I/O port resource */ - bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid, - foosoftc->portres); + bus_release_resource(dev, foosoftc->portres); .Ed .Sh SEE ALSO .Xr bus_alloc_resource 9 , diff --git a/sys/arm/mv/mv_pci.c b/sys/arm/mv/mv_pci.c index a24a71cd4ecf..eb1af5a4e237 100644 --- a/sys/arm/mv/mv_pci.c +++ b/sys/arm/mv/mv_pci.c @@ -347,8 +347,7 @@ static struct resource *mv_pcib_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); static int mv_pcib_adjust_resource(device_t, device_t, struct resource *, rman_res_t, rman_res_t); -static int mv_pcib_release_resource(device_t, device_t, int, int, - struct resource *); +static int mv_pcib_release_resource(device_t, device_t, struct resource *); static int mv_pcib_activate_resource(device_t, device_t, struct resource *); static int mv_pcib_deactivate_resource(device_t, device_t, struct resource *); static int mv_pcib_map_resource(device_t, device_t, struct resource *, @@ -962,25 +961,22 @@ mv_pcib_adjust_resource(device_t dev, device_t child, } static int -mv_pcib_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *res) +mv_pcib_release_resource(device_t dev, device_t child, struct resource *res) { #ifdef PCI_RES_BUS struct mv_pcib_softc *sc = device_get_softc(dev); #endif - switch (type) { + switch (rman_get_type(res)) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: - return (bus_generic_rman_release_resource(dev, child, type, - rid, res)); + return (bus_generic_rman_release_resource(dev, child, res)); #ifdef PCI_RES_BUS case PCI_RES_BUS: - return (pci_domain_release_bus(sc->ap_segment, child, rid, res)); + return (pci_domain_release_bus(sc->ap_segment, child, res)); #endif default: - return (BUS_RELEASE_RESOURCE(device_get_parent(dev), child, - type, rid, res)); + return (bus_generic_release_resource(dev, child, res)); } } diff --git a/sys/arm64/cavium/thunder_pcie_fdt.c b/sys/arm64/cavium/thunder_pcie_fdt.c index bf00688fb041..f173a28b637d 100644 --- a/sys/arm64/cavium/thunder_pcie_fdt.c +++ b/sys/arm64/cavium/thunder_pcie_fdt.c @@ -57,7 +57,7 @@ static struct resource * thunder_pcie_fdt_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); static int thunder_pcie_fdt_release_resource(device_t, device_t, - int, int, struct resource*); + struct resource*); #endif static int thunder_pcie_fdt_attach(device_t); static int thunder_pcie_fdt_probe(device_t); @@ -288,14 +288,14 @@ thunder_pcie_fdt_alloc_resource(device_t dev, device_t child, int type, } static int -thunder_pcie_fdt_release_resource(device_t dev, device_t child, int type, - int rid, struct resource *res) +thunder_pcie_fdt_release_resource(device_t dev, device_t child, + struct resource *res) { if ((int)ofw_bus_get_node(child) <= 0) - return (pci_host_generic_core_release_resource(dev, child, type, - rid, res)); + return (pci_host_generic_core_release_resource(dev, child, + res)); - return (bus_generic_release_resource(dev, child, type, rid, res)); + return (bus_generic_release_resource(dev, child, res)); } #endif diff --git a/sys/arm64/cavium/thunder_pcie_pem.c b/sys/arm64/cavium/thunder_pcie_pem.c index f7c3c5ee1c0a..dd6ef14f1a6e 100644 --- a/sys/arm64/cavium/thunder_pcie_pem.c +++ b/sys/arm64/cavium/thunder_pcie_pem.c @@ -149,8 +149,7 @@ static uint32_t thunder_pem_read_config(device_t, u_int, u_int, u_int, u_int, int); static int thunder_pem_read_ivar(device_t, device_t, int, uintptr_t *); static void thunder_pem_release_all(device_t); -static int thunder_pem_release_resource(device_t, device_t, int, int, - struct resource *); +static int thunder_pem_release_resource(device_t, device_t, struct resource *); static struct rman * thunder_pem_get_rman(device_t, int, u_int); static void thunder_pem_slix_s2m_regx_acc_modify(struct thunder_pem_softc *, int, int); @@ -716,28 +715,25 @@ thunder_pem_alloc_resource(device_t dev, device_t child, int type, int *rid, } static int -thunder_pem_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *res) +thunder_pem_release_resource(device_t dev, device_t child, struct resource *res) { device_t parent_dev; #if defined(NEW_PCIB) && defined(PCI_RES_BUS) struct thunder_pem_softc *sc = device_get_softc(dev); #endif - switch (type) { + switch (rman_get_type(res)) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) case PCI_RES_BUS: - return (pci_domain_release_bus(sc->id, child, rid, res)); + return (pci_domain_release_bus(sc->id, child, res)); #endif case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_release_resource(dev, child, type, - rid, res)); + return (bus_generic_rman_release_resource(dev, child, res)); default: /* Find parent device. On ThunderX we know an exact path. */ parent_dev = device_get_parent(device_get_parent(dev)); - return (BUS_RELEASE_RESOURCE(parent_dev, child, - type, rid, res)); + return (BUS_RELEASE_RESOURCE(parent_dev, child, res)); } } diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index df2017e69a86..ad1af9373fb7 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1580,17 +1580,16 @@ acpi_adjust_resource(device_t bus, device_t child, struct resource *r, } static int -acpi_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) +acpi_release_resource(device_t bus, device_t child, struct resource *r) { /* * If this resource belongs to one of our internal managers, * deactivate it and release it to the local pool. */ if (acpi_is_resource_managed(bus, r)) - return (bus_generic_rman_release_resource(bus, child, type, rid, r)); + return (bus_generic_rman_release_resource(bus, child, r)); - return (bus_generic_rl_release_resource(bus, child, type, rid, r)); + return (bus_generic_rl_release_resource(bus, child, r)); } static void diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index fdf8e84d14e0..4c3d62a66d58 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -101,8 +101,7 @@ static int acpi_pcib_acpi_adjust_resource(device_t dev, rman_res_t start, rman_res_t end); #ifdef PCI_RES_BUS static int acpi_pcib_acpi_release_resource(device_t dev, - device_t child, int type, int rid, - struct resource *r); + device_t child, struct resource *r); static int acpi_pcib_acpi_activate_resource(device_t dev, device_t child, struct resource *r); static int acpi_pcib_acpi_deactivate_resource(device_t dev, @@ -516,7 +515,7 @@ acpi_pcib_acpi_attach(device_t dev) return (ENXIO); } sc->ap_bus = rman_get_start(bus_res); - pci_domain_release_bus(sc->ap_segment, dev, rid, bus_res); + pci_domain_release_bus(sc->ap_segment, dev, bus_res); } } else { /* @@ -759,15 +758,15 @@ acpi_pcib_acpi_adjust_resource(device_t dev, device_t child, #ifdef PCI_RES_BUS int -acpi_pcib_acpi_release_resource(device_t dev, device_t child, int type, int rid, +acpi_pcib_acpi_release_resource(device_t dev, device_t child, struct resource *r) { struct acpi_hpcib_softc *sc; sc = device_get_softc(dev); - if (type == PCI_RES_BUS) - return (pci_domain_release_bus(sc->ap_segment, child, rid, r)); - return (bus_generic_release_resource(dev, child, type, rid, r)); + if (rman_get_type(r) == PCI_RES_BUS) + return (pci_domain_release_bus(sc->ap_segment, child, r)); + return (bus_generic_release_resource(dev, child, r)); } int diff --git a/sys/dev/agp/agp_i810.c b/sys/dev/agp/agp_i810.c index a83189ca7bc8..df977889a9c0 100644 --- a/sys/dev/agp/agp_i810.c +++ b/sys/dev/agp/agp_i810.c @@ -2053,8 +2053,8 @@ agp_i915_chipset_flush_free_page(device_t dev) return; BUS_DEACTIVATE_RESOURCE(device_get_parent(vga), dev, sc->sc_flush_page_res); - BUS_RELEASE_RESOURCE(device_get_parent(vga), dev, SYS_RES_MEMORY, - sc->sc_flush_page_rid, sc->sc_flush_page_res); + BUS_RELEASE_RESOURCE(device_get_parent(vga), dev, + sc->sc_flush_page_res); } static int diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 27860f9ee570..b1f9c85141bb 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -640,16 +640,15 @@ ahci_alloc_resource(device_t dev, device_t child, int type, int *rid, } int -ahci_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +ahci_release_resource(device_t dev, device_t child, struct resource *r) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: rman_release_resource(r); return (0); case SYS_RES_IRQ: - if (rid != ATA_IRQ_RID) + if (rman_get_rid(r) != ATA_IRQ_RID) return (ENOENT); return (0); } diff --git a/sys/dev/ahci/ahci.h b/sys/dev/ahci/ahci.h index 04d0cccc31f9..8b51b1e0b3ae 100644 --- a/sys/dev/ahci/ahci.h +++ b/sys/dev/ahci/ahci.h @@ -656,8 +656,7 @@ int ahci_setup_interrupt(device_t dev); int ahci_print_child(device_t dev, device_t child); struct resource *ahci_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); -int ahci_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r); +int ahci_release_resource(device_t dev, device_t child, struct resource *r); int ahci_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_filter_t *filter, driver_intr_t *function, void *argument, void **cookiep); diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 3a2a0f640f62..9cc815150665 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -273,24 +273,20 @@ ata_pci_alloc_resource(device_t dev, device_t child, int type, int *rid, } int -ata_pci_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +ata_pci_release_resource(device_t dev, device_t child, struct resource *r) { + int rid = rman_get_rid(r); + int type = rman_get_type(r); if (device_get_devclass(child) == ata_devclass) { struct ata_pci_controller *controller = device_get_softc(dev); - int unit = ((struct ata_channel *)device_get_softc(child))->unit; if (type == SYS_RES_IOPORT) { switch (rid) { case ATA_IOADDR_RID: - return BUS_RELEASE_RESOURCE(device_get_parent(dev), dev, - SYS_RES_IOPORT, - PCIR_BAR(0) + (unit << 3), r); case ATA_CTLADDR_RID: return BUS_RELEASE_RESOURCE(device_get_parent(dev), dev, - SYS_RES_IOPORT, - PCIR_BAR(1) + (unit << 3), r); + r); default: return ENOENT; } @@ -300,7 +296,7 @@ ata_pci_release_resource(device_t dev, device_t child, int type, int rid, return ENOENT; if (controller->legacy) { return BUS_RELEASE_RESOURCE(device_get_parent(dev), child, - SYS_RES_IRQ, rid, r); + r); } else return 0; } @@ -311,7 +307,7 @@ ata_pci_release_resource(device_t dev, device_t child, int type, int rid, return (0); } else { return (BUS_RELEASE_RESOURCE(device_get_parent(dev), child, - type, rid, r)); + r)); } } return (EINVAL); diff --git a/sys/dev/ata/ata-pci.h b/sys/dev/ata/ata-pci.h index 95e7dd113fec..cad9441a21ae 100644 --- a/sys/dev/ata/ata-pci.h +++ b/sys/dev/ata/ata-pci.h @@ -538,7 +538,7 @@ void ata_pci_write_config(device_t dev, device_t child, int reg, int ata_pci_print_child(device_t dev, device_t child); int ata_pci_child_location(device_t dev, device_t child, struct sbuf *sb); struct resource * ata_pci_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); -int ata_pci_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r); +int ata_pci_release_resource(device_t dev, device_t child, struct resource *r); int ata_pci_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_filter_t *filter, driver_intr_t *function, void *argument, void **cookiep); int ata_pci_teardown_intr(device_t dev, device_t child, struct resource *irq, void *cookie); int ata_pci_ch_attach(device_t dev); diff --git a/sys/dev/atkbdc/atkbdc_isa.c b/sys/dev/atkbdc/atkbdc_isa.c index cb42c8bda40c..2f7b9eceda94 100644 --- a/sys/dev/atkbdc/atkbdc_isa.c +++ b/sys/dev/atkbdc/atkbdc_isa.c @@ -53,7 +53,7 @@ static struct resource *atkbdc_isa_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); static int atkbdc_isa_release_resource(device_t dev, device_t child, - int type, int rid, struct resource *r); + struct resource *r); static device_method_t atkbdc_isa_methods[] = { DEVMETHOD(device_probe, atkbdc_isa_probe), @@ -306,15 +306,14 @@ atkbdc_isa_alloc_resource(device_t dev, device_t child, int type, int *rid, } static int -atkbdc_isa_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +atkbdc_isa_release_resource(device_t dev, device_t child, struct resource *r) { atkbdc_softc_t *sc; sc = *(atkbdc_softc_t **)device_get_softc(dev); - if (type == SYS_RES_IRQ && rid == KBDC_RID_KBD && r == sc->irq) + if (r == sc->irq) return (0); - return (bus_generic_rl_release_resource(dev, child, type, rid, r)); + return (bus_generic_rl_release_resource(dev, child, r)); } DRIVER_MODULE(atkbdc, isa, atkbdc_isa_driver, 0, 0); diff --git a/sys/dev/bhnd/bhnd_subr.c b/sys/dev/bhnd/bhnd_subr.c index 44f8ae9cc0a2..0d38c1ca8a24 100644 --- a/sys/dev/bhnd/bhnd_subr.c +++ b/sys/dev/bhnd/bhnd_subr.c @@ -2241,7 +2241,7 @@ bhnd_bus_generic_alloc_resource(device_t dev, device_t child, int type, failed: if (res != NULL) - BUS_RELEASE_RESOURCE(dev, child, type, *rid, res); + BUS_RELEASE_RESOURCE(dev, child, res); free(br, M_BHND); return (NULL); @@ -2259,7 +2259,7 @@ bhnd_bus_generic_release_resource(device_t dev, device_t child, int type, { int error; - if ((error = BUS_RELEASE_RESOURCE(dev, child, type, rid, r->res))) + if ((error = BUS_RELEASE_RESOURCE(dev, child, r->res))) return (error); free(r, M_BHND); diff --git a/sys/dev/bhnd/bhndb/bhndb.c b/sys/dev/bhnd/bhndb/bhndb.c index 5148c1c8452b..af62057690ac 100644 --- a/sys/dev/bhnd/bhndb/bhndb.c +++ b/sys/dev/bhnd/bhndb/bhndb.c @@ -1034,8 +1034,7 @@ bhndb_alloc_resource(device_t dev, device_t child, int type, * Default bhndb(4) implementation of BUS_RELEASE_RESOURCE(). */ static int -bhndb_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +bhndb_release_resource(device_t dev, device_t child, struct resource *r) { struct bhndb_softc *sc; struct resource_list_entry *rle; @@ -1047,9 +1046,9 @@ bhndb_release_resource(device_t dev, device_t child, int type, int rid, /* Delegate to our parent device's bus if the requested resource type * isn't handled locally. */ - if (bhndb_get_rman(sc, child, type) == NULL) { + if (bhndb_get_rman(sc, child, rman_get_type(r)) == NULL) { return (BUS_RELEASE_RESOURCE(device_get_parent(sc->parent_dev), - child, type, rid, r)); + child, r)); } /* Deactivate resources */ @@ -1065,7 +1064,7 @@ bhndb_release_resource(device_t dev, device_t child, int type, int rid, if (!passthrough) { /* Clean resource list entry */ rle = resource_list_find(BUS_GET_RESOURCE_LIST(dev, child), - type, rid); + rman_get_type(r), rman_get_rid(r)); if (rle != NULL) rle->res = NULL; } diff --git a/sys/dev/bhnd/cores/chipc/chipc.c b/sys/dev/bhnd/cores/chipc/chipc.c index bdba61a2b942..60cb04400cb0 100644 --- a/sys/dev/bhnd/cores/chipc/chipc.c +++ b/sys/dev/bhnd/cores/chipc/chipc.c @@ -873,8 +873,7 @@ chipc_alloc_resource(device_t dev, device_t child, int type, } static int -chipc_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +chipc_release_resource(device_t dev, device_t child, struct resource *r) { struct chipc_softc *sc; struct chipc_region *cr; @@ -885,10 +884,9 @@ chipc_release_resource(device_t dev, device_t child, int type, int rid, sc = device_get_softc(dev); /* Handled by parent bus? */ - rm = chipc_get_rman(dev, type, rman_get_flags(r)); + rm = chipc_get_rman(dev, rman_get_type(r), rman_get_flags(r)); if (rm == NULL || !rman_is_region_manager(r, rm)) { - return (bus_generic_rl_release_resource(dev, child, type, rid, - r)); + return (bus_generic_rl_release_resource(dev, child, r)); } /* Locate the mapping region */ @@ -897,7 +895,7 @@ chipc_release_resource(device_t dev, device_t child, int type, int rid, return (EINVAL); /* Deactivate resources */ - error = bus_generic_rman_release_resource(dev, child, type, rid, r); + error = bus_generic_rman_release_resource(dev, child, r); if (error != 0) return (error); @@ -905,7 +903,8 @@ chipc_release_resource(device_t dev, device_t child, int type, int rid, chipc_release_region(sc, cr, RF_ALLOCATED); /* Clear reference from the resource list entry if exists */ - rle = resource_list_find(BUS_GET_RESOURCE_LIST(dev, child), type, rid); + rle = resource_list_find(BUS_GET_RESOURCE_LIST(dev, child), + rman_get_type(r), rman_get_rid(r)); if (rle != NULL) rle->res = NULL; diff --git a/sys/dev/bhnd/cores/usb/bhnd_usb.c b/sys/dev/bhnd/cores/usb/bhnd_usb.c index fa9e6d7ec31a..7a86db79731f 100644 --- a/sys/dev/bhnd/cores/usb/bhnd_usb.c +++ b/sys/dev/bhnd/cores/usb/bhnd_usb.c @@ -69,8 +69,7 @@ static struct resource * bhnd_usb_alloc_resource(device_t bus, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); static int bhnd_usb_release_resource(device_t dev, - device_t child, int type, int rid, - struct resource *r); + device_t child, struct resource *r); static struct resource_list * bhnd_usb_get_reslist(device_t dev, device_t child); @@ -311,8 +310,8 @@ bhnd_usb_get_reslist(device_t dev, device_t child) } static int -bhnd_usb_release_resource(device_t dev, device_t child, int type, - int rid, struct resource *r) +bhnd_usb_release_resource(device_t dev, device_t child, + struct resource *r) { struct bhnd_usb_softc *sc; struct resource_list_entry *rle; @@ -325,18 +324,17 @@ bhnd_usb_release_resource(device_t dev, device_t child, int type, /* Delegate to our parent device's bus if the requested resource type * isn't handled locally. */ if (type != SYS_RES_MEMORY) { - return (bus_generic_rl_release_resource(dev, child, type, rid, - r)); + return (bus_generic_rl_release_resource(dev, child, r)); } - error = bus_generic_rman_release_resource(dev, child, type, rid, r); + error = bus_generic_rman_release_resource(dev, child, r); if (error != 0) return (error); if (!passthrough) { /* Clean resource list entry */ rle = resource_list_find(BUS_GET_RESOURCE_LIST(dev, child), - type, rid); + rman_get_type(r), rman_get_rid(r)); if (rle != NULL) rle->res = NULL; } diff --git a/sys/dev/dpaa/fman.c b/sys/dev/dpaa/fman.c index 2364df0be801..9dc4ac151789 100644 --- a/sys/dev/dpaa/fman.c +++ b/sys/dev/dpaa/fman.c @@ -116,8 +116,7 @@ fman_activate_resource(device_t bus, device_t child, struct resource *res) } int -fman_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) +fman_release_resource(device_t bus, device_t child, struct resource *res) { struct resource_list *rl; struct resource_list_entry *rle; @@ -125,9 +124,9 @@ fman_release_resource(device_t bus, device_t child, int type, int rid, passthrough = (device_get_parent(child) != bus); rl = BUS_GET_RESOURCE_LIST(bus, child); - if (type != SYS_RES_IRQ) { + if (rman_get_type(res) != SYS_RES_IRQ) { if ((rman_get_flags(res) & RF_ACTIVE) != 0 ){ - rv = bus_deactivate_resource(child, type, rid, res); + rv = bus_deactivate_resource(child, res); if (rv != 0) return (rv); } @@ -135,7 +134,8 @@ fman_release_resource(device_t bus, device_t child, int type, int rid, if (rv != 0) return (rv); if (!passthrough) { - rle = resource_list_find(rl, type, rid); + rle = resource_list_find(rl, rman_get_type(res), + rman_get_rid(res)); KASSERT(rle != NULL, ("%s: resource entry not found!", __func__)); KASSERT(rle->res != NULL, @@ -144,7 +144,7 @@ fman_release_resource(device_t bus, device_t child, int type, int rid, } return (0); } - return (resource_list_release(rl, bus, child, type, rid, res)); + return (resource_list_release(rl, bus, child, res)); } struct resource * diff --git a/sys/dev/dpaa/fman.h b/sys/dev/dpaa/fman.h index b201b9fd9355..4c30a633ae3e 100644 --- a/sys/dev/dpaa/fman.h +++ b/sys/dev/dpaa/fman.h @@ -57,8 +57,7 @@ struct resource * fman_alloc_resource(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); int fman_activate_resource(device_t bus, device_t child, struct resource *res); -int fman_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *res); +int fman_release_resource(device_t bus, device_t child, struct resource *res); int fman_attach(device_t dev); int fman_detach(device_t dev); int fman_suspend(device_t dev); diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c index 3e0920cbf8a5..66867a18068c 100644 --- a/sys/dev/dpaa2/dpaa2_mc.c +++ b/sys/dev/dpaa2/dpaa2_mc.c @@ -356,16 +356,14 @@ dpaa2_mc_adjust_resource(device_t mcdev, device_t child, } int -dpaa2_mc_release_resource(device_t mcdev, device_t child, int type, int rid, - struct resource *r) +dpaa2_mc_release_resource(device_t mcdev, device_t child, struct resource *r) { struct rman *rm; - rm = dpaa2_mc_rman(mcdev, type, rman_get_flags(r)); + rm = dpaa2_mc_rman(mcdev, rman_get_type(r), rman_get_flags(r)); if (rm) - return (bus_generic_rman_release_resource(mcdev, child, type, - rid, r)); - return (bus_generic_release_resource(mcdev, child, type, rid, r)); + return (bus_generic_rman_release_resource(mcdev, child, r)); + return (bus_generic_release_resource(mcdev, child, r)); } int diff --git a/sys/dev/dpaa2/dpaa2_mc.h b/sys/dev/dpaa2/dpaa2_mc.h index 7af3b2a4eb24..5ddac7aa2720 100644 --- a/sys/dev/dpaa2/dpaa2_mc.h +++ b/sys/dev/dpaa2/dpaa2_mc.h @@ -185,8 +185,8 @@ struct resource * dpaa2_mc_alloc_resource(device_t mcdev, device_t child, u_int flags); int dpaa2_mc_adjust_resource(device_t mcdev, device_t child, struct resource *r, rman_res_t start, rman_res_t end); -int dpaa2_mc_release_resource(device_t mcdev, device_t child, int type, - int rid, struct resource *r); +int dpaa2_mc_release_resource(device_t mcdev, device_t child, + struct resource *r); int dpaa2_mc_activate_resource(device_t mcdev, device_t child, struct resource *r); int dpaa2_mc_deactivate_resource(device_t mcdev, device_t child, diff --git a/sys/dev/dpaa2/dpaa2_rc.c b/sys/dev/dpaa2/dpaa2_rc.c index d14187e0c58f..49ed8944b64b 100644 --- a/sys/dev/dpaa2/dpaa2_rc.c +++ b/sys/dev/dpaa2/dpaa2_rc.c @@ -263,19 +263,18 @@ dpaa2_rc_alloc_resource(device_t rcdev, device_t child, int type, int *rid, } static int -dpaa2_rc_release_resource(device_t rcdev, device_t child, int type, int rid, - struct resource *r) +dpaa2_rc_release_resource(device_t rcdev, device_t child, struct resource *r) { struct resource_list *rl; struct dpaa2_devinfo *dinfo; if (device_get_parent(child) != rcdev) return (BUS_RELEASE_RESOURCE(device_get_parent(rcdev), child, - type, rid, r)); + r)); dinfo = device_get_ivars(child); rl = &dinfo->resources; - return (resource_list_release(rl, rcdev, child, type, rid, r)); + return (resource_list_release(rl, rcdev, child, r)); } static void diff --git a/sys/dev/fdt/simplebus.c b/sys/dev/fdt/simplebus.c index 8069d3af69cf..37db238f2108 100644 --- a/sys/dev/fdt/simplebus.c +++ b/sys/dev/fdt/simplebus.c @@ -46,8 +46,6 @@ static int simplebus_probe(device_t dev); static struct resource *simplebus_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); -static int simplebus_release_resource(device_t bus, device_t child, - int type, int rid, struct resource *r); static void simplebus_probe_nomatch(device_t bus, device_t child); static int simplebus_print_child(device_t bus, device_t child); static device_t simplebus_add_child(device_t dev, u_int order, @@ -85,7 +83,7 @@ static device_method_t simplebus_methods[] = { DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), DEVMETHOD(bus_alloc_resource, simplebus_alloc_resource), - DEVMETHOD(bus_release_resource, simplebus_release_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), @@ -485,16 +483,6 @@ simplebus_alloc_resource(device_t bus, device_t child, int type, int *rid, count, flags)); } -static int -simplebus_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - - if (type == SYS_RES_IOPORT) - type = SYS_RES_MEMORY; - return (bus_generic_release_resource(bus, child, type, rid, r)); -} - static int simplebus_print_res(struct simplebus_devinfo *di) { diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c index fd8a7feae984..f6237535cce3 100644 --- a/sys/dev/hyperv/pcib/vmbus_pcib.c +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c @@ -1725,19 +1725,18 @@ vmbus_pcib_adjust_resource(device_t dev, device_t child, } static int -vmbus_pcib_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +vmbus_pcib_release_resource(device_t dev, device_t child, struct resource *r) { struct vmbus_pcib_softc *sc = device_get_softc(dev); - if (type == PCI_RES_BUS) - return (pci_domain_release_bus(sc->hbus->pci_domain, child, - rid, r)); - - if (type == SYS_RES_IOPORT) + switch (rman_get_type(r)) { + case PCI_RES_BUS: + return (pci_domain_release_bus(sc->hbus->pci_domain, child, r)); + case SYS_RES_IOPORT: return (EINVAL); - - return (bus_generic_release_resource(dev, child, type, rid, r)); + default: + return (bus_generic_release_resource(dev, child, r)); + } } static int diff --git a/sys/dev/mvs/mvs_pci.c b/sys/dev/mvs/mvs_pci.c index 9578c5ea5e7e..be9351403a0d 100644 --- a/sys/dev/mvs/mvs_pci.c +++ b/sys/dev/mvs/mvs_pci.c @@ -422,16 +422,15 @@ mvs_alloc_resource(device_t dev, device_t child, int type, int *rid, } static int -mvs_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +mvs_release_resource(device_t dev, device_t child, struct resource *r) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: rman_release_resource(r); return (0); case SYS_RES_IRQ: - if (rid != ATA_IRQ_RID) + if (rman_get_rid(r) != ATA_IRQ_RID) return ENOENT; return (0); } diff --git a/sys/dev/mvs/mvs_soc.c b/sys/dev/mvs/mvs_soc.c index 36b3f5222cdc..696b65d54359 100644 --- a/sys/dev/mvs/mvs_soc.c +++ b/sys/dev/mvs/mvs_soc.c @@ -366,11 +366,10 @@ mvs_alloc_resource(device_t dev, device_t child, int type, int *rid, } static int -mvs_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) +mvs_release_resource(device_t dev, device_t child, struct resource *r) { - switch (type) { + switch (rman_get_type(r)) { case SYS_RES_MEMORY: rman_release_resource(r); return (0); diff --git a/sys/dev/ofw/ofw_pcib.c b/sys/dev/ofw/ofw_pcib.c index f9f17b21cdc2..ebc09fccd93e 100644 --- a/sys/dev/ofw/ofw_pcib.c +++ b/sys/dev/ofw/ofw_pcib.c @@ -67,8 +67,7 @@ static struct rman *ofw_pcib_get_rman(device_t, int, u_int); static struct resource * ofw_pcib_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); -static int ofw_pcib_release_resource(device_t, device_t, int, int, - struct resource *); +static int ofw_pcib_release_resource(device_t, device_t, struct resource *); static int ofw_pcib_activate_resource(device_t, device_t, struct resource *); static int ofw_pcib_deactivate_resource(device_t, device_t, struct resource *); static int ofw_pcib_adjust_resource(device_t, device_t, @@ -444,27 +443,23 @@ ofw_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, } static int -ofw_pcib_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) +ofw_pcib_release_resource(device_t bus, device_t child, struct resource *res) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) struct ofw_pci_softc *sc; sc = device_get_softc(bus); #endif - switch (type) { + switch (rman_get_type(res)) { #if defined(NEW_PCIB) && defined(PCI_RES_BUS) case PCI_RES_BUS: - return (pci_domain_release_bus(sc->sc_pci_domain, child, rid, - res)); + return (pci_domain_release_bus(sc->sc_pci_domain, child, res)); #endif case SYS_RES_MEMORY: case SYS_RES_IOPORT: - return (bus_generic_rman_release_resource(bus, child, type, rid, - res)); + return (bus_generic_rman_release_resource(bus, child, res)); default: - return (bus_generic_release_resource(bus, child, type, rid, - res)); + return (bus_generic_release_resource(bus, child, res)); } } diff --git a/sys/dev/ofw/ofwbus.c b/sys/dev/ofw/ofwbus.c index 48e865b5b52d..51e6072ad4ba 100644 --- a/sys/dev/ofw/ofwbus.c +++ b/sys/dev/ofw/ofwbus.c @@ -170,8 +170,7 @@ ofwbus_alloc_resource(device_t bus, device_t child, int type, int *rid, } static int -ofwbus_release_resource(device_t bus, device_t child, int type, - int rid, struct resource *r) +ofwbus_release_resource(device_t bus, device_t child, struct resource *r) { struct resource_list_entry *rle; bool passthrough; @@ -180,11 +179,11 @@ ofwbus_release_resource(device_t bus, device_t child, int type, if (!passthrough) { /* Clean resource list entry */ rle = resource_list_find(BUS_GET_RESOURCE_LIST(bus, child), - type, rid); + rman_get_type(r), rman_get_rid(r)); if (rle != NULL) rle->res = NULL; } /* Let nexus handle the release. */ - return (bus_generic_release_resource(bus, child, type, rid, r)); + return (bus_generic_release_resource(bus, child, r)); } diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c index 302b9d75c864..c40261be4724 100644 --- a/sys/dev/pccbb/pccbb.c +++ b/sys/dev/pccbb/pccbb.c @@ -162,7 +162,7 @@ static struct resource *cbb_cardbus_alloc_resource(device_t brdev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); static int cbb_cardbus_release_resource(device_t brdev, device_t child, - int type, int rid, struct resource *res); + struct resource *res); static int cbb_cardbus_power_enable_socket(device_t brdev, device_t child); static int cbb_cardbus_power_disable_socket(device_t brdev, @@ -1263,20 +1263,20 @@ cbb_cardbus_alloc_resource(device_t brdev, device_t child, int type, } static int -cbb_cardbus_release_resource(device_t brdev, device_t child, int type, - int rid, struct resource *res) +cbb_cardbus_release_resource(device_t brdev, device_t child, + struct resource *res) { struct cbb_softc *sc = device_get_softc(brdev); int error; if (rman_get_flags(res) & RF_ACTIVE) { - error = bus_deactivate_resource(child, type, rid, res); + error = bus_deactivate_resource(child, res); if (error != 0) return (error); } cbb_remove_res(sc, res); *** 1285 LINES SKIPPED *** From nobody Wed Mar 13 22:16:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw4bR3SSFz5DXYX; Wed, 13 Mar 2024 22:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw4bR2qJwz4tSV; Wed, 13 Mar 2024 22:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/m+zH3e0Yx28xxGxg4Upz2SSKcEC3Afhm7BYTawtms=; b=xNDVNX0s1qfJkjEi3VKx60AcKBJt/PtRJTNLWjmXDa3NozGNlM3Kd9dvucxIKnFkryDb/V W8Gkim1OLqnVv0C0iDIu6v1p3OPjVAUK67urYQGSG2/a8q1yDOukoKx9Cnak8WK2LGHGQp AL8Qtn0V7SqC5wNsFdNhRbAyfnY/EmXe56aOX4kh2YYuWB0SA3IciwFPM5QVPXQYZ0di9T iOzxwFsYv/MEPynzSzdz21y1u2LUr88+7ofA22AKrahfRZokgAPrVOeYfNvkTTaB17144m y0SlJM2ra45hZw0/OY2bgeM6mUNvKbUXONp8xa463bN2sruAnU6Z88QFT7/4cA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710368163; a=rsa-sha256; cv=none; b=wTH+KtRCV3l7UpUE3fBrKuaQyVhH0f3y0xeJZJIc5QrU3jFMXyDA2WQo1lHQomqjqh8tqs 52G8wkbNen5Ge7kEonGcRcpu4nQEOYMGf9tEDQ8OI9ahIWoQqtGExovd1fNjjoEKDAr056 hzcf/5U75eowSl1o/gVrOrMgqV+yzZLen1RVd/jxLZT5eNFN+jb2PgbHNYOZQFS2nav4vE K5Y5ULZTPGKHYz36h4phVD3vX4cDnUMUQg8dUQtlYZM6xSCFMQ81GGbXoJI1LbnccOAVDK c3GV+TEx0ir+1zZw8QhtAW0DMvJtu471eVyzlb5u1MRCzAXuysShKHhaAffg1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710368163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/m+zH3e0Yx28xxGxg4Upz2SSKcEC3Afhm7BYTawtms=; b=FVFh4BabvzTaBBr9rO2RqtZjmSlajQEHCx52Gbk/ONdVHXXe5r+hjuaQZC+t9P/IhllIZk HNvFR0XSV4eR3KKz2qtBWnpS7QsHGom203BXy1Z+k9PLLdFVCVkHaF16IkLYb66fC97RBi 4iQ51NZbDjX222QA+8wdFJOhJ3dmgFUWED6rZNMa9oKBDj0RvhcxG3X2HHJNu1uGzY9k2Z R5oNPisnfXP7oiJ2o6lemma3oNVeJ/e75H4yKA6LKq0r1KIv2ukr3THnMwn8uBC3Bt740R VlJ6bPKiVfSQbd/pfilLKYt8yMaZXqYUu6ppVPwIWl643pIDcDNLQzy+FAkgLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw4bR2QCPz11Jn; Wed, 13 Mar 2024 22:16:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DMG3o0075680; Wed, 13 Mar 2024 22:16:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DMG3nL075677; Wed, 13 Mar 2024 22:16:03 GMT (envelope-from git) Date: Wed, 13 Mar 2024 22:16:03 GMT Message-Id: <202403132216.42DMG3nL075677@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: a7b9f4d96e8b - main - Bump __FreeBSD_version for bus resource API change List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7b9f4d96e8bdc30db27ec7a193a8d8fdf7c652c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a7b9f4d96e8bdc30db27ec7a193a8d8fdf7c652c commit a7b9f4d96e8bdc30db27ec7a193a8d8fdf7c652c Author: John Baldwin AuthorDate: 2024-03-13 22:14:23 +0000 Commit: John Baldwin CommitDate: 2024-03-13 22:14:23 +0000 Bump __FreeBSD_version for bus resource API change Specifically, the change to remove redundant rid and type arguments from bus_* when passing an allocated struct resource. --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index ff932e6c60dd..4369aba9bb46 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500014 +#define __FreeBSD_version 1500015 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Wed Mar 13 23:21:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw62r02Yfz5Df0C; Wed, 13 Mar 2024 23:21:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw62q6gzPz46Gq; Wed, 13 Mar 2024 23:21:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710372083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zIBEfQc5vPxqHZVGKKMnvFlW0xolZVCrnchZZ9XH80o=; b=wJJZk0u9q9LYOK6nvAAQdGNR+iGE4gLLuRrdBwz0pQs5r72RM+SSTZ7OJYWV9dmc458VL+ 4nXhKt+6dTOYl6Dp526f3mhkziDEWV6X2rZdf+HT752jMWUUJGvC4MNLlfaWCyfwXLGk/R 1J7I4ZmCHZfq7V9YlZbQcDFOb/kyBUCJn2YakWrRBQPab6SCsulChQBt4C7MVYThrwa2g8 xNp9yUQkdWU6jw/edRgnl6QLkMHjwLQlizqLAzFG6wJciZhvay/tRHeizelgjB2T62R7Uj BlHqNpfK4evqzEVKAj1ntarm67V3uNqU6LyyjZ/NBG6PpZJwUV2xtSbLxzYg6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710372083; a=rsa-sha256; cv=none; b=c5mCfk6SpU5qc5d2mR3cElS1KMJpuC+Fy6PddHbNVgLf30VXpsZHu7xqXp2bzc4UpNW6tX 1LhJt9YbgTJoL1ylnSUeQFjNStuEcowWAtgh6hvdB1TJ2RF/oJa91Q5GDAxGg/PquJX67P 6+rl833c/n/TOHDTmqe8z9NCa+pDl8RJBvlJrBK4jv1Grnsssg02btdGc2I0mk2NJZjsJn jSyJEsBmSrKms3ksa+AQ+zcHdTMtd5oT3Li0eKjkliPk2IxHGMWoEYrIcfPC94kfh/XguU pxiVH5kHUNipvfRYNKaGDVH8VkT1/oTHCE08hXNYK2+vIfp8w1YiLpcT+5ydYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710372083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zIBEfQc5vPxqHZVGKKMnvFlW0xolZVCrnchZZ9XH80o=; b=PDN0fvjuvLx0e3Prw7hcDNRvFTHvScvtvcrG+118UmbaWgGNoUlyxYHNkeQrANfZjI9076 /283G/jixa+FF855iqIrG2RefqR/5bnN1IaKAsBdRlKaqI1c+oPGYXfHWI+ZHRruDE5YSM ECVG264Ir7kOQe8xC/srvwoNZNEVZfuzUpc3yNzyTlQK4CJQbCpG4BbIPJ9D/+PXe4ye5f BHbmTzJEXdfWToE39U0yvnSW0hLvZBRz0RMEfL0zgrBzjlPk9WINKjZYOZZfQrkmZd+NXp q8KxNrqQP+NoyTGwXE9gGwxO6But4wbmGolTSAV8tK0bb3/gGUWy96kbWehMRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw62q6HvTz13Kk; Wed, 13 Mar 2024 23:21:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42DNLNG4087788; Wed, 13 Mar 2024 23:21:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42DNLNIX087785; Wed, 13 Mar 2024 23:21:23 GMT (envelope-from git) Date: Wed, 13 Mar 2024 23:21:23 GMT Message-Id: <202403132321.42DNLNIX087785@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 220ee18f1964 - main - netinet/tcp_var.h: always define IS_FASTOPEN() for kernel compilation env List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 220ee18f196482c534a659d1eb50db26c54ca7d0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=220ee18f196482c534a659d1eb50db26c54ca7d0 commit 220ee18f196482c534a659d1eb50db26c54ca7d0 Author: Konstantin Belousov AuthorDate: 2024-03-13 11:54:50 +0000 Commit: Konstantin Belousov CommitDate: 2024-03-13 23:20:58 +0000 netinet/tcp_var.h: always define IS_FASTOPEN() for kernel compilation env and drop the definition for userspace (which matched TCP_RFC7413) since it depends on presence of the kernel option. Reviewed by: glebius, rscheff Sponsored by: NVIDIA networking MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44349 --- sys/netinet/tcp_var.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 6f7f7115c2f4..7b5c57d39213 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -812,11 +812,13 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq ack) #define ENTER_RECOVERY(t_flags) t_flags |= (TF_CONGRECOVERY | TF_FASTRECOVERY) #define EXIT_RECOVERY(t_flags) t_flags &= ~(TF_CONGRECOVERY | TF_FASTRECOVERY) -#if defined(_KERNEL) && !defined(TCP_RFC7413) +#if defined(_KERNEL) +#if !defined(TCP_RFC7413) #define IS_FASTOPEN(t_flags) (false) #else #define IS_FASTOPEN(t_flags) (t_flags & TF_FASTOPEN) #endif +#endif #define BYTES_THIS_ACK(tp, th) (th->th_ack - tp->snd_una) From nobody Thu Mar 14 00:11:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw7844yL5z5DkXc; Thu, 14 Mar 2024 00:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw7843XbPz49dR; Thu, 14 Mar 2024 00:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710375060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=itgAGvqGcyFtlZdeVrPjh6+KgfTk9XEnsGm+ZHTVuA4=; b=r/G+sl47kZiNiAOsDSoximNZ/0DTsgEkMou9yuydqhZJ1pCNd2LGA8W0ARneEncj8eTzb+ A9i7RtL+J0xnqlDWE/TTpPTXSlOHbp2/4tdWX4CIDquJI+nkwtxGOqLJciWtvEckk+QxKc 9gdBwaIVf/8o+HSG6i6xA3fOxGVZW1uy/KOIIFAMDkwJh/Nd2WEBSeaiNb1VCjsM1FAOXc aglsCenjN9OYkS4Kd7m+Vd77NsnXyGjmOZStJg+zyaiayghOg3NmvJWDoyzAdL1v7FxEB3 cPukwa4PMqcv90Zoc8n+PVXQEX5Jcl3qyvlFdpPz59paNfj7e/BM9w+GUp+Y2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710375060; a=rsa-sha256; cv=none; b=iNpP/DHqhxjhdZsgtJjD51YuCp9p/Zl5dVG1UejbuaDlJ5bWeCfPtkbdm5kXuYvPAlsCHk EJjJ57rkPtCMP3rdX6w4OxvvGDCpgc7XOV9E3hdBjU6liEDu2OhLqFeCBcuAdWGB9B02+Z kncEvgskpDie32Mv4OHDIcG9huEqo+zqjeoduKtGmG0R1MKvzqdJD2qs+TRLuHRsrW3dPt DAGRFIr+G158IbPW7pYfESuyhF7UoJj20Q8cvehjUETcUTsuGu2E6PUKdwoDml7fE/MYmu 2eXc5Scrv+xWLKOrSylBYDyNLBk2qbcYteV+04+DJFMk1vSLIBfNwTN90EUCaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710375060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=itgAGvqGcyFtlZdeVrPjh6+KgfTk9XEnsGm+ZHTVuA4=; b=YmApuHixLo9/V/SS4O1Uhv59BzgsPIVwmn5hex41vlEmkprxzw3dsHa6oO64m6M/+DxzOD ZO4xAGHmT48z7uffYWA56rqP3KS4qEvnN50vXg/JextCkpXnSkwc25hd+XmdNdEQVF4aVX GegiiMGsNXCt0+Ietfmp3ArLXrzIFp8Q7H6OK9K3ptEZCcEJ69QD61lN0dqDtMmJHkTPCo /FHv2qUruwnC8LvB1/arM2ZBycoLlr0tXrZ1PS6JsMC3NIjR10+FDHlcvxNV5dQhvw6n3N HzTVB/baPd4bZmnm+1ml7+o5w2YEhFXeNldnxpPwMHOSASxjpMBbvBEL+sscNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tw78438t7z14X7; Thu, 14 Mar 2024 00:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E0B0VR071362; Thu, 14 Mar 2024 00:11:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E0B0On071359; Thu, 14 Mar 2024 00:11:00 GMT (envelope-from git) Date: Thu, 14 Mar 2024 00:11:00 GMT Message-Id: <202403140011.42E0B0On071359@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Peek Subject: git: 63a7c4be4ad5 - main - hyperv/hn: Don't return error when setting media to autoselect List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 63a7c4be4ad524629292eee659d6542f1c5e9c21 Auto-Submitted: auto-generated The branch main has been updated by mp: URL: https://cgit.FreeBSD.org/src/commit/?id=63a7c4be4ad524629292eee659d6542f1c5e9c21 commit 63a7c4be4ad524629292eee659d6542f1c5e9c21 Author: Mark Peek AuthorDate: 2024-03-13 23:53:07 +0000 Commit: Mark Peek CommitDate: 2024-03-14 00:05:19 +0000 hyperv/hn: Don't return error when setting media to autoselect Setting media to autoselect would always return EOPNOTSUPP. As autoselect is the only valid media, this change now returns success instead. PR: 264253 Reported by: Prakash Shiva Reviewed by: Dexuan Cui , whu Approved by: whu MFC after: 2 weeks --- sys/dev/hyperv/netvsc/if_hn.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c index 9949e0a16ab1..9f51f5b32199 100644 --- a/sys/dev/hyperv/netvsc/if_hn.c +++ b/sys/dev/hyperv/netvsc/if_hn.c @@ -1103,7 +1103,8 @@ static int hn_ifmedia_upd(if_t ifp __unused) { - return EOPNOTSUPP; + /* Ignore since autoselect is the only defined and valid media */ + return (0); } static void From nobody Thu Mar 14 00:24:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tw7RT04x6z5Dlvn; Thu, 14 Mar 2024 00:24:21 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tw7RS6b4xz4DmL; Thu, 14 Mar 2024 00:24:20 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710375860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=cHnGYxE0M/yAkN5dzrFBgbrmkhgAGkgNzs+9S4gZjcM=; b=O40dfpe1/MkHvdJ8t74w/6L5r3PsbMfoxi4jfLzmc6JeKYoAWx9Ik/pCwZcZ+cWtSqcaJo iFqWFDGYsFbalVxBjrRHmnp8xdI/kRwuEua7DGrQa5F7nek+J6eEPX5RhMR/pEwmexLMtn qC2rIGRYL+MnY6hXCQxKyLC7OM/O06/LtAbOvbauDQtljsPpYrQIt3ZDPZlb1SFn8Ib+II WpK0zSX+/A10STrGNWNxZ6maZDyJve2jKogyWfNYwofVqCK7Ba3SsbU/WhGcxgvc08ta3f 6zjZ9GbL5Q9iTw2R+1mBdTOWww7QltvTGFTYr+DTgfn95V1Uh9m5lqsxj3QZdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710375860; a=rsa-sha256; cv=none; b=RoNgrAdNEwlUax55lnUmZewnGK4gszeh7GUDl39iIgWlDnrzuVXZWxy5L6v15fu7fHgO3t nF+Vjk1D5X+Df0r1n4L0l04jPB7wTr0MoNtUeKDLCQrd5dAfwDn4LinVAV3k9GMJ7uZbbq g53E4aVYN3ADKM1qKHLR0mCT2y32U4cUfvMVDjGvMHW5QO/MSwF/dH9r/+P3FMbCu/6e0N q6ywS+Ibrhoak4bl3CJc1KveLZKIneMwzbWB17/O+Hx7XED7IPWbRUYVi/qBp89MrVEza3 4avFhFCDDGOVl5mpucPTQpPtaz0mF9GlWrv3E0i+setG/VGODPaDkSi+R8WUbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710375860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=cHnGYxE0M/yAkN5dzrFBgbrmkhgAGkgNzs+9S4gZjcM=; b=Ne6FtcV1XCqMXtOX51I8nkLmsBQXMT7RK6ZHdqCNoi9ooYz2Xcba/LVDr1rHzkNcsAVoU3 K5dVSYUHnE3d7wX4QWz+Bw0tMYtgM31eoRxP31edOEqzUCUT1mbW0GrgoYh5gqlQf7sl9z 4pemWilkLFKjBkBHQmAYZZ1aQDXiJvr3v0YQakSo/a+mVhnim/E70ypRAPDEFUieQjDehx EZxj0kFuiOmwOy7MS+Pa3aym6cfha40+W7xgxxR4vw5vlnC4erLqY0x0M/sBQfyxuAgjEf nzjlMYtp5gx0bS3YX3INYRPE1PsQa6dmXG2MKjloSrPg5Llc1yWDojET3kOfrQ== Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Tw7RS2SPYz1Hh3; Thu, 14 Mar 2024 00:24:20 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Wed, 13 Mar 2024 17:24:17 -0700 From: Gleb Smirnoff To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 220ee18f1964 - main - netinet/tcp_var.h: always define IS_FASTOPEN() for kernel compilation env Message-ID: References: <202403132321.42DNLNIX087785@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202403132321.42DNLNIX087785@gitrepo.freebsd.org> On Wed, Mar 13, 2024 at 11:21:23PM +0000, Konstantin Belousov wrote: K> diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h K> index 6f7f7115c2f4..7b5c57d39213 100644 K> --- a/sys/netinet/tcp_var.h K> +++ b/sys/netinet/tcp_var.h K> @@ -812,11 +812,13 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq ack) K> #define ENTER_RECOVERY(t_flags) t_flags |= (TF_CONGRECOVERY | TF_FASTRECOVERY) K> #define EXIT_RECOVERY(t_flags) t_flags &= ~(TF_CONGRECOVERY | TF_FASTRECOVERY) K> K> -#if defined(_KERNEL) && !defined(TCP_RFC7413) K> +#if defined(_KERNEL) K> +#if !defined(TCP_RFC7413) K> #define IS_FASTOPEN(t_flags) (false) K> #else K> #define IS_FASTOPEN(t_flags) (t_flags & TF_FASTOPEN) K> #endif K> +#endif K> K> #define BYTES_THIS_ACK(tp, th) (th->th_ack - tp->snd_una) I know Konstantin in doing that to clear path for IPSEC changes, and the patch does improve code. So the message isn't addressed to him, rather it is for other src-committers. Using ifdefs that come from the kernel config inside include files that are not ephemeral opt_foo.h is laying out a minefield for the future. Best case - for yourself, worst case - for somebody else. In the best case this ends in cryptic kernel failure builds, where your custom kernel doesn't build, but GENERIC builds and it is not clear why. In the worst case this creates runtime failures even more cryptic in their nature. In this particular case TCP_RFC7413 comes via opt_inet.h. Thus, if you got a userland tool, e.g. netstat(1) using IS_FASTOPEN() it will always be false. Again, netstat would be a best case. A worst case would be netinet6 kernel compilation unit that does not include opt_inet.h, but uses IS_FASTOPEN(). Other than that, we got 32 flags for t_flags and only one is obfuscated via a macro. I'd really like to remove the macro and test the flag directly. Any objections? -- Gleb Smirnoff From nobody Thu Mar 14 04:08:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwDQF3GWyz5F5cc; Thu, 14 Mar 2024 04:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwDQF2hr0z4d0N; Thu, 14 Mar 2024 04:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710389317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=geCUy4hwt4QAV1Y05buTL9BUsWf7NsAsb/ZEUOpAzQg=; b=RE3J6Krksu1s7PhawFthdVrUJLmndDtZEeJ2D6lBXlACFeZuCT3uGVmJqdPexe3FocsteJ f+fxA6iHLltx9NyGwqqb5Gc4JNsMe9brTSa8vF91hYd8G5zfHPqvbyKMSfoCiyg/+zS67G Hf5Tijo6G9//eVIo0FwfOD8MsqtitqkdscE+7NvtIhEogjxlKXLS50MWJtGqTGc13P0K50 hcjNSXhKefqNyYGlMWJp7RBWVEcmE4GJ1OO80utY7IUL/+yhdytvB93PxT9RUgnGAkUEpr mjrlv3AbVgM1xtS/KPw/oBoPxljzyHckNKLSPpmYah9Rr4s/iyLhcIg2gJrdnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710389317; a=rsa-sha256; cv=none; b=Qa908h65ZOgab4vOCfHHKelRVNds+p1NvfPZy2AUFUHJRhW/rjIZog/28XXpgt8fRJgRC5 8cqqeC0sbPmSsGARHLQ78a7y4Qf5yEb2l9rBdDn2GAqdvBxJsbyQk1lAku8ArcK5nxQtoe ORu00DFBUgCHiqSU3HZrRgOso1GyiCGu+zogXDliFj+Rp4EwJwRLnBDSX3gzqOruNAk03i Wlz2xnLlD/H1TTS7dKMxaUOdCzeo5Ox1uBMngWRQbEFCuFarGKi1dtBfgWeRobt0k0nvJN Wzkj9R0VrXip6bMhZDwtt/QxOLV7p18hdJKuCZIK9GRH0CdW07mQqDLGXp5VsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710389317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=geCUy4hwt4QAV1Y05buTL9BUsWf7NsAsb/ZEUOpAzQg=; b=mGrCh6dCIqjJf9+U2haf7/pz/Ryrr+rzmIXKR1Mr9r5pSKVUJn3Va/sR6m2uGYJ52o83HD 9K6adBnaNZxMfoeyjIPZ2GZzdVMPQIs6RBWu+iQq30+VzAPZKBy3OcU38G7sXjnnhEqE0+ qUU5DhccykpRwTS55bvjtrjjqX2S38qfTXHLGjPPzsdqgZmTFcP/GrJUdFvWN7hNs58C5m y0T4/lSh5fRETdiui9mwAPlW90SxVqovRf/m2LI7a0xzd1OxQDG2681w2qffhzZHUgfp7G t6+M3ZiuHRSRiqaIR31Psctj7y/S0iSHYQHVzYhmjTrQNUnCDmuXJKqQ7cCr4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwDQF2JKHz1BYP; Thu, 14 Mar 2024 04:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E48bJF068577; Thu, 14 Mar 2024 04:08:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E48bl5068574; Thu, 14 Mar 2024 04:08:37 GMT (envelope-from git) Date: Thu, 14 Mar 2024 04:08:37 GMT Message-Id: <202403140408.42E48bl5068574@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: ab8f59ceaf70 - main - rack: don't define TCPOUTFLAGS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab8f59ceaf7028d4e420820deeac180b4f743524 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=ab8f59ceaf7028d4e420820deeac180b4f743524 commit ab8f59ceaf7028d4e420820deeac180b4f743524 Author: Gleb Smirnoff AuthorDate: 2024-03-14 04:07:59 +0000 Commit: Gleb Smirnoff CommitDate: 2024-03-14 04:07:59 +0000 rack: don't define TCPOUTFLAGS as the code doesn't use tcp_outflags. This should fix gcc builds. --- sys/netinet/tcp_stacks/rack_pcm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/netinet/tcp_stacks/rack_pcm.c b/sys/netinet/tcp_stacks/rack_pcm.c index be3028837c44..09e90da88895 100644 --- a/sys/netinet/tcp_stacks/rack_pcm.c +++ b/sys/netinet/tcp_stacks/rack_pcm.c @@ -85,7 +85,6 @@ #include #include #include -#define TCPOUTFLAGS #include #include #include From nobody Thu Mar 14 04:57:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwFVs1cSMz5F9Ll; Thu, 14 Mar 2024 04:57:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwFVs1Nwgz4hPQ; Thu, 14 Mar 2024 04:57:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710392261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifbF8yWAkS7HnIrjS+EG1KJ5zamfQE4GVg6Y78M/fR4=; b=bZKmAqRwqBGM9ByXMtuQU9U+7naxakppBt0ZHbqRpCMte9t0CvApLjFXowBzYNjGn09eIS ex//eaEv540tr0MX7uiJloumYA1EJsNQoNrMuDpy6sb/BDIe1qZ5TiQxdWB2tPddJEzO7n j2X9EvKil89qFzMXEfx3xwHamrSDPJleKB4Bp8nqwOYSGKlyIowtnkTy0stJQ7BjlLvhg/ z64WfszG193dhCkfvwGz1tWOOw0deEm5Bq+vGYOeIXXJfdnmoQBIAsF/SsBPXePf13wZR6 pz+EwMmNIppO22GR30tFErqqq/n7W4+baJwoy6P5wOu1fbnUGpSAnYS3B3rFWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710392261; a=rsa-sha256; cv=none; b=Pb6UQiGGou2ff3KUCKPAjPNr/9DaKhx2+g+pWkts03KYLlEL4F22Ffa199FF+EAySMb6MV HozJxBSL7M/RZsSsyQAJvjMYjJPZ7Zr7Uu3S5lthNP4SnLEguq/4iKM2UR9jwz27xBGUwq hWDfaxbrt2QRzc3SGGmAebIKKfQimFwgd1Pju2ZiPEpFcMi6B9EAI97+aVPRJ1wcGqkJMC lxLQPi4lwbpoUG4pciZTSqtpKql4oDnWQq6t4/F3GQT/vIfGv/vMdfGjjVMd00YRfHjMms z3kMRaA9BlkXz3WUZneMg9HupyFzMwGQkltGuql4yQhWO6ewkBduPSECJCkYOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710392261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifbF8yWAkS7HnIrjS+EG1KJ5zamfQE4GVg6Y78M/fR4=; b=SY7hFCA9H7/OGNSGy74jCOCmq6R0MfcA5f3wpFvmP3UCsbAAJBBcfYZnXRdUCiDdbJdC5e +E8OmjgUZPPCxtVCkRU83oN6Q4j/c20hUD/AMiF/DOwuTtbCekDW3ksocEErXh+10cwJIZ wlP9m1K0XXNBJ0gs6EkjxPfNmMvheFrQEWqjS59Dzw2Fcz2AA0iUbrfH87GPxtmmVXhAzU 13qNokwC0HTGxt4pir5KMC63pDKBH56uTIgvc1M1FVOSWg1/6drcadPA0CjWbx85ZVD2s1 0XO22zSMkOkf1X4kGNiLmv6fJzrvhKRPFynsb8pUlbyZYKuz7RTiYy4w4g0uew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwFVs0srzz1Cvy; Thu, 14 Mar 2024 04:57:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E4vfLS051666; Thu, 14 Mar 2024 04:57:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E4vZmx051657; Thu, 14 Mar 2024 04:57:35 GMT (envelope-from git) Date: Thu, 14 Mar 2024 04:57:35 GMT Message-Id: <202403140457.42E4vZmx051657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: c59c3bf34db3 - main - Merge bmake-20240309 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c59c3bf34db360695f07735bebc76a768cac5afc Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=c59c3bf34db360695f07735bebc76a768cac5afc commit c59c3bf34db360695f07735bebc76a768cac5afc Merge: ab8f59ceaf70 368b06ce6b01 Author: Simon J. Gerraty AuthorDate: 2024-03-14 04:54:47 +0000 Commit: Simon J. Gerraty CommitDate: 2024-03-14 04:56:57 +0000 Merge bmake-20240309 Merge commit '368b06ce6b0135d6de13f7265f6dcbaeb791b3bb' contrib/bmake/ChangeLog | 57 + contrib/bmake/Makefile | 7 +- contrib/bmake/VERSION | 2 +- contrib/bmake/arch.c | 8 +- contrib/bmake/bmake.1 | 22 +- contrib/bmake/bmake.cat1 | 2564 +++++++++----------------- contrib/bmake/boot-strap | 17 +- contrib/bmake/compat.c | 8 +- contrib/bmake/cond.c | 66 +- contrib/bmake/config.h.in | 3 + contrib/bmake/configure | 24 +- contrib/bmake/configure.in | 5 +- contrib/bmake/for.c | 6 +- contrib/bmake/import.sh | 2 + contrib/bmake/install-sh | 4 +- contrib/bmake/job.c | 8 +- contrib/bmake/main.c | 39 +- contrib/bmake/make-conf.h | 50 +- contrib/bmake/make.1 | 22 +- contrib/bmake/make.h | 5 +- contrib/bmake/mk/ChangeLog | 80 + contrib/bmake/mk/FILES | 2 + contrib/bmake/mk/auto.dep.mk | 6 +- contrib/bmake/mk/auto.obj.mk | 4 +- contrib/bmake/mk/autoconf.mk | 21 +- contrib/bmake/mk/autodep.mk | 91 +- contrib/bmake/mk/cc-wrap.mk | 4 +- contrib/bmake/mk/ccm.dep.mk | 60 + contrib/bmake/mk/compiler.mk | 6 +- contrib/bmake/mk/cython.mk | 4 +- contrib/bmake/mk/dep.mk | 19 +- contrib/bmake/mk/dirdeps-cache-update.mk | 4 +- contrib/bmake/mk/dirdeps-options.mk | 4 +- contrib/bmake/mk/dirdeps-targets.mk | 7 +- contrib/bmake/mk/doc.mk | 9 +- contrib/bmake/mk/dpadd.mk | 6 +- contrib/bmake/mk/files.mk | 4 +- contrib/bmake/mk/host-target.mk | 16 +- contrib/bmake/mk/inc.mk | 4 +- contrib/bmake/mk/init.mk | 29 +- contrib/bmake/mk/install-mk | 4 +- contrib/bmake/mk/install-new.mk | 4 +- contrib/bmake/mk/install-sh | 4 +- contrib/bmake/mk/java.mk | 3 +- contrib/bmake/mk/jobs.mk | 4 +- contrib/bmake/mk/ldorder.mk | 4 +- contrib/bmake/mk/lib.mk | 28 +- contrib/bmake/mk/libnames.mk | 4 +- contrib/bmake/mk/libs.mk | 4 +- contrib/bmake/mk/links.mk | 4 +- contrib/bmake/mk/man.mk | 22 +- contrib/bmake/mk/manifest.mk | 4 +- contrib/bmake/mk/meta.autodep.mk | 14 +- contrib/bmake/mk/meta.stage.mk | 6 +- contrib/bmake/mk/meta.subdir.mk | 4 +- contrib/bmake/mk/meta.sys.mk | 12 +- contrib/bmake/mk/meta2deps.py | 13 +- contrib/bmake/mk/meta2deps.sh | 4 +- contrib/bmake/mk/mkopt.sh | 4 +- contrib/bmake/mk/newlog.sh | 4 +- contrib/bmake/mk/obj.mk | 11 +- contrib/bmake/mk/options.mk | 4 +- contrib/bmake/mk/own.mk | 30 +- contrib/bmake/mk/posix.mk | 4 +- contrib/bmake/mk/prlist.mk | 4 +- contrib/bmake/mk/prog.mk | 46 +- contrib/bmake/mk/progs.mk | 4 +- contrib/bmake/mk/rst2htm.mk | 4 +- contrib/bmake/mk/scripts.mk | 4 +- contrib/bmake/mk/srctop.mk | 4 +- contrib/bmake/mk/stage-install.sh | 4 +- contrib/bmake/mk/subdir.mk | 131 +- contrib/bmake/mk/suffixes.mk | 195 ++ contrib/bmake/mk/sys.clean-env.mk | 4 +- contrib/bmake/mk/sys.debug.mk | 4 +- contrib/bmake/mk/sys.dependfile.mk | 4 +- contrib/bmake/mk/sys.dirdeps.mk | 9 +- contrib/bmake/mk/sys.mk | 19 +- contrib/bmake/mk/sys.vars.mk | 4 +- contrib/bmake/mk/sys/Generic.mk | 182 +- contrib/bmake/mk/target-flags.mk | 4 +- contrib/bmake/mk/warnings.mk | 4 +- contrib/bmake/mk/whats.mk | 4 +- contrib/bmake/mk/yacc.mk | 4 +- contrib/bmake/parse.c | 22 +- contrib/bmake/suff.c | 8 +- contrib/bmake/targ.c | 5 +- contrib/bmake/unit-tests/Makefile | 11 +- contrib/bmake/unit-tests/var-scope-local.exp | 14 +- contrib/bmake/unit-tests/var-scope-local.mk | 19 +- contrib/bmake/unit-tests/varmod-indirect.mk | 28 +- contrib/bmake/unit-tests/varmod.exp | 10 +- contrib/bmake/unit-tests/varmod.mk | 5 +- contrib/bmake/var.c | 75 +- 94 files changed, 1938 insertions(+), 2395 deletions(-) diff --cc contrib/bmake/Makefile index 22e92b4da9ac,000000000000..3332dcdeaf2d mode 100644,000000..100644 --- a/contrib/bmake/Makefile +++ b/contrib/bmake/Makefile @@@ -1,238 -1,0 +1,237 @@@ - # $Id: Makefile,v 1.125 2023/05/17 00:15:46 sjg Exp $ ++# $Id: Makefile,v 1.126 2024/03/10 17:46:44 sjg Exp $ + +PROG= bmake + +SRCS= \ + arch.c \ + buf.c \ + compat.c \ + cond.c \ + dir.c \ + for.c \ + hash.c \ + job.c \ + lst.c \ + main.c \ + make.c \ + make_malloc.c \ + meta.c \ + metachar.c \ + parse.c \ + str.c \ + suff.c \ + targ.c \ + trace.c \ + util.c \ + var.c + +.-include "VERSION" +.-include "Makefile.inc" + +# this file gets generated by configure +.-include "Makefile.config" + +.if !empty(LIBOBJS) +SRCS+= ${LIBOBJS:T:.o=.c} +.endif + +# just in case +prefix?= /usr +srcdir?= ${.CURDIR} + +DEFAULT_SYS_PATH?= ${prefix}/share/mk + +CPPFLAGS+= -DUSE_META +CFLAGS+= ${CPPFLAGS} +CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" +CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE +CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" + +.for x in FORCE_MACHINE FORCE_MACHINE_ARCH +.ifdef $x +COPTS.main.c+= "-D$x=\"${$x}\"" +.endif +.endfor + +# meta mode can be useful even without filemon +# should be set by now +USE_FILEMON ?= no +.if ${USE_FILEMON:tl} != "no" +.PATH: ${srcdir}/filemon +SRCS+= filemon_${USE_FILEMON}.c +COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} +COPTS.job.c+= ${COPTS.meta.c} + +.if ${USE_FILEMON} == "dev" +FILEMON_H ?= /usr/include/dev/filemon/filemon.h +.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} +.endif +.elif ${USE_FILEMON} == "ktrace" +COPTS.filemon_ktrace.c += -Wno-error=unused-parameter +.endif + +.endif # USE_FILEMON + +.PATH: ${srcdir} + +.if make(obj) || make(clean) +SUBDIR+= unit-tests +.endif + +# start-delete1 for bsd.after-import.mk +# we skip a lot of this when building as part of FreeBSD etc. + +# list of OS's which are derrived from BSD4.4 +BSD44_LIST= NetBSD FreeBSD OpenBSD DragonFly MirBSD Bitrig +# we are... +OS := ${.MAKE.OS:U${uname -s:L:sh}} +# are we 4.4BSD ? +isBSD44:=${BSD44_LIST:M${OS}} + - .if ${isBSD44} == "" && ${OS:NDarwin:NLinux} != "" - MANTARGET= cat - INSTALL?=${srcdir}/install-sh ++.if ${isBSD44} == "" && ${OS:NCYGWIN*:NDarwin:NLinux} != "" ++MANTARGET?= cat +.if ${MACHINE} == "sun386" +# even I don't have one of these anymore :-) +CFLAGS+= -DPORTAR +.elif ${OS} != "SunOS" +# assume the worst +SRCS+= sigcompat.c +CFLAGS+= -DSIGNAL_FLAGS=SA_RESTART +.endif +.else +MANTARGET?= man +.endif + +# turn this on by default - ignored if we are root +WITH_INSTALL_AS_USER= + +# suppress with -DWITHOUT_* +OPTIONS_DEFAULT_YES+= \ + AUTOCONF_MK \ + INSTALL_MK \ + PROG_LINK + +OPTIONS_DEFAULT_NO+= \ + PROG_VERSION + +# process options now +.include + +.if ${MK_PROG_VERSION} == "yes" +PROG_NAME= ${PROG}-${_MAKE_VERSION} +.if ${MK_PROG_LINK} == "yes" +SYMLINKS+= ${PROG_NAME} ${BINDIR}/${PROG} +.endif +.endif + +EXTRACT_MAN=no +# end-delete1 + +MAN= ${PROG}.1 +MAN1= ${MAN} + +.if ${PROG} != "make" +CLEANFILES+= my.history +.if make(${MAN}) || !exists(${srcdir}/${MAN}) +my.history: + @(echo ".Nm"; \ + echo "is derived from NetBSD"; \ + echo ".Xr make 1 ."; \ + echo "It uses autoconf to facilitate portability to other platforms."; \ + echo ".Pp") > $@ + +.NOPATH: ${MAN} +${MAN}: make.1 my.history + @echo making $@ + @sed \ + -e '/^.Dt/s/MAKE/${PROG:tu}/' \ + -e 's/^.Nx/NetBSD/' \ + -e '/^.Nm/s/make/${PROG}/' \ + -e '/^.Sh HISTORY/rmy.history' \ + -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ + +all beforeinstall: ${MAN} +_mfromdir=. +.endif +.endif + +MANTARGET?= cat +MANDEST?= ${MANDIR}/${MANTARGET}1 + +.if ${MANTARGET} == "cat" +_mfromdir=${srcdir} +.endif + +.include + +CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H +COPTS.var.c += -Wno-cast-qual +COPTS.job.c += -Wno-format-nonliteral +COPTS.parse.c += -Wno-format-nonliteral +COPTS.var.c += -Wno-format-nonliteral + +# Force these +SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} +BINDIR= ${BINDIR.bmake:U${prefix}/bin} +MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} + +${OBJS}: config.h + +# start-delete2 for bsd.after-import.mk + +# make sure that MAKE_VERSION gets updated. +main.o: ${srcdir}/VERSION + +.if ${MK_AUTOCONF_MK} == "yes" +CONFIGURE_DEPS += ${.CURDIR}/VERSION +# we do not need or want the generated makefile +CONFIGURE_ARGS += --without-makefile +AUTOCONF_GENERATED_MAKEFILE = Makefile.config +.include +.endif +SHARE_MK ?= ${SHAREDIR}/mk +MKSRC = ${srcdir}/mk +INSTALL ?= ${srcdir}/install-sh + +.if ${MK_INSTALL_MK} == "yes" +install: install-mk +.endif + +beforeinstall: + test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${BINDIR} + test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${MANDEST} + +install-mk: +.if exists(${MKSRC}/install-mk) + test -d ${DESTDIR}${SHARE_MK} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${SHARE_MK} + sh ${MKSRC}/install-mk -v -m ${NONBINMODE} ${DESTDIR}${SHARE_MK} +.else + @echo need to unpack mk.tar.gz under ${srcdir} or set MKSRC; false +.endif +# end-delete2 + +# A simple unit-test driver to help catch regressions +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} +accept test: .NOMETA + cd ${.CURDIR}/unit-tests && \ + MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} + + +.if make(test) && ${MK_AUTO_OBJ} == "yes" +# The test target above visits unit-tests with -r -m / +# which prevents MK_AUTO_OBJ doing its job +# so do it here +.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" +_utobj = ${.OBJDIR}/unit-tests +.else +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} +.endif +utobj: .NOMETA + @test -d ${_utobj} && exit 0; \ + echo "[Creating ${_utobj}...]"; \ + umask ${OBJDIR_UMASK:U002}; \ + mkdir -p ${_utobj} +test: utobj +.endif diff --cc contrib/bmake/mk/ccm.dep.mk index 000000000000,1809a72e7310..1809a72e7310 mode 000000,100644..100644 --- a/contrib/bmake/mk/ccm.dep.mk +++ b/contrib/bmake/mk/ccm.dep.mk diff --cc contrib/bmake/mk/meta2deps.sh index d590a383f82e,000000000000..4c1b674f7b63 mode 100755,000000..100755 --- a/contrib/bmake/mk/meta2deps.sh +++ b/contrib/bmake/mk/meta2deps.sh @@@ -1,455 -1,0 +1,457 @@@ +#!/bin/sh + +# NAME: +# meta2deps.sh - extract useful info from .meta files +# +# SYNOPSIS: +# meta2deps.sh SB="SB" "meta" ... +# +# DESCRIPTION: +# This script looks each "meta" file and extracts the +# information needed to deduce build and src dependencies. +# +# To do this, we extract the 'CWD' record as well as all the +# syscall traces which describe 'R'ead, 'C'hdir and 'E'xec +# syscalls. +# +# The typical meta file looks like:: +#.nf +# +# # Meta data file "path" +# CMD "command-line" +# CWD "cwd" +# TARGET "target" +# -- command output -- +# -- filemon acquired metadata -- +# # buildmon version 2 +# V 2 +# E "pid" "path" +# R "pid" "path" +# C "pid" "cwd" +# R "pid" "path" +# X "pid" "status" +#.fi +# +# The fact that all the syscall entry lines start with a single +# character make these files quite easy to process using sed(1). +# +# To simplify the logic the 'CWD' line is made to look like a +# normal 'C'hdir entry, and "cwd" is remembered so that it can +# be prefixed to any "path" which is not absolute. +# +# If the "path" being read ends in '.srcrel' it is the content +# of (actually the first line of) that file that we are +# interested in. +# +# Any "path" which lies outside of the sandbox "SB" is generally +# not of interest and is ignored. +# +# The output, is a set of absolute paths with "SB" like: +#.nf +# +# $SB/obj-i386/bsd/include +# $SB/obj-i386/bsd/lib/csu/i386 +# $SB/obj-i386/bsd/lib/libc +# $SB/src/bsd/include +# $SB/src/bsd/sys/i386/include +# $SB/src/bsd/sys/sys +# $SB/src/pan-release/rtsock +# $SB/src/pfe-shared/include/jnx +#.fi +# +# Which can then be further processed by 'gendirdeps.mk' +# +# If we are passed 'DPDEPS='"dpdeps", then for each src file +# outside of "CURDIR" we read, we output a line like: +#.nf +# +# DPDEPS_$path += $RELDIR +#.fi +# +# with "$path" geting turned into reldir's, so that we can end +# up with a list of all the directories which depend on each src +# file in another directory. This can allow for efficient yet +# complete testing of changes. + + +# RCSid: - # $Id: meta2deps.sh,v 1.20 2023/01/18 01:35:24 sjg Exp $ ++# $Id: meta2deps.sh,v 1.21 2024/02/17 17:26:57 sjg Exp $ + ++# SPDX-License-Identifier: BSD-2-Clause ++# +# Copyright (c) 2010-2013, Juniper Networks, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +meta2src() { + cat /dev/null "$@" | + sed -n '/^R .*\.[chyl]$/s,^..[0-9]* ,,p' | + sort -u +} + +meta2dirs() { + cat /dev/null "$@" | + sed -n '/^R .*\/.*\.[a-z0-9][^\/]*$/s,^..[0-9]* \(.*\)/[^/]*$,\1,p' | + sort -u +} + +add_list() { + sep=' ' + suffix= + while : + do + case "$1" in + "|") sep="$1"; shift;; + -s) suffix="$2"; shift 2;; + *) break;; + esac + done + name=$1 + shift + eval list="\$$name" + for top in "$@" + do + case "$sep$list$sep" in + *"$sep$top$suffix$sep"*) continue;; + esac + list="${list:+$list$sep}$top$suffix" + done + eval "$name=\"$list\"" +} + +# some Linux systems have deprecated egrep in favor of grep -E +# but not everyone supports that +case "`echo bmake | egrep 'a|b' 2>&1`" in +bmake) ;; +*) egrep() { grep -E "$@"; } +esac + +_excludes_f() { + egrep -v "$EXCLUDES" +} + +error() { + echo "ERROR: $@" >&2 + exit 1 +} + +meta2deps() { + DPDEPS= + SRCTOPS=$SRCTOP + OBJROOTS= + EXCLUDES= + while : + do + case "$1" in + *=*) eval export "$1"; shift;; + -a) MACHINE_ARCH=$2; shift 2;; + -m) MACHINE=$2; shift 2;; + -C) CURDIR=$2; shift 2;; + -H) HOST_TARGET=$2; shift 2;; + -S) add_list SRCTOPS $2; shift 2;; + -O) add_list OBJROOTS $2; shift 2;; + -X) add_list EXCLUDES '|' $2; shift 2;; + -R) RELDIR=$2; shift 2;; + -T) TARGET_SPEC=$2; shift 2;; + *) break;; + esac + done + + _th= _o= + case "$MACHINE" in + host) _ht=$HOST_TARGET;; + esac + + for o in $OBJROOTS + do + case "$MACHINE,/$o/" in + host,*$HOST_TARGET*) ;; + *$MACHINE*|*${TARGET_SPEC:-$MACHINE}*) ;; + *) add_list _o $o; continue;; + esac + for x in $_ht $TARGET_SPEC $MACHINE + do + case "$o" in + "") continue;; + */$x/) add_list _o ${o%$x/}; o=;; + */$x) add_list _o ${o%$x}; o=;; + *$x/) add_list _o ${o%$x/}; o=;; + *$x) add_list _o ${o%$x}; o=;; + esac + done + done + OBJROOTS="$_o" + + case "$OBJTOP" in + "") + for o in $OBJROOTS + do + OBJTOP=$o${TARGET_SPEC:-$MACHINE} + break + done + ;; + esac + src_re= + obj_re= + add_list '|' -s '/*' src_re $SRCTOPS + add_list '|' -s '*' obj_re $OBJROOTS + + [ -z "$RELDIR" ] && unset DPDEPS + tf=/tmp/m2d$$-$USER + rm -f $tf.* + trap 'rm -f $tf.*; trap 0' 0 + + > $tf.dirdep + > $tf.qual + > $tf.srcdep + > $tf.srcrel + > $tf.dpdeps + + seenit= + seensrc= + lpid= + case "$EXCLUDES" in + "") _excludes=cat;; + *) _excludes=_excludes_f;; + esac + # handle @list files + case "$@" in + *@[!.]*) + for f in "$@" + do + case "$f" in + *.meta) cat $f;; + @*) xargs cat < ${f#@};; + *) cat $f;; + esac + done + ;; + *) cat /dev/null "$@";; + esac 2> /dev/null | + sed -e 's,^CWD,C C,;/^[#CREFLMVX] /!d' -e "s,',,g" | + $_excludes | ( version=no epids= xpids= eof_token=no + while read op pid path junk + do + : op=$op pid=$pid path=$path + # we track cwd and ldir (of interest) per pid + # CWD is bmake's cwd + case "$lpid,$pid" in + ,C) CWD=$path cwd=$path ldir=$path + if [ -z "$SB" ]; then + SB=`echo $CWD | sed 's,/obj.*,,'` + fi + SRCTOP=${SRCTOP:-$SB/src} + case "$verion" in + no) ;; # ignore + 0) error "no filemon data";; + *) ;; + esac + version=0 + case "$eof_token" in + no) ;; # ignore + 0) error "truncated filemon data";; + esac + eof_token=0 + continue + ;; + $pid,$pid) ;; + [1-9]*) + case "$lpid" in + "") ;; + *) eval ldir_$lpid=$ldir;; + esac + eval ldir=\${ldir_$pid:-$CWD} cwd=\${cwd_$pid:-$CWD} + lpid=$pid + ;; + esac + + : op=$op path=$path + case "$op,$path" in + V,*) version=$pid; continue;; + W,*srcrel|*.dirdep) continue;; + C,*) + case "$path" in + /*) cwd=$path;; + *) cwd=`cd $cwd/$path 2> /dev/null && /bin/pwd`;; + esac + # watch out for temp dirs that no longer exist + test -d ${cwd:-/dev/null/no/such} || cwd=$CWD + eval cwd_$pid=$cwd + continue + ;; + F,*) # $path is new pid + eval cwd_$path=$cwd ldir_$path=$ldir + continue + ;; + \#,bye) eof_token=1; continue;; + \#*) continue;; + *) dir=${path%/*} + case "$op" in + E) # setid apps get no tracing so we won't see eXit + case `'ls' -l $path 2> /dev/null | sed 's, .*,,'` in + *s*) ;; + *) epids="$epids $pid";; + esac + ;; + X) xpids="$xpids $pid"; continue;; + esac + case "$path" in + $src_re|$obj_re) ;; + /*/stage/*) ;; + /*) continue;; + *) for path in $ldir/$path $cwd/$path + do + test -e $path && break + done + dir=${path%/*} + ;; + esac + ;; + esac + # avoid repeating ourselves... + case "$DPDEPS,$seensrc," in + ,*) + case ",$seenit," in + *,$dir,*) continue;; + esac + ;; + *,$path,*) continue;; + esac + # canonicalize if needed + case "/$dir/" in + */../*|*/./*) + rdir=$dir + dir=`cd $dir 2> /dev/null && /bin/pwd` + seen="$rdir,$dir" + ;; + *) seen=$dir;; + esac + case "$dir" in + ${CURDIR:-.}|"") continue;; + $src_re) + # avoid repeating ourselves... + case "$DPDEPS,$seensrc," in + ,*) + case ",$seenit," in + *,$dir,*) continue;; + esac + ;; + esac + ;; + *) + case ",$seenit," in + *,$dir,*) continue;; + esac + ;; + esac + if [ -d $path ]; then + case "$path" in + */..) ldir=${dir%/*};; + *) ldir=$path;; + esac + continue + fi + [ -f $path ] || continue + case "$dir" in + $CWD) continue;; # ignore + $src_re) + seenit="$seenit,$seen" + echo $dir >> $tf.srcdep + case "$DPDEPS,$reldir,$seensrc," in + ,*) ;; + *) seensrc="$seensrc,$path" + echo "DPDEPS_$dir/${path##*/} += $RELDIR" >> $tf.dpdeps + ;; + esac + continue + ;; + esac + # if there is a .dirdep we cannot skip + # just because we've seen the dir before. + if [ -s $path.dirdep ]; then + # this file contains: + # '# ${RELDIR}.' + echo $path.dirdep >> $tf.qual + continue + elif [ -s $dir.dirdep ]; then + echo $dir.dirdep >> $tf.qual + seenit="$seenit,$seen" + continue + fi + seenit="$seenit,$seen" + case "$dir" in + $obj_re) + echo $dir;; + esac + done > $tf.dirdep + : version=$version + case "$version" in + 0) error "no filemon data";; + esac + : eof_token=$eof_token + case "$eof_token" in + 0) error "truncated filemon data";; + esac + for p in $epids + do + : p=$p + case " $xpids " in + *" $p "*) ;; + *) error "missing eXit for pid $p";; + esac + done ) || exit 1 + _nl=echo + for f in $tf.dirdep $tf.qual $tf.srcdep + do + [ -s $f ] || continue + case $f in + *qual) # a list of .dirdep files + # we can prefix everything with $OBJTOP to + # tell gendirdeps.mk that these are + # DIRDEP entries, since they are already + # qualified with . as needed. + # We strip .$MACHINE though + xargs cat < $f | sort -u | + sed "s,^# ,,;s,^,$OBJTOP/,;s,\.${TARGET_SPEC:-$MACHINE}\$,,;s,\.$MACHINE\$,," + ;; + *) sort -u $f;; + esac + _nl=: + done + if [ -s $tf.dpdeps ]; then + case "$DPDEPS" in + */*) ;; + *) echo > $DPDEPS;; # the echo is needed! + esac + sort -u $tf.dpdeps | + sed "s,${SRCTOP}/,,;s,${SB_BACKING_SB:-$SB}/src/,," >> $DPDEPS + fi + # ensure we produce _something_ else egrep -v gets upset + $_nl +} + +case /$0 in +*/meta2dep*) meta2deps "$@";; +*/meta2dirs*) meta2dirs "$@";; +*/meta2src*) meta2src "$@";; +esac diff --cc contrib/bmake/mk/suffixes.mk index 000000000000,4c4c85e68220..4c4c85e68220 mode 000000,100644..100644 --- a/contrib/bmake/mk/suffixes.mk +++ b/contrib/bmake/mk/suffixes.mk From nobody Thu Mar 14 05:04:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwFfD6t99z5F9rT; Thu, 14 Mar 2024 05:04:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwFfD66JCz4jcS; Thu, 14 Mar 2024 05:04:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710392644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VlHqSF+HpAzoqxmQ0BKmweLNFiW2FIfHj7xziJrTbFQ=; b=cX4DUoiNdO4LOd9Fjfva6pFLJ3KJ8PY5VrzK58Kc7h1iwpRUjJINsz9o6XvxNAJCMtcD81 0B2gLHi+ips7cudpDywAFE2kKqlZeelkqwLsv2/xKAbYJusnuRTWBGR9F5eBQ2wi0pM5TX dBfEyrQwDKuQ/NmCaYfKLu9drbc/4cYdxEZ+Bp8x1fQRBPOrTwjxQ0a4Gq0v604HdqOh59 iXOmCKX6/DHxoenbTxgyc05udT+bW+JXroVzugnXgNxTYFPwTcViVIfSFpBlhiykNRK1hn reT/YVY31jEyysoKQHpff3pacyJhnxvgr2nqJNK5Ri7VAebBjY391/kpuVaNrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710392644; a=rsa-sha256; cv=none; b=R2GpGCiaJUZfF8+lNJbbsruR35hGI/Svd7oAIlTAMzxsW8c2OYZ939qZuLB7d8NpkDTTmo XnC4XuJ8pUKM8r37Sen0kYCdDymAJ4oFNKeIGQpdSSo6cRY1mJBM7W+vDS5UcusTMOUafw npe11pEOZDTl6ttwzwIYE8+0c7X+encmcH2VGJdzGQQdpKtZtzpg0GqyyY6k1+x5a1XeIe t4un4F3EnsqEOEJHmhkALTUD4yJk9XFPQ2duLpLJmQ8njhyZ/ipEVEznO50J4TQdGF7Pos dDEEVTIiNPQzzTDUJsw+SlxWySe1kDDSDYoMW6t9Ww7WPkPd79u7UxXDInrxXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710392644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VlHqSF+HpAzoqxmQ0BKmweLNFiW2FIfHj7xziJrTbFQ=; b=XKSvmpsrhF/kbIJbztXuM4uOTdDU3pG7imRx2QfEW/39qlBE1CsEplJx0RcrXgtXJVzKo5 rZLPgxd6G5LTERfb/DCYL7aNxjtDRAkToeiXJEg/0MT6u4R8RBUEbHHq8P93GnT850Atgj 6j+rve6peWTUTpglkfS6eXvj/oENgyMcP5pUZ5ktECDLDhVsJHL2USKyySC2ic25GJr9cu AWo+Tm/JOC/zzQlz6RvU8NBQzjENTMi4exejhf+5+C1smrBBCOXFzJsToxsLR/uvarDWs4 kjNfMdgv3/rWdlBR1XU7AoVMwwfVJSgVP4LhHi83x7gO7fRH6xEGH/xA2VYvOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwFfD5jZPzDbW; Thu, 14 Mar 2024 05:04:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E544T0069467; Thu, 14 Mar 2024 05:04:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E544Ux069464; Thu, 14 Mar 2024 05:04:04 GMT (envelope-from git) Date: Thu, 14 Mar 2024 05:04:04 GMT Message-Id: <202403140504.42E544Ux069464@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 51ca8a7a7da7 - main - bmake updated config.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51ca8a7a7da752d41bd91818169fc764dc8b1a42 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=51ca8a7a7da752d41bd91818169fc764dc8b1a42 commit 51ca8a7a7da752d41bd91818169fc764dc8b1a42 Author: Simon J. Gerraty AuthorDate: 2024-03-14 05:03:50 +0000 Commit: Simon J. Gerraty CommitDate: 2024-03-14 05:03:50 +0000 bmake updated config.h --- usr.bin/bmake/config.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/usr.bin/bmake/config.h b/usr.bin/bmake/config.h index b9e169fad867..281e105d853d 100644 --- a/usr.bin/bmake/config.h +++ b/usr.bin/bmake/config.h @@ -96,6 +96,9 @@ /* Define to 1 if you have the `realpath' function. */ #define HAVE_REALPATH 1 +/* Define to 1 if you have the header file. */ +#define HAVE_REGEX_H 1 + /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 @@ -279,7 +282,7 @@ #define PACKAGE_NAME "bmake" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "bmake 20240101" +#define PACKAGE_STRING "bmake 20240212" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "bmake" @@ -288,7 +291,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "20240101" +#define PACKAGE_VERSION "20240212" /* Define to 1 if the `S_IS*' macros in do not work properly. */ /* #undef STAT_MACROS_BROKEN */ From nobody Thu Mar 14 05:08:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwFlc2yNgz5FBFV; Thu, 14 Mar 2024 05:08:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwFlc0vqWz4jfc; Thu, 14 Mar 2024 05:08:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710392924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/VaDLermJkaJy6pTAWVi24UJLZNM1vOds/UYC/RoRpM=; b=r58SUE/34Z3WPxJ1zId1eqgr1ukSeLU9v/4eYhipe+WCX4FgAYB1fyiDmpiokd6LzZzs4q Hsr7oUq8pos+mBBeHohXWvBLroZTQ/cp9JrR1Kkl91LJ35BmT20rBj3DySMYokIO6CC+39 9XqsRcllBVbhygIMFOFJ0le0rpEHJ1eS8GFfnh6TeguRwoC/hBXlmkdBfjoP6lkmmkch3X HE2g7QhBSaNKAEE4Y9fgOwQeO20/kgbQ7CA65x/oDhwBSjsXVAUwcNENN9M6pUXkqkA03K aYIPKXlEQI1fslNtDE1F1ICpHN3m5XO0NHeDrhW2NciHU+3Kq+KWI955HRAUAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710392924; a=rsa-sha256; cv=none; b=bg1tv8oWoOJ76nweFwhZpKPppiibPod1U9OazAqKAsjMSpHDAIpHPvk1KtZFk4THtXvKiL 1uj5U3nu7M3cTo3sLOfgB+guet6HW2jn1oaVDlV56GJPoEEZVxsWZtcaRM7SkjyB0jFuha fbXT+T1S/KrUHY0CQ57XlLayc8Ruy+TUJ+z+VY55qVGZg3jjezCfjPyr1lApamGgAY2dmb ctWH+VR6OmTT+AiViDuwfplrVVmSVF0n8gKEAGSQ3ps4RllM/1zJnPWECEJW5H+w+665yo KZf0nQNydsD949Z5he7X+ZJcwLqAfsJjZXfFs7qHORV0K1Tvzc9seLsmrUi40w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710392924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/VaDLermJkaJy6pTAWVi24UJLZNM1vOds/UYC/RoRpM=; b=UkEmEKRpgHEbsUj5q6nrpZG5ZXW8OXPWUsJoIA0kHsOZ+vyfO9UHOc5lHCHye0x4onMTK9 j8TvN3tUOb5+pxG1pPLrzYDTZ0V0Wl+JhxLTs4uf9VEAmRNsaFXWbnJqNvImmrKohwt3u5 wGClu/2cEi+ve6NacaoNTB+RXBZEgZG19cd5VobXLKg6wRZtVgLXrHFHL0r1fvEOYw+9lM iQv24R5JM+sV3SqUGNQYRrS1Gjuw0Lax3tEi+hvuQ7kS92leHp91kmuItDE8oWSwdxETpK WGq2FKA9y4LZoB3D6PSq8NzG8O1mFC8NAPWmspcOAED8lLPpoC4f6u9IoK1PMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwFlc0MwQzDty; Thu, 14 Mar 2024 05:08:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E58heP070197; Thu, 14 Mar 2024 05:08:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E58hSk070194; Thu, 14 Mar 2024 05:08:43 GMT (envelope-from git) Date: Thu, 14 Mar 2024 05:08:43 GMT Message-Id: <202403140508.42E58hSk070194@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 3ff501040ba7 - main - bmake Makefile.config List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ff501040ba79894a3b4ed712d7ae4252590fc84 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=3ff501040ba79894a3b4ed712d7ae4252590fc84 commit 3ff501040ba79894a3b4ed712d7ae4252590fc84 Author: Simon J. Gerraty AuthorDate: 2024-03-14 05:08:29 +0000 Commit: Simon J. Gerraty CommitDate: 2024-03-14 05:08:29 +0000 bmake Makefile.config --- usr.bin/bmake/Makefile | 2 +- usr.bin/bmake/Makefile.config | 2 +- usr.bin/bmake/unit-tests/Makefile | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/usr.bin/bmake/Makefile b/usr.bin/bmake/Makefile index b91394765301..5a0bf44fb0fb 100644 --- a/usr.bin/bmake/Makefile +++ b/usr.bin/bmake/Makefile @@ -11,7 +11,7 @@ CFLAGS+= -I${.CURDIR} CLEANDIRS+= FreeBSD CLEANFILES+= bootstrap -# $Id: Makefile,v 1.125 2023/05/17 00:15:46 sjg Exp $ +# $Id: Makefile,v 1.126 2024/03/10 17:46:44 sjg Exp $ PROG?= ${.CURDIR:T} diff --git a/usr.bin/bmake/Makefile.config b/usr.bin/bmake/Makefile.config index 4062f175f763..88ec643b8a4a 100644 --- a/usr.bin/bmake/Makefile.config +++ b/usr.bin/bmake/Makefile.config @@ -6,7 +6,7 @@ SRCTOP?= ${.CURDIR:H:H} # things set by configure -_MAKE_VERSION?=20240108 +_MAKE_VERSION?=20240309 prefix?= /usr srcdir= ${SRCTOP}/contrib/bmake diff --git a/usr.bin/bmake/unit-tests/Makefile b/usr.bin/bmake/unit-tests/Makefile index cf6c85809b9c..dcec9297828c 100644 --- a/usr.bin/bmake/unit-tests/Makefile +++ b/usr.bin/bmake/unit-tests/Makefile @@ -1,7 +1,7 @@ # This is a generated file, do NOT edit! # See contrib/bmake/bsd.after-import.mk # -# $Id: Makefile,v 1.210 2024/01/08 18:28:08 sjg Exp $ +# $Id: Makefile,v 1.211 2024/03/10 17:46:44 sjg Exp $ # # $NetBSD: Makefile,v 1.342 2024/01/07 02:07:44 sjg Exp $ # @@ -477,6 +477,15 @@ BROKEN_TESTS+= sh-flags BROKEN_TESTS+= varmod-localtime .endif +.if ${.MAKE.OS:NCYGWIN*} == "" +BROKEN_TESTS+= \ + export \ + opt-chdir \ + opt-keep-going-indirect \ + +.endif + + .if ${.MAKE.OS:NDarwin} == "" BROKEN_TESTS+= shell-ksh .endif From nobody Thu Mar 14 05:51:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwGht1s9bz5FFW7; Thu, 14 Mar 2024 05:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwGht1d4Dz4mXJ; Thu, 14 Mar 2024 05:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710395486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DA/V4B4nJyxt4XlSsGPAapBgJNTwH/0RwKRv3OkZ5JE=; b=X80bz67oOpD60tqI3RZFE9+fMke5vA63TsJHrE3LDMAIm5K4h5T9+gkImnSp/SQ+qpqcmd G0LPdx0ALrRPeSMSrGuZG352aieSf4Yhw1TvItUWF7rCZ65OpJf6r3CteWhs3Mfpe0C/O2 cc8xRscmBhIm/2ru48Wv7p/5RVjzZQQSZxlk28j5HYsCB7U1BsxcM6KvsUCdT1sjoFhQne Ke/wy5PLWwoQ2gNxONUFSKsVrxmT8iCkeXcRvfB/c02+wNVkg9sUGS3ZTFbq8KBlkYhYr6 Uw/AoZvgYDsF1CXAxSoWyOJiAkqJ1KBB639iLeK/T+ODW44+xFkR0kA/+wRWWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710395486; a=rsa-sha256; cv=none; b=U8k3oQ4lvvCbZc/wBz0UkpOrCtRbgDUksKmSetBeIhbBCwo+5TcgowbPfysNUyahFXveJ7 UvffBAZs0+hoSzmZkgkeuPDHHCQp28N3fGk2fEA2m/nO8kgbbNhaxJoD91OWYIrZqmR9w9 PuT98f4mLL0mU2kMV2d5l/3oXf9FF9YV2HJ/xFOCju5e0MNqWZFlZ1v+kkBTRTGu0hf25f Mem36MphudLCH0M0gianAf1pQUIq30BXiWxhibuRDUOX7l2kafqRFhQty/5dUyIkPunOvR aCNECMhf+/ftzi+uGLS3r9YCGdwwU3isrI8GiFM0r6BZTSWT3QbyhYE/XOuDcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710395486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DA/V4B4nJyxt4XlSsGPAapBgJNTwH/0RwKRv3OkZ5JE=; b=MTd1zUsmwqEwnCBZmqM9vUlVebeWS002gpKqAVjJUametfOB9+4OA2f1A42fQNLGPiCTrq LS7960fm2vEMToWnfATzajBWyZTtDH4Rc4Zn+owuOYC3OoC7eiq2s3LLPy/AS+roSwazr4 mBhcx880vBawLhWe8TWb1m1cUI6AYeyE2LRbEPqGmPvn6UfutxpB/OFXzOiIBno8Z8O8bU zuZmVO0yEo4LPwefXt28KFRHV7TnEiIr4vgM/sTEsU9vlYN4/RKZ97dReeh7L0ZTHpM8Z+ pE76wDUw5xJSavJiVv0nOa8IRcB0javEh6EK5/jQkgup86V1AO9aKgY9CJKpmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwGht1C2ZzFg6; Thu, 14 Mar 2024 05:51:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E5pQxM050906; Thu, 14 Mar 2024 05:51:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E5pQFQ050903; Thu, 14 Mar 2024 05:51:26 GMT (envelope-from git) Date: Thu, 14 Mar 2024 05:51:26 GMT Message-Id: <202403140551.42E5pQFQ050903@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: f974ced38a4a - main - Update dirdeps.mk et al List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f974ced38a4a264bb78b4f067b44bf587f7887db Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=f974ced38a4a264bb78b4f067b44bf587f7887db commit f974ced38a4a264bb78b4f067b44bf587f7887db Author: Simon J. Gerraty AuthorDate: 2024-03-14 05:51:08 +0000 Commit: Simon J. Gerraty CommitDate: 2024-03-14 05:51:08 +0000 Update dirdeps.mk et al bmake-20240309 includes updates to dirdeps and meta mode makefiles --- share/mk/dirdeps-options.mk | 4 +++- share/mk/dirdeps-targets.mk | 7 ++++++- share/mk/dirdeps.mk | 37 +++++++++++++++++++++++++------------ share/mk/local.autodep.mk | 4 ---- share/mk/meta.autodep.mk | 16 ++++++++++------ share/mk/meta.stage.mk | 6 ++++-- share/mk/meta.subdir.mk | 4 +++- share/mk/meta.sys.mk | 12 +++++++++--- share/mk/meta2deps.py | 15 +++++++++++---- share/mk/meta2deps.sh | 8 ++++---- share/mk/sys.dirdeps.mk | 9 ++++++--- 11 files changed, 81 insertions(+), 41 deletions(-) diff --git a/share/mk/dirdeps-options.mk b/share/mk/dirdeps-options.mk index 9a97615bbeb8..e12dcec40ac7 100644 --- a/share/mk/dirdeps-options.mk +++ b/share/mk/dirdeps-options.mk @@ -1,4 +1,6 @@ -# $Id: dirdeps-options.mk,v 1.21 2022/09/06 22:18:45 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: dirdeps-options.mk,v 1.22 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2018-2022, Simon J. Gerraty # diff --git a/share/mk/dirdeps-targets.mk b/share/mk/dirdeps-targets.mk index 821ae50e3ffa..9e3fb814fada 100644 --- a/share/mk/dirdeps-targets.mk +++ b/share/mk/dirdeps-targets.mk @@ -1,5 +1,7 @@ +# SPDX-License-Identifier: BSD-2-Clause +# # RCSid: -# $Id: dirdeps-targets.mk,v 1.25 2023/05/11 05:07:28 sjg Exp $ +# $Id: dirdeps-targets.mk,v 1.27 2024/02/25 19:12:13 sjg Exp $ # # @(#) Copyright (c) 2019-2020 Simon J. Gerraty # @@ -40,6 +42,9 @@ # pickup customizations .-include +# this is what we are here for +.MAIN: dirdeps + # for DIRDEPS_BUILD this is how we prime the pump # include . to allow any directory to work as a target DIRDEPS_TARGETS_DIRS ?= targets targets/pseudo diff --git a/share/mk/dirdeps.mk b/share/mk/dirdeps.mk index 2cf62bed3d9e..b3b34145e8e9 100644 --- a/share/mk/dirdeps.mk +++ b/share/mk/dirdeps.mk @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.162 2023/05/15 17:37:46 sjg Exp $ +# $Id: dirdeps.mk,v 1.166 2024/01/05 23:16:34 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -155,7 +155,7 @@ # if any test fails, but without the risk of introducing # circular dependencies. -now_utc ?= ${%s:L:gmtime} +now_utc ?= ${%s:L:localtime} .if !defined(start_utc) start_utc := ${now_utc} .endif @@ -415,6 +415,8 @@ DIRDEPS_FILTER += M${_DEP_RELDIR} # this is what we run below DIRDEP_MAKE ?= ${.MAKE} DIRDEP_DIR ?= ${.TARGET:R} +# we normally want the default target +DIRDEP_TARGETS ?= # if you want us to report load averages during build # DIRDEP_USE_PRELUDE += ${DIRDEP_LOADAVG_REPORT}; @@ -442,7 +444,7 @@ _DIRDEP_USE: .USE .MAKE MACHINE_ARCH= NO_SUBDIR=1 ${DIRDEP_USE_ENV} \ TARGET_SPEC=${.TARGET:E} \ MACHINE=${.TARGET:E} \ - ${DIRDEP_MAKE} -C ${DIRDEP_DIR} || exit 1; \ + ${DIRDEP_MAKE} -C ${DIRDEP_DIR} ${DIRDEP_TARGETS} || exit 1; \ break; \ done @@ -680,7 +682,7 @@ _build_dirs += ${_machines:@m@${_CURDIR}.$m@} .if ${_debug_reldir} .info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: nDIRDEPS=${DIRDEPS:[#]} -.info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: DIRDEPS='${DIRDEPS}' +.info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: DIRDEPS=${DIRDEPS:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} .info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: _machines='${_machines}' .endif @@ -712,9 +714,9 @@ __qual_depdirs += ${__hostdpadd} .if ${_debug_reldir} .info DEP_DIRDEPS_FILTER=${DEP_DIRDEPS_FILTER:ts:} -.info depdirs=${__depdirs:S,^${SRCTOP}/,,} -.info qualified=${__qual_depdirs:S,^${SRCTOP}/,,} -.info unqualified=${__unqual_depdirs:S,^${SRCTOP}/,,} +.info depdirs=${__depdirs:S,^${SRCTOP}/,,:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} +.info qualified=${__qual_depdirs:S,^${SRCTOP}/,,:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} +.info unqualified=${__unqual_depdirs:S,^${SRCTOP}/,,:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} .endif # _build_dirs is what we will feed to _DIRDEP_USE @@ -726,14 +728,14 @@ _build_dirs += \ # qualify everything now .if ${_debug_reldir} -.info _build_dirs=${_build_dirs} +.info _build_dirs=${_build_dirs:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} .endif # make sure we do not mess with qualifying "host" entries _build_dirs := ${_build_dirs:M*.host*:${M_dep_qual_fixes.host:ts:}} \ ${_build_dirs:N*.host*:${M_dep_qual_fixes:ts:}} _build_dirs := ${_build_dirs:O:u} .if ${_debug_reldir} -.info _build_dirs=${_build_dirs} +.info _build_dirs=${_build_dirs:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} .endif .endif # empty DIRDEPS @@ -752,7 +754,6 @@ _cache_script = echo '\# ${DEP_RELDIR}.${DEP_TARGET_SPEC}'; # guard against _new_dirdeps being too big for a single command line _new_dirdeps := ${_build_all_dirs:@x@${target($x):?:$x}@:S,^${SRCTOP}/,,} _cache_xtra_deps := ${_build_xtra_dirs:S,^${SRCTOP}/,,} -.export _cache_xtra_deps _new_dirdeps .if !empty(DIRDEPS_EXPORT_VARS) || !empty(DEP_EXPORT_VARS) # Discouraged, but there are always exceptions. # Handle it here rather than explain how. @@ -767,7 +768,7 @@ dirdeps: ${_build_all_dirs} ${_build_all_dirs}: _DIRDEP_USE .if ${_debug_reldir} -.info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: needs: ${_build_dirs:S,^${SRCTOP}/,,} +.info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: needs: ${_build_dirs:S,^${SRCTOP}/,,:${DEBUG_DIRDEPS_LIST_FILTER:U:N/:ts:}} .endif .if !empty(DIRDEPS_EXPORT_VARS) || !empty(DEP_EXPORT_VARS) @@ -802,15 +803,27 @@ ${_this_dir}.$m: ${_build_dirs:M*.$q} .if ${BUILD_DIRDEPS_CACHE} == "yes" .if !empty(_build_dirs) _cache_deps += ${_build_dirs:M*.$m:N${_this_dir}.$m:S,^${SRCTOP}/,,} +# anything in _{build,env}_xtra_dirs is hooked to dirdeps: only +.if ${MAKE_VERSION} < 20240105 .if !empty(_cache_deps) .export _cache_deps _cache_script += for x in $$_cache_deps; do echo " _{SRCTOP}/$$x \\"; done; .endif -# anything in _{build,env}_xtra_dirs is hooked to dirdeps: only +.export _cache_xtra_deps _new_dirdeps x!= echo; { echo; ${_cache_script} echo; echo '${_this_dir}.$m: $${DIRDEPS.${_this_dir}.$m}'; \ echo; echo 'dirdeps: ${_this_dir}.$m \'; \ for x in $$_cache_xtra_deps; do echo " _{SRCTOP}/$$x \\"; done; \ echo; for x in $$_new_dirdeps; do echo "_{SRCTOP}/$$x: _DIRDEP_USE"; done; } >&3 +.else +# we do not have the same limits on command lines +.if !empty(_cache_deps) +_cache_script += for x in ${_cache_deps}; do echo " _{SRCTOP}/$$x \\"; done; +.endif +x!= echo; { echo; ${_cache_script} echo; echo '${_this_dir}.$m: $${DIRDEPS.${_this_dir}.$m}'; \ + echo; echo 'dirdeps: ${_this_dir}.$m \'; \ + for x in ${_cache_xtra_deps}; do echo " _{SRCTOP}/$$x \\"; done; \ + echo; for x in ${_new_dirdeps}; do echo "_{SRCTOP}/$$x: _DIRDEP_USE"; done; } >&3 +.endif .endif .else ${_this_dir}.$m: ${_build_dirs:M*.$m:N${_this_dir}.$m} diff --git a/share/mk/local.autodep.mk b/share/mk/local.autodep.mk index bc5bfd3e75db..f36fe6b11655 100644 --- a/share/mk/local.autodep.mk +++ b/share/mk/local.autodep.mk @@ -7,10 +7,6 @@ UPDATE_DEPENDFILE= no .endif .endif -NOSSPPICO?= .nossppico -PIEO?= .pieo -OBJ_EXTENSIONS+= ${NOSSPPICO} ${PIEO} - CLEANFILES+= .depend # handy for debugging diff --git a/share/mk/meta.autodep.mk b/share/mk/meta.autodep.mk index 6785d2ebf874..9824570ecc43 100644 --- a/share/mk/meta.autodep.mk +++ b/share/mk/meta.autodep.mk @@ -1,4 +1,6 @@ -# $Id: meta.autodep.mk,v 1.59 2023/08/19 17:35:32 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: meta.autodep.mk,v 1.62 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2010, Simon J. Gerraty @@ -24,16 +26,16 @@ PICO?= .pico .if defined(SRCS) .if ${MAKE_VERSION:U0} >= 20211212 -OBJ_EXTENSIONS += ${.SUFFIXES:M*o} +OBJ_SUFFIXES += ${.SUFFIXES:M*o} .else # it would be nice to be able to query .SUFFIXES -OBJ_EXTENSIONS += .o .po .lo ${PICO} +OBJ_SUFFIXES += .o .po .lo ${PICO} .endif # explicit dependencies help short-circuit .SUFFIX searches SRCS_DEP_FILTER+= N*.[hly] .for s in ${SRCS:${SRCS_DEP_FILTER:O:u:ts:}} -.for e in ${OBJ_EXTENSIONS:O:u} +.for e in ${OBJ_SUFFIXES:O:u} .if !target(${s:T:R}$e) ${s:T:R}$e: $s .endif @@ -190,7 +192,7 @@ DEPEND_SUFFIXES += .c .h .cpp .hpp .cxx .hxx .cc .hh @case "${.MAKE.META.FILES:T:M*.po.*}" in \ *.po.*) mv $@.${.MAKE.PID} $@;; \ *) { cat $@.${.MAKE.PID}; \ - sed ${OBJ_EXTENSIONS:N.o:N.po:@o@-e 's,\$o:,.o:,'@} \ + sed ${OBJ_SUFFIXES:N.o:N.po:@o@-e 's,\$o:,.o:,'@} \ -e 's,\.o:,.po:,' $@.${.MAKE.PID}; } | sort -u > $@; \ rm -f $@.${.MAKE.PID};; \ esac @@ -305,7 +307,7 @@ ${_DEPENDFILE}: .PRECIOUS CLEANFILES += *.meta filemon.* *.db # these make it easy to gather some stats -now_utc = ${%s:L:localtime} +now_utc ?= ${%s:L:localtime} start_utc := ${now_utc} meta_stats= meta=${empty(.MAKE.META.FILES):?0:${.MAKE.META.FILES:[#]}} \ @@ -331,4 +333,6 @@ _reldir_failed: .NOMETA .ERROR: _reldir_failed .endif +.-include + .endif diff --git a/share/mk/meta.stage.mk b/share/mk/meta.stage.mk index 168e46d22a82..345df6aae16b 100644 --- a/share/mk/meta.stage.mk +++ b/share/mk/meta.stage.mk @@ -1,4 +1,6 @@ -# $Id: meta.stage.mk,v 1.67 2023/04/17 01:22:10 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: meta.stage.mk,v 1.69 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2011-2017, Simon J. Gerraty # @@ -212,7 +214,7 @@ stage_files.$s: .dirdep STAGE_FILES ?= ${.ALLSRC:N.dirdep:Nstage_*} stage_files: .dirdep .endif - @${STAGE_FILE_SCRIPT}; StageFiles ${FLAGS.$@} ${STAGE_FILES_DIR.$s:U${STAGE_DIR.$s}:${STAGE_DIR_FILTER}} ${STAGE_FILES.$s:O} + @${STAGE_FILE_SCRIPT}; StageFiles ${FLAGS.$@:U} ${STAGE_FILES_DIR.$s:U${STAGE_DIR.$s}:${STAGE_DIR_FILTER}} ${STAGE_FILES.$s:O} @touch $@ .endif .endif diff --git a/share/mk/meta.subdir.mk b/share/mk/meta.subdir.mk index d9caae4edbcc..e2ece24515a4 100644 --- a/share/mk/meta.subdir.mk +++ b/share/mk/meta.subdir.mk @@ -1,4 +1,6 @@ -# $Id: meta.subdir.mk,v 1.13 2021/01/05 22:24:37 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: meta.subdir.mk,v 1.14 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2010, Simon J. Gerraty diff --git a/share/mk/meta.sys.mk b/share/mk/meta.sys.mk index ba213dd49da4..6e4216ab5383 100644 --- a/share/mk/meta.sys.mk +++ b/share/mk/meta.sys.mk @@ -1,4 +1,6 @@ -# $Id: meta.sys.mk,v 1.51 2023/05/11 20:05:32 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: meta.sys.mk,v 1.54 2024/03/10 15:53:51 sjg Exp $ # # @(#) Copyright (c) 2010-2023, Simon J. Gerraty @@ -82,6 +84,7 @@ META2DEPS := ${META2DEPS} MAKE_PRINT_VAR_ON_ERROR += \ .ERROR_TARGET \ + .ERROR_EXIT \ .ERROR_META_FILE \ .MAKE.LEVEL \ MAKEFILE \ @@ -98,10 +101,13 @@ SB = ${SRCTOP:H} ERROR_LOGDIR ?= ${SB}/error meta_error_log = ${ERROR_LOGDIR}/meta-${.MAKE.PID}.log -# we are not interested in make telling us a failure happened elsewhere .ERROR: _metaError +# We are interested here in the target(s) that caused the build to fail. +# We want to ignore targets that were "aborted" due to failure +# elsewhere per the message below or a sub-make may just exit 6. _metaError: .NOMETA .NOTMAIN - -@[ "${.ERROR_META_FILE}" ] && { \ + -@[ ${.ERROR_EXIT:U0} = 6 ] && exit 0; \ + [ "${.ERROR_META_FILE}" ] && { \ grep -q 'failure has been detected in another branch' ${.ERROR_META_FILE} && exit 0; \ mkdir -p ${meta_error_log:H}; \ cp ${.ERROR_META_FILE} ${meta_error_log}; \ diff --git a/share/mk/meta2deps.py b/share/mk/meta2deps.py index 334a008a2ab5..f188d0f01de8 100755 --- a/share/mk/meta2deps.py +++ b/share/mk/meta2deps.py @@ -36,8 +36,10 @@ We only pay attention to a subset of the information in the """ """ +SPDX-License-Identifier: BSD-2-Clause + RCSid: - $Id: meta2deps.py,v 1.45 2023/01/18 01:35:24 sjg Exp $ + $Id: meta2deps.py,v 1.47 2024/02/17 17:26:57 sjg Exp $ Copyright (c) 2011-2020, Simon J. Gerraty Copyright (c) 2011-2017, Juniper Networks, Inc. @@ -74,8 +76,10 @@ import stat def resolve(path, cwd, last_dir=None, debug=0, debug_out=sys.stderr): """ Return an absolute path, resolving via cwd or last_dir if needed. + + Cleanup any leading ``./`` and trailing ``/.`` """ - if path.endswith('/.'): + while path.endswith('/.'): path = path[0:-2] if len(path) > 0 and path[0] == '/': if os.path.exists(path): @@ -86,7 +90,9 @@ def resolve(path, cwd, last_dir=None, debug=0, debug_out=sys.stderr): if path == '.': return cwd if path.startswith('./'): - return cwd + path[1:] + while path.startswith('./'): + path = path[1:] + return cwd + path if last_dir == cwd: last_dir = None for d in [last_dir, cwd]: @@ -144,6 +150,7 @@ def abspath(path, cwd, last_dir=None, debug=0, debug_out=sys.stderr): return None if (path.find('/') < 0 or path.find('./') > 0 or + path.find('/../') > 0 or path.endswith('/..')): path = cleanpath(path) return path @@ -197,7 +204,7 @@ class MetaFile: def __init__(self, name, conf={}): """if name is set we will parse it now. - conf can have the following keys: + conf can have the follwing keys: SRCTOPS list of tops of the src tree(s). diff --git a/share/mk/meta2deps.sh b/share/mk/meta2deps.sh index 56367e0105f4..4c1b674f7b63 100755 --- a/share/mk/meta2deps.sh +++ b/share/mk/meta2deps.sh @@ -49,10 +49,8 @@ # The output, is a set of absolute paths with "SB" like: #.nf # -# $SB/obj-i386/bsd/gnu/lib/csu -# $SB/obj-i386/bsd/gnu/lib/libgcc # $SB/obj-i386/bsd/include -# $SB/obj-i386/bsd/lib/csu/i386-elf +# $SB/obj-i386/bsd/lib/csu/i386 # $SB/obj-i386/bsd/lib/libc # $SB/src/bsd/include # $SB/src/bsd/sys/i386/include @@ -77,8 +75,10 @@ # RCSid: -# $Id: meta2deps.sh,v 1.20 2023/01/18 01:35:24 sjg Exp $ +# $Id: meta2deps.sh,v 1.21 2024/02/17 17:26:57 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# # Copyright (c) 2010-2013, Juniper Networks, Inc. # All rights reserved. # diff --git a/share/mk/sys.dirdeps.mk b/share/mk/sys.dirdeps.mk index a3d22d7c2e82..1e3363c22339 100644 --- a/share/mk/sys.dirdeps.mk +++ b/share/mk/sys.dirdeps.mk @@ -1,4 +1,6 @@ -# $Id: sys.dirdeps.mk,v 1.12 2023/05/14 16:16:03 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: sys.dirdeps.mk,v 1.14 2024/02/25 19:12:13 sjg Exp $ # # @(#) Copyright (c) 2012-2023, Simon J. Gerraty # @@ -31,9 +33,10 @@ _PARSEDIR ?= ${.PARSEDIR:tA} .if ${.MAKE.LEVEL} == 0 # make sure dirdeps target exists and do it first +# init.mk will set .MAIN to 'dirdeps' if appropriate +# as will dirdeps-targets.mk for top-level builds. +# This allows a Makefile to have more control. dirdeps: -# first .MAIN is what counts -.MAIN: dirdeps .NOPATH: dirdeps all: dirdeps .WAIT .endif From nobody Thu Mar 14 06:03:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwGyH6Ydrz5FG70; Thu, 14 Mar 2024 06:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwGyH66wGz4p7f; Thu, 14 Mar 2024 06:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710396183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eQTZtFRjwk+n4YObgaljR1B/0YGXMc7thYsLvpYY+WQ=; b=dAOMr19hoFvGMMm/s/SiaT/uOXrGXswHaO7hVwqYxKBGSU8UZZNnGuIsXsqTv+yq2zAmKb DETHqrghnxr3gWZE4vrJHclOtUGNM2M78Lwuyca2b7zkC4HpVKlnppIdchj/oGZuTdV8fa fpBERWEHWaPV/ntkePV3GldFbA2MsVPlnqYJQ8Y3pnIF0rJVY7Ze5en2QR3HnRzxMKi5Wr N+8O/iNbF4f3EHzQg57KokhhYoGa1OYJ8DdHfxRLt2y2xOH5hKSkPzDDrxVb2b6Ibe2yWu uqixX1q4TQ4uXhE2lf3b5rQ9iuVWy1+sFOpzXF62raFbexr4W7mxFzWlYEZPvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710396183; a=rsa-sha256; cv=none; b=ungVfo9pjVyXS3fds3vya2hH6Wj3lnSB1ApPZLsLRkdjFd10Kf3yL/IURDl2J6ZHIeSNcM OJ0SfaIi8z00iQbHr8He211Eaxr37NmwB5LVFuAi6L/PT0PFUAyjgD5TMwHqCC87hZloYD 2OtDqXz2dPGwnXTQKAy5DV3wwj9mgiitPHrmpn5r18B1An/dQ7WFFU3eBV/LGriPMsJL5Z ppN8ToHpmZYQDirBBm9GH96DoTD+xmxLOgzGUgbuYuNgyePhbyJg6XKujAwiSSb84fpE9n EavlqlpljYbJC0M9vDOSCFXMZNIcZbFrIAfeusli/VDBFWmOxwTfKj3dVX+fUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710396183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eQTZtFRjwk+n4YObgaljR1B/0YGXMc7thYsLvpYY+WQ=; b=DMGT+Rmy+wAo/9zNYAoDg30/PCRocLUrkyAXgA73vXyhMcpK2vkbNp2HdNDIQWqRC93I0O TK/1Uetrq6CinFTB9Szdlk2zXDUz0XtOZu82/71WdhEjj2jm5QhYzvbVUAabCWM2ROPo+Y hKDaJNaG804uhxJpHlAU8Xn+GBnL2stOaIyXNQK7z34xEjTYS4bfglr5xFW1Ujg/R/ydN4 vkeqP9yUTDUUWHzUeBCfaUwuw4o7w15okZ0THrzSN5x6dLIuQKVE1A8if81v4uYSrVIvmL PxqiPoU9A2eNa5sAB57b5Vi/kt1v+drmgzPAwNDvQ+vopH0bk2vr7LVDEXJFwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwGyH5kHnzG7B; Thu, 14 Mar 2024 06:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42E633ZH070042; Thu, 14 Mar 2024 06:03:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42E63368070040; Thu, 14 Mar 2024 06:03:03 GMT (envelope-from git) Date: Thu, 14 Mar 2024 06:03:03 GMT Message-Id: <202403140603.42E63368070040@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 6a6ec90681cf - main - OpenBSM: Remove $FreeSBD$ tags from the configuration files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a6ec90681cf30eac2512ab96362a35e259fab62 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=6a6ec90681cf30eac2512ab96362a35e259fab62 commit 6a6ec90681cf30eac2512ab96362a35e259fab62 Author: Gordon Bergling AuthorDate: 2024-03-14 06:02:44 +0000 Commit: Gordon Bergling CommitDate: 2024-03-14 06:02:44 +0000 OpenBSM: Remove $FreeSBD$ tags from the configuration files In e61dc6cac4001f1abfc48ee27e4e623c2c044fa8 the configuration files were taken off the vendor branch to help mergemaster comparing them. Since mergemaster will be deprecated and $FreeBSD$ tags aren't used anymore, remove them. While here, sync audit_filter with upstream commit 5e6da76 (typo). Reviewed by: imp Approved by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44318 --- contrib/openbsm/etc/audit_class | 3 --- contrib/openbsm/etc/audit_control | 3 --- contrib/openbsm/etc/audit_event | 5 +---- contrib/openbsm/etc/audit_filter | 3 --- contrib/openbsm/etc/audit_user | 3 --- contrib/openbsm/etc/audit_warn | 3 --- 6 files changed, 1 insertion(+), 19 deletions(-) diff --git a/contrib/openbsm/etc/audit_class b/contrib/openbsm/etc/audit_class index 47868b17d5da..4fdb14efeea0 100644 --- a/contrib/openbsm/etc/audit_class +++ b/contrib/openbsm/etc/audit_class @@ -1,6 +1,3 @@ -# -# $FreeBSD$ -# 0x00000000:no:invalid class 0x00000001:fr:file read 0x00000002:fw:file write diff --git a/contrib/openbsm/etc/audit_control b/contrib/openbsm/etc/audit_control index d71b9a817452..aec726820f1e 100644 --- a/contrib/openbsm/etc/audit_control +++ b/contrib/openbsm/etc/audit_control @@ -1,6 +1,3 @@ -# -# $FreeBSD$ -# dir:/var/audit dist:off flags:lo,aa diff --git a/contrib/openbsm/etc/audit_event b/contrib/openbsm/etc/audit_event index be3557597eee..31b4adc221a6 100644 --- a/contrib/openbsm/etc/audit_event +++ b/contrib/openbsm/etc/audit_event @@ -1,6 +1,3 @@ -# -# $FreeBSD$ -# # The mapping between event identifiers and values is also hard-coded in # audit_kevents.h and audit_uevents.h, so changes must occur in both places, # and programs, such as the kernel, may need to be recompiled to recognize @@ -442,7 +439,7 @@ 43079:AUE_CAPGET:capget(2):pc 43080:AUE_CAPSET:capset(2):pc 43081:AUE_PIVOT_ROOT:pivot_root(2):pc -43082:AUE_RTPRIO::rtprio(2):pc +43082:AUE_RTPRIO:rtprio(2):pc 43083:AUE_SCHED_GETPARAM:sched_getparam(2):ad 43084:AUE_SCHED_SETPARAM:sched_setparam(2):ad 43085:AUE_SCHED_GET_PRIORITY_MAX:sched_get_priority_max(2):ad diff --git a/contrib/openbsm/etc/audit_filter b/contrib/openbsm/etc/audit_filter index d0dc1c0baa5c..8e3fa719d232 100644 --- a/contrib/openbsm/etc/audit_filter +++ b/contrib/openbsm/etc/audit_filter @@ -1,5 +1,2 @@ -# -# $FreeBSD$ -# # modulename:various arguments here # diff --git a/contrib/openbsm/etc/audit_user b/contrib/openbsm/etc/audit_user index 035066228e91..303b0c137efd 100644 --- a/contrib/openbsm/etc/audit_user +++ b/contrib/openbsm/etc/audit_user @@ -1,4 +1 @@ -# -# $FreeBSD$ -# root:lo:no diff --git a/contrib/openbsm/etc/audit_warn b/contrib/openbsm/etc/audit_warn index 4b8498ea4144..8feb0fa4954f 100644 --- a/contrib/openbsm/etc/audit_warn +++ b/contrib/openbsm/etc/audit_warn @@ -1,6 +1,3 @@ #!/bin/sh -# -# $FreeBSD$ -# logger -p security.warning "audit warning: $@" From nobody Thu Mar 14 17:23:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwZ363XQvz5DSNt; Thu, 14 Mar 2024 17:23:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwZ361hDfz4DR3; Thu, 14 Mar 2024 17:23:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710436994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fNbfguqjjfaWuFQaFbo3+YYZZOA/452mUOrIZ03ZGoA=; b=bEn5wbeVwcJ0G34z+6FfzgOBAygY7vzRPBubfAdFP/5ELDINEN7Un5ofgmuQ/dQNc7cBkU 35gjGA6kanbjPbU9+l8Y3hizkcpL3y7Q4WOqH6Uo9dAp3lDTzW/8mJybxbBVDNLwgYhhqR kzuZi9uGFuk3KVS2lnSNnFnkO3IHHkC/lTNhYh1JtlgLAtKtbq+4PrZuR1Z1OR0OUvTKjO Z/JEO52aO2zUEcdNCsoamZye8zcoHLcQG7PM7OTlnJKLMUIESuE23PG6DuOysPxcdcRI9u E/jL9Xi8ncKSPsfQQNcllFHYUeGu3WZ0diUl5ln5Oq1cWwfYpwv66j14i8i8wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710436994; a=rsa-sha256; cv=none; b=X2Us50zeVXKavkQ5Xr29z/KJSdlO3djmt7hVJvv5a8jUODusLjZM+Hk9VMo03Y5uSYreXl 9GR34PuoXkpPJKlzstGqHWxquhN+CmLjCziyuhROVSDJBnPKkdUAxNoZ2tWzREH4F53E4z NdbKe+NEyIC5NfJHyAZiz5co2ANgFGpTdBNKpmXf8CBsu63ux45Wb+LraZvZX6MwiK/BIM MSYyZg8ShxVbdk2eiXgnPtUjrv7JKV208XlSHjd4bqQq7foUQGrvvSkJincIe+5lplNYQT 1ZuJstJPEY0Hw3dJmmeVFz+ToEg7KRmb2nyn1pGGgstKAkYgF14ANjiDNvRJiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710436994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fNbfguqjjfaWuFQaFbo3+YYZZOA/452mUOrIZ03ZGoA=; b=gkdEji7Ye0cvGXF86nKhvjrfyv/9r9WoPb5Uts4M675w2d+qxE5jh/VkMk5kjIfXwlL5LU Q7z0p3HRhANdgUATgq7HQigRVuONc+57ye267C48OPN+d7Zy9xDOY5txBgUUJhEnf1iY1D bYt1xUUfC2e0z/nDycRYRM0K34ggMyXHb76lgP8RdMYuqy/vLr47esi+j9b2GY6TrPpIiG Ax+lucpXbcFkNMKkZpfVQmzvSAcKmzAej/tOjUOKwPZmEnIrdtaj6q1yH+OtEiwC0dqQgv 0C2oUvc/CaPZ6TUG1n0+uKxq/s76CGSiKa1h8ZS7SiGdox6CbAm/lkBcANDd7g== Received: from [IPV6:2601:644:937f:4c50:9159:2009:aff7:887a] (unknown [IPv6:2601:644:937f:4c50:9159:2009:aff7:887a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4TwZ354jkDzMMJ; Thu, 14 Mar 2024 17:23:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <56f538f1-d406-4095-972a-2022d48ffc73@FreeBSD.org> Date: Thu, 14 Mar 2024 10:23:12 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 220ee18f1964 - main - netinet/tcp_var.h: always define IS_FASTOPEN() for kernel compilation env Content-Language: en-US To: Gleb Smirnoff , Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202403132321.42DNLNIX087785@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/13/24 5:24 PM, Gleb Smirnoff wrote: > On Wed, Mar 13, 2024 at 11:21:23PM +0000, Konstantin Belousov wrote: > K> diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h > K> index 6f7f7115c2f4..7b5c57d39213 100644 > K> --- a/sys/netinet/tcp_var.h > K> +++ b/sys/netinet/tcp_var.h > K> @@ -812,11 +812,13 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq ack) > K> #define ENTER_RECOVERY(t_flags) t_flags |= (TF_CONGRECOVERY | TF_FASTRECOVERY) > K> #define EXIT_RECOVERY(t_flags) t_flags &= ~(TF_CONGRECOVERY | TF_FASTRECOVERY) > K> > K> -#if defined(_KERNEL) && !defined(TCP_RFC7413) > K> +#if defined(_KERNEL) > K> +#if !defined(TCP_RFC7413) > K> #define IS_FASTOPEN(t_flags) (false) > K> #else > K> #define IS_FASTOPEN(t_flags) (t_flags & TF_FASTOPEN) > K> #endif > K> +#endif > K> > K> #define BYTES_THIS_ACK(tp, th) (th->th_ack - tp->snd_una) > > I know Konstantin in doing that to clear path for IPSEC changes, and the patch > does improve code. So the message isn't addressed to him, rather it is for > other src-committers. > > Using ifdefs that come from the kernel config inside include files that are not > ephemeral opt_foo.h is laying out a minefield for the future. Best case - for > yourself, worst case - for somebody else. +100 > In the best case this ends in cryptic kernel failure builds, where your custom > kernel doesn't build, but GENERIC builds and it is not clear why. In the worst > case this creates runtime failures even more cryptic in their nature. > > In this particular case TCP_RFC7413 comes via opt_inet.h. Thus, if you got a > userland tool, e.g. netstat(1) using IS_FASTOPEN() it will always be false. > Again, netstat would be a best case. A worst case would be netinet6 kernel > compilation unit that does not include opt_inet.h, but uses IS_FASTOPEN(). > > Other than that, we got 32 flags for t_flags and only one is obfuscated via a > macro. I'd really like to remove the macro and test the flag directly. Any > objections? +1 -- John Baldwin From nobody Thu Mar 14 17:34:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TwZJG0yWvz5DSgY for ; Thu, 14 Mar 2024 17:34:38 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TwZJF63Txz4FfH for ; Thu, 14 Mar 2024 17:34:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5683576ea18so1718885a12.3 for ; Thu, 14 Mar 2024 10:34:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1710437675; x=1711042475; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0xsFrvZFnflqLs9vZ2LdnHyafdvJwRt3mY3Az5BshKg=; b=kaVEwtj4yFYq6lIsua2B47pABIXQeU1BLd5h73zUFDKMN2KIJPZ1LZFqzncyKPi1zA fXJ4Ap4C7mV7Ax8wLakQk7L4WZEOZ3SNyH6gm48MUGRAT0UgzQlEo+xED513vJOFZWeJ 5+inQp6Km4MVVL3UmIPt6+SxorMG5u0ljVkOsuq0ZGUG9kMFeglXs52XYy1m4l/nIh8Q Av7bUToYZhMfJ0sGo2roku4//SSVWHxu42RrHP3I+qdIfl7X2Cz9iN4BLY4al5+/4sYg hzZTVAM3azIXm/p9x/0W56tQjqTE9Msr7JDQEX/aRvBr4sFVb6RyVH3TLJUaAzyVh/Hp xp9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710437675; x=1711042475; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0xsFrvZFnflqLs9vZ2LdnHyafdvJwRt3mY3Az5BshKg=; b=StDgLnArTo8q8AZOX8kWegXg9hoefV+huUT/Z1eRWE9K84Jam/2teAgQh1QBeAKO3c rJuQBtyMy8Z9O4EE4bQNJcvDWBM+HRmXEIh8KFzGYIaLkpooOXThuwT9gmIAh85E0J2p qIkdwjW4ktD2Yw52gQHgLKqanSxp3mw4qzYIOPMrsXhNpCzk0ETLWdJXItAj7J+8xRvG 3SWTw0xnNpir7X4F3vbBMT6oUEF8++v+3p2+al5Rr6aR0IordWiXfhDfmewH5qLB6a46 MAFBLs5tswnrdSU9Gw3sGlOY7DAddgDkCIxN1guXsaXfCUkpjbMtnRpR6hqgapUwlwYk fu0g== X-Forwarded-Encrypted: i=1; AJvYcCUpQOhckvb05XN4VSAAazQzRTMLeeLYXxOOoI/Qojr68TMZ4lFCNzd3+oX47Z91/5uhv0t50KvosXEnsgHPMoZR7MMYu0TfAp8yMzaIEw7mfQ== X-Gm-Message-State: AOJu0YwhsO9/HOhIybfjcBFmxJ0guBgU+OBogEyHglNrf0inWPoFblbN sUI/hX09iA91Nx+Pj70ci+U/rzUIe7qF75vQDAz7hJXgE0YozdBmTookh+17OzCWdf5dKMfZWv/ FrA+jwYy3tX2YKpylEKZiQHHK7l3QA2A7Wx0e5w== X-Google-Smtp-Source: AGHT+IEo/4DceIPZebvupagBXLp7XNqngudFw+dXck5et26R3gDpeZ7JF6mzu60lgUbhdEeXKkwS0UM4co0FM5LcAFY= X-Received: by 2002:a17:906:f145:b0:a45:f352:73b0 with SMTP id gw5-20020a170906f14500b00a45f35273b0mr1720262ejb.65.1710437674773; Thu, 14 Mar 2024 10:34:34 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202403132321.42DNLNIX087785@gitrepo.freebsd.org> <56f538f1-d406-4095-972a-2022d48ffc73@FreeBSD.org> In-Reply-To: <56f538f1-d406-4095-972a-2022d48ffc73@FreeBSD.org> From: Warner Losh Date: Thu, 14 Mar 2024 11:34:23 -0600 Message-ID: Subject: Re: git: 220ee18f1964 - main - netinet/tcp_var.h: always define IS_FASTOPEN() for kernel compilation env To: John Baldwin Cc: Gleb Smirnoff , Konstantin Belousov , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000040c370613a24e5b" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4TwZJF63Txz4FfH --000000000000040c370613a24e5b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 14, 2024 at 11:23=E2=80=AFAM John Baldwin wro= te: > On 3/13/24 5:24 PM, Gleb Smirnoff wrote: > > On Wed, Mar 13, 2024 at 11:21:23PM +0000, Konstantin Belousov wrote: > > K> diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h > > K> index 6f7f7115c2f4..7b5c57d39213 100644 > > K> --- a/sys/netinet/tcp_var.h > > K> +++ b/sys/netinet/tcp_var.h > > K> @@ -812,11 +812,13 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp_seq > ack) > > K> #define ENTER_RECOVERY(t_flags) t_flags |=3D (TF_CONGRECOVERY | > TF_FASTRECOVERY) > > K> #define EXIT_RECOVERY(t_flags) t_flags &=3D ~(TF_CONGRECOVERY | > TF_FASTRECOVERY) > > K> > > K> -#if defined(_KERNEL) && !defined(TCP_RFC7413) > > K> +#if defined(_KERNEL) > > K> +#if !defined(TCP_RFC7413) > > K> #define IS_FASTOPEN(t_flags) (false) > > K> #else > > K> #define IS_FASTOPEN(t_flags) (t_flags & TF_FASTOPEN) > > K> #endif > > K> +#endif > > K> > > K> #define BYTES_THIS_ACK(tp, th) (th->th_ack - tp->snd_una) > > > > I know Konstantin in doing that to clear path for IPSEC changes, and th= e > patch > > does improve code. So the message isn't addressed to him, rather it is > for > > other src-committers. > > > > Using ifdefs that come from the kernel config inside include files that > are not > > ephemeral opt_foo.h is laying out a minefield for the future. Best case > - for > > yourself, worst case - for somebody else. > > +100 > +100 as well. I can't tell you how many times I've been burned by this, had to mop up for it after the fact, etc over the years. > > In the best case this ends in cryptic kernel failure builds, where your > custom > > kernel doesn't build, but GENERIC builds and it is not clear why. In th= e > worst > > case this creates runtime failures even more cryptic in their nature. > > > > In this particular case TCP_RFC7413 comes via opt_inet.h. Thus, if you > got a > > userland tool, e.g. netstat(1) using IS_FASTOPEN() it will always be > false. > > Again, netstat would be a best case. A worst case would be netinet6 > kernel > > compilation unit that does not include opt_inet.h, but uses > IS_FASTOPEN(). > > > > Other than that, we got 32 flags for t_flags and only one is obfuscated > via a > > macro. I'd really like to remove the macro and test the flag directly. > Any > > objections? > > +1 > Yea, this macro isn't that special, and there's no good reason from looking at the code it should get such special treatment. Warner --000000000000040c370613a24e5b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Mar 14, 2024 at 11:23=E2=80= =AFAM John Baldwin <jhb@freebsd.org> wrote:
On= 3/13/24 5:24 PM, Gleb Smirnoff wrote:
> On Wed, Mar 13, 2024 at 11:21:23PM +0000, Konstantin Belousov wrote: > K> diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
> K> index 6f7f7115c2f4..7b5c57d39213 100644
> K> --- a/sys/netinet/tcp_var.h
> K> +++ b/sys/netinet/tcp_var.h
> K> @@ -812,11 +812,13 @@ tcp_packets_this_ack(struct tcpcb *tp, tcp= _seq ack)
> K>=C2=A0 #define=C2=A0 =C2=A0ENTER_RECOVERY(t_flags) t_flags |=3D (= TF_CONGRECOVERY | TF_FASTRECOVERY)
> K>=C2=A0 #define=C2=A0 =C2=A0EXIT_RECOVERY(t_flags) t_flags &= =3D ~(TF_CONGRECOVERY | TF_FASTRECOVERY)
> K>
> K> -#if defined(_KERNEL) && !defined(TCP_RFC7413)
> K> +#if defined(_KERNEL)
> K> +#if !defined(TCP_RFC7413)
> K>=C2=A0 #define=C2=A0 =C2=A0IS_FASTOPEN(t_flags)=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 (false)
> K>=C2=A0 #else
> K>=C2=A0 #define=C2=A0 =C2=A0IS_FASTOPEN(t_flags)=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 (t_flags & TF_FASTOPEN)
> K>=C2=A0 #endif
> K> +#endif
> K>
> K>=C2=A0 #define=C2=A0 =C2=A0BYTES_THIS_ACK(tp, th)=C2=A0 (th->t= h_ack - tp->snd_una)
>
> I know Konstantin in doing that to clear path for IPSEC changes, and t= he patch
> does improve code.=C2=A0 So the message isn't addressed to him, ra= ther it is for
> other src-committers.
>
> Using ifdefs that come from the kernel config inside include files tha= t are not
> ephemeral opt_foo.h is laying out a minefield for the future. Best cas= e - for
> yourself, worst case - for somebody else.

+100

> In the best case this ends in cryptic kernel failure builds, where you= r custom
> kernel doesn't build, but GENERIC builds and it is not clear why. = In the worst
> case this creates runtime failures even more cryptic in their nature.<= br> >
> In this particular case TCP_RFC7413 comes via opt_inet.h.=C2=A0 Thus, = if you got a
> userland tool, e.g. netstat(1) using IS_FASTOPEN() it will always be f= alse.
> Again, netstat would be a best case.=C2=A0 A worst case would be netin= et6 kernel
> compilation unit that does not include opt_inet.h, but uses IS_FASTOPE= N().
>
> Other than that, we got 32 flags for t_flags and only one is obfuscate= d via a
> macro.=C2=A0 I'd really like to remove the macro and test the flag= directly.=C2=A0 Any
> objections?

+1


--000000000000040c370613a24e5b-- From nobody Fri Mar 15 00:36:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Twlgb0cb7z5DwHk; Fri, 15 Mar 2024 00:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Twlgb0541z42lw; Fri, 15 Mar 2024 00:36:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710463019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nqfeskq4URHlxAsYFr+IThMzMMtt8adOj7ZVZ9SNWU8=; b=ymw0W7pXb7WKAh/MN/AiYV2vNhCFJHy+96M4OxDoXsLqPt0o62E8ZwiU66xWmjvw1x7+/V 6PhI4mdpUwurCAhu4fPxJInafoO9Ip/7Z781ZEBJ7KOxM3PyVYoGhln4Yu7418LG+/bsRA 0lB4UFiIWsh2TIfvvJLZz0YCAAoNyFcCPis0ozK3016S/he4BkiE2eVzqN3TQKIxacoORa AyUKnD+0Ib4ou3M3AyVWOFf6ns0WGouYoB6ufacqxVZo18t5ipsbMDp3/ZQMed8TN12yrV PRvaX9qmmb2juFry2goBIZr1WM2oHF6MDbyUwNFE/aGfySYksadjWiKEVGZFSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710463019; a=rsa-sha256; cv=none; b=mXRdnkSIP1wOzce+IXboOvpbNZQoYYwmJn5tAKyNuljoGuEYtcvgiiSoikKyjtzlqY/mj2 t6b7gw7O6g7fTPd/SojnoO092nSxovQsg4i3dpYCm4g7gyrVR8wnG4ds6wqGJrqfnMtmpy f4UA6LksABNhOqrZdpWnJiFm4XYtpBvmY64IeJh5j0e8S2z7zqa27toN7jxlaWDxeNwv1Q xl8EibHoDsTcCSJWnimSBDPbDtSeAp2t4a5P9JTc7g3UFdqyjJOrTOp8VOj8inpjftIKgv r8YOtCiqgGPumHdAqWFCGvy0D1BbRI0HcF0Uoy+Thygi2vQG1TdwBTNBQOaCKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710463019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nqfeskq4URHlxAsYFr+IThMzMMtt8adOj7ZVZ9SNWU8=; b=c3oO6ssojfLSyqNu3PDPlsYvAdTlWYfteyiWsjUAAMhRFcgmNhU92Tn7tuxEhl07WJyIYc MKWci24w4HfJGCsdrk5uO59XQ1nUXFjBooIQgphSVFYPmj08OFM3XSLf2sM2hf8CwyegY1 kHGxVQutArbVhMu1YZu1VvtzMdLfhLXIGk9XeNoiNBVuH6P34Cd4DbqJ0KElvWmppGZYWN fgNQC1bneGWL3DEVSc2MY/Omq+YazDjBCQYivoDMvPayxrsmLfuznUkNgdnoBAFJKWuz8S QP+kLgpOoAZWF8avKjEUAcMcM/856ag6xpP2Fd+1QMFz53Z7ixS7ZFEmMByMSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TwlgZ6hGJzpvw; Fri, 15 Mar 2024 00:36:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42F0awod044198; Fri, 15 Mar 2024 00:36:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42F0awkj044196; Fri, 15 Mar 2024 00:36:58 GMT (envelope-from git) Date: Fri, 15 Mar 2024 00:36:58 GMT Message-Id: <202403150036.42F0awkj044196@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 89f1dcb3eb46 - main - vfs_vnops.c: Use va_bytes >= va_size hint to avoid SEEK_DATA/SEEKHOLE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89f1dcb3eb468e4cbaebd1ccde9a643d85f1282e Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=89f1dcb3eb468e4cbaebd1ccde9a643d85f1282e commit 89f1dcb3eb468e4cbaebd1ccde9a643d85f1282e Author: Rick Macklem AuthorDate: 2024-03-15 00:35:32 +0000 Commit: Rick Macklem CommitDate: 2024-03-15 00:35:32 +0000 vfs_vnops.c: Use va_bytes >= va_size hint to avoid SEEK_DATA/SEEKHOLE vn_generic_copy_file_range() tries to maintain holes in file ranges being copied, using SEEK_DATA/SEEK_HOLE where possible, Unfortunately SEEK_DATA/SEEK_HOLE operations can take a long time under certain circumstances. Although it is not currently possible to know if a file has unallocated data regions, the case where va_bytes >= va_size is a strong hint that there are no unallocated data regions. This hint does not work well for file systems doing compression, but since it is only a hint, it is still useful. For the case of va_bytes >= va_size, avoid doing SEEK_DATA/SEEK_HOLE. Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D44509 --- sys/kern/vfs_vnops.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index fd78b692b088..d79707555ac1 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3334,14 +3334,15 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, off_t *outoffp, size_t *lenp, unsigned int flags, struct ucred *incred, struct ucred *outcred, struct thread *fsize_td) { + struct vattr inva; struct mount *mp; off_t startoff, endoff, xfer, xfer2; u_long blksize; int error, interrupted; - bool cantseek, readzeros, eof, lastblock, holetoeof; + bool cantseek, readzeros, eof, lastblock, holetoeof, sparse; ssize_t aresid, r = 0; size_t copylen, len, savlen; - off_t insize, outsize; + off_t outsize; char *dat; long holein, holeout; struct timespec curts, endts; @@ -3357,11 +3358,26 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, goto out; if (VOP_PATHCONF(invp, _PC_MIN_HOLE_SIZE, &holein) != 0) holein = 0; - error = vn_getsize_locked(invp, &insize, incred); + error = VOP_GETATTR(invp, &inva, incred); + if (error == 0 && inva.va_size > OFF_MAX) + error = EFBIG; VOP_UNLOCK(invp); if (error != 0) goto out; + /* + * Use va_bytes >= va_size as a hint that the file does not have + * sufficient holes to justify the overhead of doing FIOSEEKHOLE. + * This hint does not work well for file systems doing compression + * and may fail when allocations for extended attributes increases + * the value of va_bytes to >= va_size. + */ + sparse = true; + if (holein != 0 && inva.va_bytes >= inva.va_size) { + holein = 0; + sparse = false; + } + mp = NULL; error = vn_start_write(outvp, &mp, V_WAIT); if (error == 0) @@ -3395,9 +3411,9 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, error = vn_getsize_locked(outvp, &outsize, outcred); if (error == 0 && outsize > *outoffp && *outoffp <= OFF_MAX - len && outsize <= *outoffp + len && - *inoffp < insize && - *outoffp <= OFF_MAX - (insize - *inoffp) && - outsize <= *outoffp + (insize - *inoffp)) { + *inoffp < inva.va_size && + *outoffp <= OFF_MAX - (inva.va_size - *inoffp) && + outsize <= *outoffp + (inva.va_size - *inoffp)) { #ifdef MAC error = mac_vnode_check_write(curthread->td_ucred, outcred, outvp); @@ -3415,7 +3431,7 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, if (error != 0) goto out; - if (holein == 0 && holeout > 0) { + if (sparse && holein == 0 && holeout > 0) { /* * For this special case, the input data will be scanned * for blocks of all 0 bytes. For these blocks, the @@ -3486,7 +3502,7 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, error = VOP_IOCTL(invp, FIOSEEKDATA, &startoff, 0, incred, curthread); if (error == ENXIO) { - startoff = endoff = insize; + startoff = endoff = inva.va_size; eof = holetoeof = true; error = 0; } @@ -3549,6 +3565,8 @@ vn_generic_copy_file_range(struct vnode *invp, off_t *inoffp, cantseek = false; } else { cantseek = true; + if (!sparse) + cantseek = false; startoff = *inoffp; copylen = len; error = 0; From nobody Fri Mar 15 01:25:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Twmlz2Qfkz5F0QK; Fri, 15 Mar 2024 01:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Twmlz1wm7z478T; Fri, 15 Mar 2024 01:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710465951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kd5frK3YffxEvHN9C/FozSpVLLUfaWt+r6aHQUEmqu4=; b=Ixg25t1yCp1i9PYl/OjQsRUoZanvVJ665H9Xer0X0f92k37Pz734QAFhjXKy4cnTmGvlk5 Om548HNk7U2vWyg3a5CrxauGrllJ6USD/eSsKjYkSkDjDlvQa/oKwhMvXpQZ593AZEcfzT Qq00QZl74aIrfGpxIAb+25W4GIQNLf8Qt8dg4inMHSlFV0CY7Khd2vQAmRvsCFMjgvJ0tU JW5j9fPK7OqVKHm9XWlrJM0vitrpLWFhPFWZtkLBEVVM6FfK0V34mHl4nhc0LMLf9b6HGr XeJSrC2iEoZa34HnLLiwu9PQOgx4QXIXHtgpHGQVOM5anr5ZByxUlqvbjpLDxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710465951; a=rsa-sha256; cv=none; b=DfeeidtHBegRaAFLEt8KFd92KF8rS9xyRpVVAMenIhcdq9yFmtL/bCEnpNRjEjkibjzDwu F2Vhamm+7X68wUKRkOA/7goe2+5qHc4oeDG5WlfD87hcjjYzvr0rHAJTcMAI22w82mhhNy uhxrwKsnENvHrgkR040fkQF4wIPVesalvUrAukEkvBahpV+WoJMxMwouZJnqLfECJ8jHTd bjggbmpjmfuEIGZpMrgaFeTQdChT7Cf4YQDKuIhZbnsgOV2icaUbV0uZSlM4LoTubRiiWe uUtFE1cd9sDJIEdWKj6bjZbiPq0PDGGzxwI9x25mfYYDHZPJWnXHYfJe/05DaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710465951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kd5frK3YffxEvHN9C/FozSpVLLUfaWt+r6aHQUEmqu4=; b=T5zSt0Ju1smUaL3FKxN453raBTgxO+9ajctjsyVCsup+yxjUl91Hh9glrA0aiVhi+2rWQk AhOzetkbYjAaAee9DOYtOKBFkiFxwwckim1y2fnV93phK2zJFq1ZxzkYzn+Xa5DS5lmrFZ /28leBx/QCDczti6+oR7CVVCBYpn3q+aBuQg6rS5z75HPqXJxiYxk3EzOmnP314Jww3Yez GlAt7jQ4KvcHR/DISZUI0Z2OGNXAohEJH1mXVT7JZrybb1V4n7u8GQuXyzU1hthOO0STIl LGBnP1VyIZD3BGQwUdolv+HMQIGdrnDaWvRU352fYMtXdBtrhPhJtEtMM4mFTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Twmlz1XG8zrTJ; Fri, 15 Mar 2024 01:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42F1PpwH028446; Fri, 15 Mar 2024 01:25:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42F1PpGr028443; Fri, 15 Mar 2024 01:25:51 GMT (envelope-from git) Date: Fri, 15 Mar 2024 01:25:51 GMT Message-Id: <202403150125.42F1PpGr028443@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 3705d679a634 - main - if_wg: use proper barriers around pkt->p_state List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3705d679a6344c957cae7a1b6372a8bfb8c44f0e Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=3705d679a6344c957cae7a1b6372a8bfb8c44f0e commit 3705d679a6344c957cae7a1b6372a8bfb8c44f0e Author: Kyle Evans AuthorDate: 2024-03-15 01:19:18 +0000 Commit: Kyle Evans CommitDate: 2024-03-15 01:19:21 +0000 if_wg: use proper barriers around pkt->p_state Without appropriate load-synchronization to pair with store barriers in wg_encrypt() and wg_decrypt(), the compiler and hardware are often allowed to reorder these loads in wg_deliver_out() and wg_deliver_in() such that we end up with a garbage or intermediate mbuf that we try to pass on. The issue is particularly prevalent with the weaker memory models of !x86 platforms. Switch from the big-hammer wmb() to more explicit acq/rel atomics to both make it obvious what we're syncing up with, and to avoid somewhat hefty fences on platforms that don't necessarily need this. With this patch, my dual-iperf3 reproducer is dramatically more stable than it is without on aarch64. PR: 264115 MFC after: 1 week Reviewed by: andrew, zlei Differential Revision: https://reviews.freebsd.org/D44283 --- sys/dev/wg/if_wg.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index c7649e2b4059..42c426ac1819 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -1517,8 +1517,7 @@ wg_encrypt(struct wg_softc *sc, struct wg_packet *pkt) state = WG_PACKET_CRYPTED; out: pkt->p_mbuf = m; - wmb(); - pkt->p_state = state; + atomic_store_rel_int(&pkt->p_state, state); GROUPTASK_ENQUEUE(&peer->p_send); noise_remote_put(remote); } @@ -1590,8 +1589,7 @@ wg_decrypt(struct wg_softc *sc, struct wg_packet *pkt) state = WG_PACKET_CRYPTED; out: pkt->p_mbuf = m; - wmb(); - pkt->p_state = state; + atomic_store_rel_int(&pkt->p_state, state); GROUPTASK_ENQUEUE(&peer->p_recv); noise_remote_put(remote); } @@ -1647,7 +1645,7 @@ wg_deliver_out(struct wg_peer *peer) wg_peer_get_endpoint(peer, &endpoint); while ((pkt = wg_queue_dequeue_serial(&peer->p_encrypt_serial)) != NULL) { - if (pkt->p_state != WG_PACKET_CRYPTED) + if (atomic_load_acq_int(&pkt->p_state) != WG_PACKET_CRYPTED) goto error; m = pkt->p_mbuf; @@ -1689,7 +1687,7 @@ wg_deliver_in(struct wg_peer *peer) struct epoch_tracker et; while ((pkt = wg_queue_dequeue_serial(&peer->p_decrypt_serial)) != NULL) { - if (pkt->p_state != WG_PACKET_CRYPTED) + if (atomic_load_acq_int(&pkt->p_state) != WG_PACKET_CRYPTED) goto error; m = pkt->p_mbuf; From nobody Fri Mar 15 08:22:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Twy1G4tY2z5Ct2D; Fri, 15 Mar 2024 08:22:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Twy1G3XSwz4lww; Fri, 15 Mar 2024 08:22:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710490978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=khUh1DnpFYzDByMM74qBLTHLVAjyqZQSlhsRvvbN308=; b=kWsp2HGkroZQe6Mhs03XHZns2NcRkLam08mfLsilAp3Gkh3DrLCQg3W0flmCMW/hb5CHWc xwya0hBJJuVEBdqjZFlaIFRZg/30LZm1LttI7v5CtORp80B/zGpGhbweX9bDJzlbeyWLe8 tUWP9ypWoqO19aJSsingOIkEJZEkZ9qtrok13ROzt9su/mXNQh9qN4V67a2C6Dkmr/Sltg pXeKK2UBuQ7JHBKYHqpQPz5odncf1suDvZC+s++JeYcpKi5BRr2alcRBrqKUr3N/QWF24m zGS2f5EOX3UBYGhxgHC/2rn63qbMGEj1+uldHh/z8G8UjKb4ETwgQy+b28oSQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710490978; a=rsa-sha256; cv=none; b=lHyS5yUZksKn/YX+Mh7yEU4+BxIZFYMfLr0Lr4+CKCPk/dOacD0maPUrEYL3TyNcWGtqYt Qo9FMNGGW4V+XApmztxKBohWiX4eDZWd/RBxggqgbvmFIJcWvUvo8PQq8YafiDfvb90NMJ 6hAf2btekwQ0w7yD3E6CmqbPJhUA9SNIsSwwKlZZazdj9HiqklAmMXqrHEqDZkejviSJ/f +l2JfPi85QGKQhDy/YlIVW/nd1KCqZAEHpEsLRi9BDOn/kh2/fBbktf9HnY7S/XXpIKFlb vwt31DcXSWCMMnKOs4tXh+PDaEikdK5AbBT6DChqnngwZlfCGzC9+ZjBmVXIUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710490978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=khUh1DnpFYzDByMM74qBLTHLVAjyqZQSlhsRvvbN308=; b=gosbilEtv1qcGQ6X6DpilHKrcT/N9teU07fOjXJrNtaoDDZ5+cS9CK2oZUUWE0ZC9oAAgB Cj7GG3FvL0btw+RatX4Q6Ftxxp4Boufp5uCvfC4+zV8DTvIb37QpPb07h+Wc0w6cYC5N3r m38QWWg9AsE3f1wC+B9IEW1ysweXsaQBgPWc0d7Cr530bxgzVa1muUcolit0AXVysArLWU aIA5DAoRwqKdsq9w9BhV4EMpOR9SKL9zeP0zONbAlHlB+PEy9wbJdhN8ryHgGaeA00efdh JIfNR5DsEVSyIpxNt8qhszrFgOdyU6hJ0gx5mzfZl5m1sh3b8In3UmrePE4HdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Twy1G37w7z13pm; Fri, 15 Mar 2024 08:22:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42F8Mw0v037873; Fri, 15 Mar 2024 08:22:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42F8Mwie037870; Fri, 15 Mar 2024 08:22:58 GMT (envelope-from git) Date: Fri, 15 Mar 2024 08:22:58 GMT Message-Id: <202403150822.42F8Mwie037870@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: a42d6f76018e - main - nuageinit: add basic support for cloudinit. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a42d6f76018e4ed8324e319ab48aac904bda437c Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=a42d6f76018e4ed8324e319ab48aac904bda437c commit a42d6f76018e4ed8324e319ab48aac904bda437c Author: Baptiste Daroussin AuthorDate: 2022-11-23 19:00:39 +0000 Commit: Baptiste Daroussin CommitDate: 2024-03-15 08:22:16 +0000 nuageinit: add basic support for cloudinit. this is a very early script to support cloudinit, it does not intend to be a full featured cloudinit client, but will support a good enough subset to be viable in most case. It support nocloud and openstack config-2 config drive mode (iso9660 or msdosfs) The following features are currently supported: - adding users (including a default user named 'freebsd' with password 'freebsd' - adding groups - adding ssh keys - static ipv4, static ipv6, dynamic ipv4 With this one is able to use the 'bring your own image feature" out of box. It is expected that the script grows the support of other clouds supporting cloud-init, contributions are welcomed. It is designed to be only run once via the firstboot mecanism. Sponsored by: OVHCloud MFC After: 3 weeks Differential Revision: https://reviews.freebsd.org/D44141 --- libexec/Makefile | 5 + libexec/nuageinit/Makefile | 11 + libexec/nuageinit/nuage.lua | 214 +++++++++++ libexec/nuageinit/nuageinit | 312 ++++++++++++++++ libexec/nuageinit/tests/Makefile | 13 + libexec/nuageinit/tests/addgroup.lua | 15 + libexec/nuageinit/tests/addsshkey.lua | 2 + libexec/nuageinit/tests/adduser.lua | 15 + libexec/nuageinit/tests/dirname.lua | 8 + libexec/nuageinit/tests/err.lua | 4 + libexec/nuageinit/tests/nuage.sh | 52 +++ libexec/nuageinit/tests/nuageinit.sh | 338 ++++++++++++++++++ libexec/nuageinit/tests/sethostname.lua | 4 + libexec/nuageinit/tests/utils.sh | 21 ++ libexec/nuageinit/tests/warn.lua | 4 + libexec/nuageinit/yaml.lua | 586 +++++++++++++++++++++++++++++++ libexec/rc/rc.d/Makefile | 6 + libexec/rc/rc.d/nuageinit | 67 ++++ share/mk/src.opts.mk | 1 + tools/build/mk/OptionalObsoleteFiles.inc | 21 ++ tools/build/options/WITHOUT_NUAGEINIT | 1 + 21 files changed, 1700 insertions(+) diff --git a/libexec/Makefile b/libexec/Makefile index ee354fa60e79..8287690eeb3c 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -27,6 +27,7 @@ SUBDIR= ${_atf} \ ${_rshd} \ ${_rtld-elf} \ save-entropy \ + ${_nuageinit} \ ${_smrsh} \ ${_tests} \ ${_tftp-proxy} \ @@ -119,6 +120,10 @@ _atf= atf _tests= tests .endif +.if ${MK_NUAGEINIT} != "no" +_nuageinit= nuageinit +.endif + .include .include diff --git a/libexec/nuageinit/Makefile b/libexec/nuageinit/Makefile new file mode 100644 index 000000000000..64c5ec316f3d --- /dev/null +++ b/libexec/nuageinit/Makefile @@ -0,0 +1,11 @@ +PACKAGE= nuageinit +SCRIPTS= nuageinit +FILES= nuage.lua yaml.lua +FILESDIR= ${SHAREDIR}/flua + +.include + +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + +.include diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua new file mode 100644 index 000000000000..55486ae2b122 --- /dev/null +++ b/libexec/nuageinit/nuage.lua @@ -0,0 +1,214 @@ +-- SPDX-License-Identifier: BSD-2-Clause +-- +-- Copyright(c) 2022 Baptiste Daroussin + +local pu = require("posix.unistd") + +local function warnmsg(str) + io.stderr:write(str.."\n") +end + +local function errmsg(str) + io.stderr:write(str.."\n") + os.exit(1) +end + +local function dirname(oldpath) + if not oldpath then + return nil + end + local path = oldpath:gsub("[^/]+/*$", "") + if path == "" then + return nil + end + return path +end + +local function mkdir_p(path) + if lfs.attributes(path, "mode") ~= nil then + return true + end + local r,err = mkdir_p(dirname(path)) + if not r then + return nil,err.." (creating "..path..")" + end + return lfs.mkdir(path) +end + +local function sethostname(hostname) + if hostname == nil then return end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + if not root then + root = "" + end + local hostnamepath = root .. "/etc/rc.conf.d/hostname" + + mkdir_p(dirname(hostnamepath)) + local f,err = io.open(hostnamepath, "w") + if not f then + warnmsg("Impossible to open "..hostnamepath .. ":" ..err) + return + end + f:write("hostname=\""..hostname.."\"\n") + f:close() +end + +local function splitlist(list) + local ret = {} + if type(list) == "string" then + for str in list:gmatch("([^, ]+)") do + ret[#ret + 1] = str + end + elseif type(list) == "table" then + ret = list + else + warnmsg("Invalid type ".. type(list) ..", expecting table or string") + end + return ret +end + +local function adduser(pwd) + if (type(pwd) ~= "table") then + warnmsg("Argument should be a table") + return nil + end + local f = io.popen("getent passwd "..pwd.name) + local pwdstr = f:read("*a") + f:close() + if pwdstr:len() ~= 0 then + return pwdstr:match("%a+:.+:%d+:%d+:.*:(.*):.*") + end + if not pwd.gecos then + pwd.gecos = pwd.name .. " User" + end + if not pwd.home then + pwd.home = "/home/" .. pwd.name + end + local extraargs="" + if pwd.groups then + local list = splitlist(pwd.groups) + extraargs = " -G ".. table.concat(list, ',') + end + -- pw will automatically create a group named after the username + -- do not add a -g option in this case + if pwd.primary_group and pwd.primary_group ~= pwd.name then + extraargs = extraargs .. " -g " .. pwd.primary_group + end + if not pwd.no_create_home then + extraargs = extraargs .. " -m " + end + if not pwd.shell then + pwd.shell = "/bin/sh" + end + local precmd = "" + local postcmd = "" + if pwd.passwd then + precmd = "echo "..pwd.passwd .. "| " + postcmd = " -H 0 " + elseif pwd.plain_text_passwd then + precmd = "echo "..pwd.plain_text_passwd .. "| " + postcmd = " -H 0 " + end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + local cmd = precmd .. "pw " + if root then + cmd = cmd .. "-R " .. root .. " " + end + cmd = cmd .. "useradd -n ".. pwd.name .. " -M 0755 -w none " + cmd = cmd .. extraargs .. " -c '".. pwd.gecos + cmd = cmd .. "' -d '" .. pwd.home .. "' -s "..pwd.shell .. postcmd + + local r = os.execute(cmd) + if not r then + warnmsg("nuageinit: fail to add user "..pwd.name); + warnmsg(cmd) + return nil + end + if pwd.locked then + cmd = "pw " + if root then + cmd = cmd .. "-R " .. root .. " " + end + cmd = cmd .. "lock " .. pwd.name + os.execute(cmd) + end + return pwd.home +end + +local function addgroup(grp) + if (type(grp) ~= "table") then + warnmsg("Argument should be a table") + return false + end + local f = io.popen("getent group "..grp.name) + local grpstr = f:read("*a") + f:close() + if grpstr:len() ~= 0 then + return true + end + local extraargs = "" + if grp.members then + local list = splitlist(grp.members) + extraargs = " -M " .. table.concat(list, ',') + end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + local cmd = "pw " + if root then + cmd = cmd .. "-R " .. root .. " " + end + cmd = cmd .. "groupadd -n ".. grp.name .. extraargs + local r = os.execute(cmd) + if not r then + warnmsg("nuageinit: fail to add group ".. grp.name); + warnmsg(cmd) + return false + end + return true +end + +local function addsshkey(homedir, key) + local chownak = false + local chowndotssh = false + local ak_path = homedir .. "/.ssh/authorized_keys" + local dotssh_path = homedir .. "/.ssh" + local dirattrs = lfs.attributes(ak_path) + if dirattrs == nil then + chownak = true + dirattrs = lfs.attributes(dotssh_path) + if dirattrs == nil then + if not lfs.mkdir(dotssh_path) then + warnmsg("nuageinit: impossible to create ".. dotssh_path) + return + end + chowndotssh = true + dirattrs = lfs.attributes(homedir) + end + end + + local f = io.open(ak_path, "a") + if not f then + warnmsg("nuageinit: impossible to open "..ak_path) + return + end + f:write(key .. "\n") + f:close() + if chownak then + pu.chown(ak_path, dirattrs.uid, dirattrs.gid) + end + if chowndotssh then + pu.chown(dotssh_path, dirattrs.uid, dirattrs.gid) + end +end + +local n = { + warn = warnmsg, + err = errmsg, + sethostname = sethostname, + adduser = adduser, + addgroup = addgroup, + addsshkey = addsshkey, + dirname = dirname, + mkdir_p = mkdir_p, +} + +return n diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit new file mode 100755 index 000000000000..08224061d1b1 --- /dev/null +++ b/libexec/nuageinit/nuageinit @@ -0,0 +1,312 @@ +#!/usr/libexec/flua + +-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD +-- +-- Copyright(c) 2022 Baptiste Daroussin + +local nuage = require("nuage") +local yaml = require("yaml") + +if #arg ~= 2 then + nuage.err("Usage ".. arg[0] .." [config-2|nocloud]") +end +local path = arg[1] +local citype = arg[2] +local ucl = require("ucl") + +local default_user = { + name = "freebsd", + homedir = "/home/freebsd", + groups = "wheel", + gecos = "FreeBSD User", + shell = "/bin/sh", + plain_text_passwd = "freebsd" +} + +local root = os.getenv("NUAGE_FAKE_ROOTDIR") +if not root then + root = "" +end + +local function open_config(name) + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local f,err = io.open(root .. "/etc/rc.conf.d/" .. name, "w") + if not f then + nuage.err("nuageinit: unable to open "..name.." config: " .. err) + end + return f +end + +local function get_ifaces() + local parser = ucl.parser() + -- grab ifaces + local ns = io.popen('netstat -i --libxo json') + local netres = ns:read("*a") + ns:close() + local res,err = parser:parse_string(netres) + if not res then + nuage.warn("Error parsing netstat -i --libxo json outout: " .. err) + return nil + end + local ifaces = parser:get_object() + local myifaces = {} + for _,iface in pairs(ifaces["statistics"]["interface"]) do + if iface["network"]:match("") then + local s = iface["address"] + myifaces[s:lower()] = iface["name"] + end + end + return myifaces +end + +local function config2_network(p) + local parser = ucl.parser() + local f = io.open(p .. "/network_data.json") + if not f then + -- silently return no network configuration is provided + return + end + f:close() + local res,err = parser:parse_file(p .. "/network_data.json") + if not res then + nuage.warn("nuageinit: error parsing network_data.json: " .. err) + return + end + local obj = parser:get_object() + + local ifaces = get_ifaces() + if not ifaces then + nuage.warn("nuageinit: no network interfaces found") + return + end + local mylinks = {} + for _,v in pairs(obj["links"]) do + local s = v["ethernet_mac_address"]:lower() + mylinks[v["id"]] = ifaces[s] + end + + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local network = open_config("network") + local routing = open_config("routing") + local ipv6 = {} + local ipv6_routes = {} + local ipv4 = {} + for _,v in pairs(obj["networks"]) do + local interface = mylinks[v["link"]] + if v["type"] == "ipv4_dhcp" then + network:write("ifconfig_"..interface.."=\"DHCP\"\n") + end + if v["type"] == "ipv4" then + network:write("ifconfig_"..interface.."=\"inet "..v["ip_address"].." netmask " .. v["netmask"] .. "\"\n") + if v["gateway"] then + routing:write("defaultrouter=\""..v["gateway"].."\"\n") + end + if v["routes"] then + for i,r in ipairs(v["routes"]) do + local rname = "cloudinit" .. i .. "_" .. interface + if v["gateway"] and v["gateway"] == r["gateway"] then goto next end + if r["network"] == "0.0.0.0" then + routing:write("defaultrouter=\""..r["gateway"].."\"\n") + goto next + end + routing:write("route_".. rname .. "=\"-net ".. r["network"] .. " ") + routing:write(r["gateway"] .. " " .. r["netmask"] .. "\"\n") + ipv4[#ipv4 + 1] = rname + ::next:: + end + end + end + if v["type"] == "ipv6" then + ipv6[#ipv6+1] = interface + ipv6_routes[#ipv6_routes+1] = interface + network:write("ifconfig_"..interface.."_ipv6=\"inet6 "..v["ip_address"].."\"\n") + if v["gateway"] then + routing:write("ipv6_defaultrouter=\""..v["gateway"].."\"\n") + routing:write("ipv6_route_"..interface.."=\""..v["gateway"]) + routing:write(" -prefixlen 128 -interface "..interface.."\"\n") + end + -- TODO compute the prefixlen for the routes + --if v["routes"] then + -- for i,r in ipairs(v["routes"]) do + -- local rname = "cloudinit" .. i .. "_" .. mylinks[v["link"]] + -- -- skip all the routes which are already covered by the default gateway, some provider + -- -- still list plenty of them. + -- if v["gateway"] == r["gateway"] then goto next end + -- routing:write("ipv6_route_" .. rname .. "\"\n") + -- ipv6_routes[#ipv6_routes+1] = rname + -- ::next:: + -- end + --end + end + end + if #ipv4 > 0 then + routing:write("static_routes=\"") + routing:write(table.concat(ipv4, " ") .. "\"\n") + end + if #ipv6 > 0 then + network:write("ipv6_network_interfaces=\"") + network:write(table.concat(ipv6, " ") .. "\"\n") + network:write("ipv6_default_interface=\""..ipv6[1].."\"\n") + end + if #ipv6_routes > 0 then + routing:write("ipv6_static_routes=\"") + routing:write(table.concat(ipv6, " ") .. "\"\n") + end + network:close() + routing:close() +end + +if citype == "config-2" then + local parser = ucl.parser() + local res,err = parser:parse_file(path..'/meta_data.json') + + if not res then + nuage.err("nuageinit: error parsing config-2: meta_data.json: " .. err) + end + local obj = parser:get_object() + local sshkeys = obj["public_keys"] + if sshkeys then + local homedir = nuage.adduser(default_user) + for _,v in pairs(sshkeys) do + nuage.addsshkey(root .. homedir, v) + end + end + nuage.sethostname(obj["hostname"]) + + -- network + config2_network(path) +elseif citype == "nocloud" then + local f,err = io.open(path.."/meta-data") + if err then + nuage.err("nuageinit: error parsing nocloud meta-data: ".. err) + end + local obj = yaml.eval(f:read("*a")) + f:close() + if not obj then + nuage.err("nuageinit: error parsing nocloud meta-data") + end + local hostname = obj['local-hostname'] + if not hostname then + hostname = obj['hostname'] + end + if hostname then + nuage.sethostname(hostname) + end +else + nuage.err("Unknown cloud init type: ".. citype) +end + +-- deal with user-data +local f = io.open(path..'/user-data', "r") +if not f then + os.exit(0) +end +local line = f:read('*l') +f:close() +if line == "#cloud-config" then + f = io.open(path.."/user-data") + local obj = yaml.eval(f:read("*a")) + f:close() + if not obj then + nuage.err("nuageinit: error parsing cloud-config file: user-data") + end + if obj.groups then + for n,g in pairs(obj.groups) do + if (type(g) == "string") then + local r = nuage.addgroup({name = g}) + if not r then + nuage.warn("nuageinit: failed to add group: ".. g) + end + elseif type(g) == "table" then + for k,v in pairs(g) do + nuage.addgroup({name = k, members = v}) + end + else + nuage.warn("nuageinit: invalid type : "..type(g).." for users entry number "..n); + end + end + end + if obj.users then + for n,u in pairs(obj.users) do + if type(u) == "string" then + if u == "default" then + nuage.adduser(default_user) + else + nuage.adduser({name = u}) + end + elseif type(u) == "table" then + -- ignore users without a username + if u.name == nil then + goto unext + end + local homedir = nuage.adduser(u) + if u.ssh_authorized_keys then + for _,v in ipairs(u.ssh_authorized_keys) do + nuage.addsshkey(homedir, v) + end + end + else + nuage.warn("nuageinit: invalid type : "..type(u).." for users entry number "..n); + end + ::unext:: + end + else + -- default user if none are defined + nuage.adduser(default_user) + end + if obj.ssh_authorized_keys then + local homedir = nuage.adduser(default_user) + for _,k in ipairs(obj.ssh_authorized_keys) do + nuage.addsshkey(homedir, k) + end + end + if obj.network then + local ifaces = get_ifaces() + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local network = open_config("network") + local routing = open_config("routing") + local ipv6={} + for _,v in pairs(obj.network.ethernets) do + if not v.match then goto next end + if not v.match.macaddress then goto next end + if not ifaces[v.match.macaddress] then + nuage.warn("nuageinit: not interface matching: "..v.match.macaddress) + goto next + end + local interface = ifaces[v.match.macaddress] + if v.dhcp4 then + network:write("ifconfig_"..interface.."=\"DHCP\"\n") + elseif v.addresses then + for _,a in pairs(v.addresses) do + if a:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)") then + network:write("ifconfig_"..interface.."=\"inet "..a.."\"\n") + else + network:write("ifconfig_"..interface.."_ipv6=\"inet6 "..a.."\"\n") + ipv6[#ipv6 +1] = interface + end + end + end + if v.gateway4 then + routing:write("defaultrouter=\""..v.gateway4.."\"\n") + end + if v.gateway6 then + routing:write("ipv6_defaultrouter=\""..v.gateway6.."\"\n") + routing:write("ipv6_route_"..interface.."=\""..v.gateway6) + routing:write(" -prefixlen 128 -interface "..interface.."\"\n") + end + ::next:: + end + if #ipv6 > 0 then + network:write("ipv6_network_interfaces=\"") + network:write(table.concat(ipv6, " ") .. "\"\n") + network:write("ipv6_default_interface=\""..ipv6[1].."\"\n") + end + network:close() + routing:close() + end +else + local res,err = os.execute(path..'/user-data') + if not res then + nuage.err("nuageinit: error executing user-data script: ".. err) + end +end diff --git a/libexec/nuageinit/tests/Makefile b/libexec/nuageinit/tests/Makefile new file mode 100644 index 000000000000..d5b3bd9dcc82 --- /dev/null +++ b/libexec/nuageinit/tests/Makefile @@ -0,0 +1,13 @@ +PACKAGE= tests + +ATF_TESTS_SH= nuage utils nuageinit + +${PACKAGE}FILES+= warn.lua +${PACKAGE}FILES+= err.lua +${PACKAGE}FILES+= dirname.lua +${PACKAGE}FILES+= sethostname.lua +${PACKAGE}FILES+= addsshkey.lua +${PACKAGE}FILES+= adduser.lua +${PACKAGE}FILES+= addgroup.lua + +.include diff --git a/libexec/nuageinit/tests/addgroup.lua b/libexec/nuageinit/tests/addgroup.lua new file mode 100644 index 000000000000..60a0d8346793 --- /dev/null +++ b/libexec/nuageinit/tests/addgroup.lua @@ -0,0 +1,15 @@ +#!/usr/libexec/flua + +local n = require("nuage") +if n.addgroup() then + n.err("addgroup should not accept empty value") +end +if n.addgroup("plop") then + n.err("addgroup should not accept empty value") +end +local gr = {} +gr.name = "impossible_groupname" +local res = n.addgroup(gr) +if not res then + n.err("valid addgroup should return a path") +end diff --git a/libexec/nuageinit/tests/addsshkey.lua b/libexec/nuageinit/tests/addsshkey.lua new file mode 100644 index 000000000000..3aa5f7619ec2 --- /dev/null +++ b/libexec/nuageinit/tests/addsshkey.lua @@ -0,0 +1,2 @@ +local n = require("nuage") +n.addsshkey(".", "mykey") diff --git a/libexec/nuageinit/tests/adduser.lua b/libexec/nuageinit/tests/adduser.lua new file mode 100644 index 000000000000..9366d2abd0f4 --- /dev/null +++ b/libexec/nuageinit/tests/adduser.lua @@ -0,0 +1,15 @@ +#!/usr/libexec/flua + +local n = require("nuage") +if n.adduser() then + n.err("adduser should not accept empty value") +end +if n.adduser("plop") then + n.err("adduser should not accept empty value") +end +local pw = {} +pw.name = "impossible_username" +local res = n.adduser(pw) +if not res then + n.err("valid adduser should return a path") +end diff --git a/libexec/nuageinit/tests/dirname.lua b/libexec/nuageinit/tests/dirname.lua new file mode 100644 index 000000000000..d1268e48575c --- /dev/null +++ b/libexec/nuageinit/tests/dirname.lua @@ -0,0 +1,8 @@ +local n = require("nuage") +print(n.dirname("/my/path/path1")) +if n.dirname("path") then + nuage.err("Expecting nil for n.dirname(\"path\")") +end +if n.dirname() then + nuage.err("Expecting nil for n.dirname") +end diff --git a/libexec/nuageinit/tests/err.lua b/libexec/nuageinit/tests/err.lua new file mode 100644 index 000000000000..c62fa1098f09 --- /dev/null +++ b/libexec/nuageinit/tests/err.lua @@ -0,0 +1,4 @@ +#!/usr/libexec/flua + +local n = require("nuage") +n.err("plop") diff --git a/libexec/nuageinit/tests/nuage.sh b/libexec/nuageinit/tests/nuage.sh new file mode 100644 index 000000000000..bbf306eae51f --- /dev/null +++ b/libexec/nuageinit/tests/nuage.sh @@ -0,0 +1,52 @@ +atf_test_case sethostname +atf_test_case addsshkey +atf_test_case adduser +atf_test_case addgroup + +sethostname_body() { + export NUAGE_FAKE_ROOTDIR="$(pwd)" + atf_check /usr/libexec/flua $(atf_get_srcdir)/sethostname.lua + if [ ! -f etc/rc.conf.d/hostname ]; then + atf_fail "hostname not written" + fi + atf_check -o inline:"hostname=\"myhostname\"\n" cat etc/rc.conf.d/hostname +} + +addsshkey_body() { + atf_check /usr/libexec/flua $(atf_get_srcdir)/addsshkey.lua + if [ ! -f .ssh/authorized_keys ]; then + atf_fail "ssh key not added" + fi + atf_check -o inline:"mykey\n" cat .ssh/authorized_keys + atf_check /usr/libexec/flua $(atf_get_srcdir)/addsshkey.lua + atf_check -o inline:"mykey\nmykey\n" cat .ssh/authorized_keys +} + +adduser_body() { + export NUAGE_FAKE_ROOTDIR="$(pwd)" + if [ $(id -u) -ne 0 ]; then + atf_skip "root required" + fi + mkdir etc + printf "root:*:0:0::0:0:Charlie &:/root:/bin/csh\n" > etc/master.passwd + pwd_mkdb -d etc etc/master.passwd + printf "wheel:*:0:root\n" > etc/group + atf_check -e inline:"Argument should be a table\nArgument should be a table\n" /usr/libexec/flua $(atf_get_srcdir)/adduser.lua + test -d home/impossible_username || atf_fail "home not created" + atf_check -o inline:"impossible_username::1001:1001::0:0:impossible_username User:/home/impossible_username:/bin/sh\n" grep impossible_username etc/master.passwd +} + +addgroup_body() { + export NUAGE_FAKE_ROOTDIR="$(pwd)" + mkdir etc + printf "wheel:*:0:root\n" > etc/group + atf_check -e inline:"Argument should be a table\nArgument should be a table\n" /usr/libexec/flua $(atf_get_srcdir)/addgroup.lua + atf_check -o inline:"impossible_groupname:*:1001:\n" grep impossible_groupname etc/group +} + +atf_init_test_cases() { + atf_add_test_case sethostname + atf_add_test_case addsshkey + atf_add_test_case adduser + atf_add_test_case addgroup +} diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh new file mode 100644 index 000000000000..926233bcf66d --- /dev/null +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -0,0 +1,338 @@ +atf_test_case args +atf_test_case nocloud +atf_test_case nocloud_userdata_script +atf_test_case nocloud_userdata_cloudconfig +atf_test_case nocloud_userdata_cloudconfig_users +atf_test_case nocloud_network +atf_test_case config2 +atf_test_case config2_pubkeys +atf_test_case config2_network +atf_test_case config2_network_static_v4 + + +args_body() +{ + atf_check -s exit:1 -e inline:"Usage /usr/libexec/nuageinit [config-2|nocloud]\n" /usr/libexec/nuageinit + atf_check -s exit:1 -e inline:"Usage /usr/libexec/nuageinit [config-2|nocloud]\n" /usr/libexec/nuageinit bla + atf_check -s exit:1 -e inline:"Usage /usr/libexec/nuageinit [config-2|nocloud]\n" /usr/libexec/nuageinit bla meh plop + atf_check -s exit:1 -e inline:"Unknown cloud init type: meh\n" /usr/libexec/nuageinit bla meh +} + +nocloud_body() +{ + here=$(pwd) + mkdir -p media/nuageinit + atf_check -s exit:1 -e match:"nuageinit: error parsing nocloud.*" /usr/libexec/nuageinit ${here}/media/nuageinit/ nocloud + export NUAGE_FAKE_ROOTDIR=$(pwd) + printf "instance-id: iid-local01\nlocal-hostname: cloudimg\n" > ${here}/media/nuageinit/meta-data + atf_check -s exit:0 /usr/libexec/nuageinit ${here}/media/nuageinit nocloud + atf_check -o inline:"hostname=\"cloudimg\"\n" cat etc/rc.conf.d/hostname + cat > media/nuageinit/meta-data << EOF +instance-id: iid-local01 +hostname: myhost +EOF + atf_check -s exit:0 /usr/libexec/nuageinit ${here}/media/nuageinit nocloud + atf_check -o inline:"hostname=\"myhost\"\n" cat etc/rc.conf.d/hostname +} + +nocloud_userdata_script_body() +{ + here=$(pwd) + mkdir -p media/nuageinit + printf "instance-id: iid-local01\n" > ${here}/media/nuageinit/meta-data + printf "#!/bin/sh\necho "yeah"\n" > ${here}/media/nuageinit/user-data + chmod 755 ${here}/media/nuageinit/user-data + atf_check -s exit:0 -o inline:"yeah\n" /usr/libexec/nuageinit ${here}/media/nuageinit nocloud +} + +nocloud_userdata_cloudconfig_users_body() +{ + here=$(pwd) + export NUAGE_FAKE_ROOTDIR=$(pwd) + if [ $(id -u) -ne 0 ]; then + atf_skip "root required" + fi + mkdir -p media/nuageinit + printf "instance-id: iid-local01\n" > ${here}/media/nuageinit/meta-data + mkdir -p etc + cat > etc/master.passwd < etc/group < media/nuageinit/user-data < expectedgroup << EOF +wheel:*:0:root,freebsd +users:*:1:foobar +admingroup:*:1001:root,sys +cloud-users:*:1002: +freebsd:*:1003: +foobar:*:1004: +EOF + cat > expectedpasswd << EOF +root:*:0:0::0:0:Charlie &:/root:/bin/csh +sys:*:1:0::0:0:Sys:/home/sys:/bin/csh +freebsd:freebsd:1001:1003::0:0:FreeBSD User:/home/freebsd:/bin/sh +foobar:H/1LT4f9/N3wpgNunhsIqtMj62OKiS3nyNwuizouQc3u7MbYCarYeAHWYPYb2FT.lbioDm2RrkJPb9BZMN1O/:1002:1004::0:0:Foo B. Bar:/home/foobar:/bin/sh +EOF + atf_check -o file:expectedpasswd cat ${here}/etc/master.passwd + atf_check -o file:expectedgroup cat ${here}/etc/group +} + +nocloud_network_body() +{ + here=$(pwd) + mkdir -p media/nuageinit + mkdir -p etc + cat > etc/master.passwd < etc/group < ${here}/media/nuageinit/meta-data + cat > media/nuageinit/user-data < network < routing < media/nuageinit/meta_data.json + atf_check /usr/libexec/nuageinit ${here}/media/nuageinit config-2 + cat > media/nuageinit/meta_data.json << EOF +{ + "hostname": "cloudimg", +} +EOF + export NUAGE_FAKE_ROOTDIR=$(pwd) + atf_check /usr/libexec/nuageinit ${here}/media/nuageinit config-2 + atf_check -o inline:"hostname=\"cloudimg\"\n" cat etc/rc.conf.d/hostname +} + +config2_pubkeys_body() +{ + here=$(pwd) + if [ $(id -u) -ne 0 ]; then + atf_skip "root required" + fi + mkdir -p media/nuageinit + cat > media/nuageinit/meta_data.json << EOF +{ + "public_keys": { + "mykey": "ssh-rsa AAAAB3NzaC1y...== Generated by Nova" + }, +} +EOF + mkdir -p etc + cat > etc/master.passwd < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: c051f22bce42 - main - mtree: add the directory for the nuageinit tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c051f22bce42d920abba61bd7cf4ef5b6a270ffa Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c051f22bce42d920abba61bd7cf4ef5b6a270ffa commit c051f22bce42d920abba61bd7cf4ef5b6a270ffa Author: Baptiste Daroussin AuthorDate: 2024-03-15 09:42:53 +0000 Commit: Baptiste Daroussin CommitDate: 2024-03-15 09:42:53 +0000 mtree: add the directory for the nuageinit tests --- etc/mtree/BSD.tests.dist | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 64b5f88ff2cc..978b8910a2f4 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -459,6 +459,8 @@ atf-sh .. .. + nuageinit + .. rc .. rtld-elf From nobody Fri Mar 15 10:39:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx13K3HfWz5D7dh; Fri, 15 Mar 2024 10:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx13K2ZQDz44xb; Fri, 15 Mar 2024 10:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710499197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BsMIfmXCDQmxaEen4FBNGe3+UHYu/PvGKjgPOT5stEs=; b=u+zU5Bpl7IyvPVOTpnM83FqIhdLlvq+4+2w/Eo2wix/+Rp8zj3xbNH50D8N9maVTa2gson 8o2rQNDo3ycSvuKoew3BEkQWbgch16zDwQKSDDjZd3zXOwKiB9xbCgp1KKIJ51JShn3O4P lIn5q2wnJUxPdRCQ4o15VfcFWDpkhJkZRJNSUaMzobpE3voL+raZeqHJoNoxW77YPkp1qH V0EQU8WGccvao+pKWj6JuqEporFA/JbfS8csYf3RchQ/fisyQFhKp0XIDwAdlR9UJsGjkz 7Kskpn/1YdyhMRnkCxSlD8pFo4stx2wTmTXwp5kXpGv1bRGjzJPsuLP3uAhKsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710499197; a=rsa-sha256; cv=none; b=bN4GIm2aQvRMgybN06Wvfphx5CwcBv4wD69H5t/yZnIvEoXg+aGceP0ZzVba1UDlLOd/I8 notrOSYGTxXuaBtY1Xn7M31VtQMpeUya+mGyB/MpipnGHpdpYOQ5L/Rlo/7LU9JoIuP/U9 K8cL0jWWcM7Ust2iXQPvrH/RgPh6R47NO/ranbqppCPjmYqKlhMBCmgFRmDR4QtH2OYOup fdAFDhcDA7s1wJaG5oDf7DFrxv7ONnmXNbxzG9Vl+ZsaGuyWxI5fxlNudY4xBVWpZQT48N +KxSVw6WupajAk4cDTFcDDB5jLwIip+6qcf3y8Mkcqqbd+I8NYz1+6nVzPypQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710499197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BsMIfmXCDQmxaEen4FBNGe3+UHYu/PvGKjgPOT5stEs=; b=U4sQhQYwzaq6L1KDEOvjyrsAta4jyUlDTx5GOKEvHL9sIpB5Oog90HuZzxXzuom5/TccTj l+t4yZZWATxUtp4JXVqF1xD9bQqnDK/XzTkjs9N42zVrPoUFUh8ZKu7jEgYlrZlYZ+z/7O F3xMXbjlLKGDk02fY96UnwQy7XfTpza38nJxsmzMGaBqUlUmAYxhh1VLzVa3ffiIxvwxUW vUrVtpKeI1IUgEvSP+zIjfrOYV1xCuPcXh5Fptbi/G5Msv8qt7g6o1l+FNtZeM6s1jCdHl sGgXwB9d5CyjkpwBUL1T0UhyhhMiFops6PwtTC7z+ZR1Wbi4rfL9Jy0w8eJAuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx13K29Vyz1791; Fri, 15 Mar 2024 10:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FAdvSN059200; Fri, 15 Mar 2024 10:39:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FAdv1I059198; Fri, 15 Mar 2024 10:39:57 GMT (envelope-from git) Date: Fri, 15 Mar 2024 10:39:57 GMT Message-Id: <202403151039.42FAdv1I059198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: b8c053c9a612 - main - nuageinit: add missing comment and descriptions for the package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b8c053c9a612651d4909f7a323088f3e92485b7b Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b8c053c9a612651d4909f7a323088f3e92485b7b commit b8c053c9a612651d4909f7a323088f3e92485b7b Author: Baptiste Daroussin AuthorDate: 2024-03-15 10:39:20 +0000 Commit: Baptiste Daroussin CommitDate: 2024-03-15 10:39:20 +0000 nuageinit: add missing comment and descriptions for the package --- release/packages/Makefile.package | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index 255ef648329d..d358298287db 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -116,6 +116,8 @@ newsyslog_COMMENT= Newsyslog Utility newsyslog_DESC= Newsyslog Utility nfs_COMMENT= NFS Utilities nfs_DESC= NFS Utilities +nuageinit_COMMENT= CloudInit support scripts +nuageinit_DESC= CloudInit support scripts nvme-tools_COMMENT= NVME Utilities nvme-tools_DESC= NVME Utilities openssl_COMMENT= OpenSSL Utility From nobody Fri Mar 15 11:02:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx1YF1VPxz5D9XC; Fri, 15 Mar 2024 11:02:25 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx1YD4BGjz47YK; Fri, 15 Mar 2024 11:02:24 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=G1X1PvkQ; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::42b as permitted sender) smtp.mailfrom=markjdb@gmail.com Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-6e6b729669bso2070439b3a.3; Fri, 15 Mar 2024 04:02:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710500540; x=1711105340; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=s2Jt3SrTKpv3mydfkTLpkMiSqT8l1dx1rYm+ZGfIrOw=; b=G1X1PvkQfjNywHbtTNM0ArR0ks+I5Ch+Uq9gxT9oj2/kTraQLyCHWbuyij48pCw/HS voEQ/pQyN9yX6qGOfKP5WcTQDaAfYEJZs6kqyNbAcjqN1CFIOebe17jHz19x+faGeQIn BAY5M04SQ/CiUMozXwQfjCtaR1yaDxw6lAHNbIMXf+WhuANN5qezOP8w0wVJgAynKlwK gz4j7twGw3/yHP6RJhhZRzmLrq+sVXclos+6TH/kan8zVn3y+qQVHu5BIkuDxXJdU+Se kMFm+Y8quqfadYNH0r5GcrBso8eWjDjCp2dGhSLkLBN/2qx2qQUoB/BB1W1GLtqjZIVD MkdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710500540; x=1711105340; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s2Jt3SrTKpv3mydfkTLpkMiSqT8l1dx1rYm+ZGfIrOw=; b=ENFu/tQDBIE08R7zWVBErtReysbyWc4fc5YTumeSuTDeUKdp78hm5Q6VkOD7ry/mI3 Nl6OculUk/DOOP+hMoPOQTe39MlMXkrGr+LljrvMNoW2vEC3QTxNpWrJ1adT5tM8Vl90 qycOcuyXXuNB06x/wUGcoSv714ykbtizuW+ZiHHhfc76SgQnikjDCibJyamZzvrjMfo/ kkF9qyC9LgGAbx7DDh5DZUoV3Wgs5/Ek6hwHzWm/wTdTBiOxU7/IeOSdDxAdHYdDqnuK BsiNOSB9zH8ENiaDb7DWCN4b/OllyoRa4dHYsmNn0DK17QWg1+hcZBUluK8eQ3QrvzIB AGdg== X-Forwarded-Encrypted: i=1; AJvYcCXTjPS2r2wmmks1g56FH5zqeJqmPoj07rNDjed3uCUyP7vvrk2T145ut6l7zsVAOE4g6b1UB4bbUceNTcH49iIN85SBruwIoulQb/Ud+47ZvZNbA7H3REc2txxIWO0udSjaFURnspqwv6ngxmD7gz8ztw== X-Gm-Message-State: AOJu0Yzr3VCU5sVwKOJJqMaikMRv0sh20vbvwDYeycIIeAyrz8IjbSux FB7c7wiy0hWokmFRgUMPymeUZyiKrNUujmf+24UhSJ4UOvEC04eCk5JI+7zh X-Google-Smtp-Source: AGHT+IGFidREzzzggtaEgJrrgkqbFq2ni2lsQwJumCyYEzZUBOtSIcyDIEro2iARZ1cdrsSSN0qQnw== X-Received: by 2002:a05:6a00:3991:b0:6e6:977e:6427 with SMTP id fi17-20020a056a00399100b006e6977e6427mr5123922pfb.8.1710500540016; Fri, 15 Mar 2024 04:02:20 -0700 (PDT) Received: from framework.home (36-224-168-33.dynamic-ip.hinet.net. [36.224.168.33]) by smtp.gmail.com with ESMTPSA id fi37-20020a056a0039a500b006e69a142458sm3105468pfb.213.2024.03.15.04.02.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Mar 2024 04:02:19 -0700 (PDT) Date: Fri, 15 Mar 2024 07:02:15 -0400 From: Mark Johnston To: Richard Scheffenegger Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 85df11a1dec6 - main - ktls: deep copy tls_enable struct for in-kernel tcp consumers Message-ID: References: <202403132108.42DL8TbO057293@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202403132108.42DL8TbO057293@gitrepo.freebsd.org> X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.10 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.996]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), DKIM not aligned (relaxed),none]; RCVD_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MISSING_XM_UA(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::42b:from]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; ARC_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCPT_COUNT_THREE(0.00)[4]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; DKIM_TRACE(0.00)[gmail.com:+] X-Rspamd-Queue-Id: 4Tx1YD4BGjz47YK On Wed, Mar 13, 2024 at 09:08:29PM +0000, Richard Scheffenegger wrote: > The branch main has been updated by rscheff: > > URL: https://cgit.FreeBSD.org/src/commit/?id=85df11a1dec6eab9efbce9fd20712402a8e7ac7c > > commit 85df11a1dec6eab9efbce9fd20712402a8e7ac7c > Author: Richard Scheffenegger > AuthorDate: 2024-03-13 11:35:51 +0000 > Commit: Richard Scheffenegger > CommitDate: 2024-03-13 12:23:13 +0000 > > ktls: deep copy tls_enable struct for in-kernel tcp consumers > > Doing a deep copy of the keys early allows users of the > tls_enable structure to assume kernel memory. > This enables the socket options to be set by kernel threads. > > Reviewed By: #transport, tuexen, jhb, rrs > Sponsored by: NetApp, Inc. > X-NetApp-PR: #79 > Differential Revision: https://reviews.freebsd.org/D44250 > --- > sys/kern/uipc_ktls.c | 96 ++++++++++++++++++++++++++++++++++++++++-------- > sys/netinet/tcp_usrreq.c | 44 ++++------------------ > sys/sys/ktls.h | 17 +++++---- > 3 files changed, 97 insertions(+), 60 deletions(-) > > diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c > index deba6940bbee..df296090ec97 100644 > --- a/sys/kern/uipc_ktls.c > +++ b/sys/kern/uipc_ktls.c > @@ -297,10 +297,86 @@ SYSCTL_COUNTER_U64(_kern_ipc_tls_toe, OID_AUTO, chacha20, CTLFLAG_RD, > > static MALLOC_DEFINE(M_KTLS, "ktls", "Kernel TLS"); > > +static void ktls_reclaim_thread(void *ctx); > static void ktls_reset_receive_tag(void *context, int pending); > static void ktls_reset_send_tag(void *context, int pending); > static void ktls_work_thread(void *ctx); > -static void ktls_reclaim_thread(void *ctx); > + > +int > +ktls_copyin_tls_enable(struct sockopt *sopt, struct tls_enable *tls) > +{ > + struct tls_enable_v0 tls_v0; > + int error; > + uint8_t *cipher_key = NULL, *iv = NULL, *auth_key = NULL; > + > + if (sopt->sopt_valsize == sizeof(tls_v0)) { > + error = sooptcopyin(sopt, &tls_v0, sizeof(tls_v0), sizeof(tls_v0)); > + if (error != 0) > + goto done; > + memset(tls, 0, sizeof(*tls)); > + tls->cipher_key = tls_v0.cipher_key; > + tls->iv = tls_v0.iv; > + tls->auth_key = tls_v0.auth_key; > + tls->cipher_algorithm = tls_v0.cipher_algorithm; > + tls->cipher_key_len = tls_v0.cipher_key_len; > + tls->iv_len = tls_v0.iv_len; > + tls->auth_algorithm = tls_v0.auth_algorithm; > + tls->auth_key_len = tls_v0.auth_key_len; > + tls->flags = tls_v0.flags; > + tls->tls_vmajor = tls_v0.tls_vmajor; > + tls->tls_vminor = tls_v0.tls_vminor; > + } else > + error = sooptcopyin(sopt, tls, sizeof(*tls), sizeof(*tls)); > + > + if (error != 0) > + goto done; > + > + /* > + * Now do a deep copy of the variable-length arrays in the struct, so that > + * subsequent consumers of it can reliably assume kernel memory. This > + * requires doing our own allocations, which we will free in the > + * error paths so that our caller need only worry about outstanding > + * allocations existing on successful return. > + */ > + cipher_key = malloc(tls->cipher_key_len, M_KTLS, M_WAITOK); > + iv = malloc(tls->iv_len, M_KTLS, M_WAITOK); > + auth_key = malloc(tls->auth_key_len, M_KTLS, M_WAITOK); Hi Richard, These lengths need to be validated against some maximum and minimum values, as they are provided by userspace and thus aren't to be trusted. See https://syzkaller.appspot.com/bug?extid=72022fa9163fa958b66c > + if (sopt->sopt_td != NULL) { > + error = copyin(tls->cipher_key, cipher_key, tls->cipher_key_len); > + if (error != 0) > + goto done; > + error = copyin(tls->iv, iv, tls->iv_len); > + if (error != 0) > + goto done; > + error = copyin(tls->auth_key, auth_key, tls->auth_key_len); > + if (error != 0) > + goto done; > + } else { > + bcopy(tls->cipher_key, cipher_key, tls->cipher_key_len); > + bcopy(tls->iv, iv, tls->iv_len); > + bcopy(tls->auth_key, auth_key, tls->auth_key_len); > + } > + tls->cipher_key = cipher_key; > + tls->iv = iv; > + tls->auth_key = auth_key; > + > +done: > + if (error != 0) { > + zfree(cipher_key, M_KTLS); > + zfree(iv, M_KTLS); > + zfree(auth_key, M_KTLS); > + } > + > + return (error); > +} > + > +void > +ktls_cleanup_tls_enable(struct tls_enable *tls) > +{ > + zfree(__DECONST(void *, tls->cipher_key), M_KTLS); > + zfree(__DECONST(void *, tls->iv), M_KTLS); > + zfree(__DECONST(void *, tls->auth_key), M_KTLS); > +} > > static u_int > ktls_get_cpu(struct socket *so) > @@ -702,18 +778,12 @@ ktls_create_session(struct socket *so, struct tls_enable *en, > tls->params.auth_key_len = en->auth_key_len; > tls->params.auth_key = malloc(en->auth_key_len, M_KTLS, > M_WAITOK); > - error = copyin(en->auth_key, tls->params.auth_key, > - en->auth_key_len); > - if (error) > - goto out; > + bcopy(en->auth_key, tls->params.auth_key, en->auth_key_len); > } > > tls->params.cipher_key_len = en->cipher_key_len; > tls->params.cipher_key = malloc(en->cipher_key_len, M_KTLS, M_WAITOK); > - error = copyin(en->cipher_key, tls->params.cipher_key, > - en->cipher_key_len); > - if (error) > - goto out; > + bcopy(en->cipher_key, tls->params.cipher_key, en->cipher_key_len); > > /* > * This holds the implicit portion of the nonce for AEAD > @@ -722,9 +792,7 @@ ktls_create_session(struct socket *so, struct tls_enable *en, > */ > if (en->iv_len != 0) { > tls->params.iv_len = en->iv_len; > - error = copyin(en->iv, tls->params.iv, en->iv_len); > - if (error) > - goto out; > + bcopy(en->iv, tls->params.iv, en->iv_len); > > /* > * For TLS 1.2 with GCM, generate an 8-byte nonce as a > @@ -740,10 +808,6 @@ ktls_create_session(struct socket *so, struct tls_enable *en, > > *tlsp = tls; > return (0); > - > -out: > - ktls_free(tls); > - return (error); > } > > static struct ktls_session * > diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c > index a73d2a15c1d5..916fe33e8704 100644 > --- a/sys/netinet/tcp_usrreq.c > +++ b/sys/netinet/tcp_usrreq.c > @@ -1914,37 +1914,6 @@ CTASSERT(TCP_CA_NAME_MAX <= TCP_LOG_ID_LEN); > CTASSERT(TCP_LOG_REASON_LEN <= TCP_LOG_ID_LEN); > #endif > > -#ifdef KERN_TLS > -static int > -copyin_tls_enable(struct sockopt *sopt, struct tls_enable *tls) > -{ > - struct tls_enable_v0 tls_v0; > - int error; > - > - if (sopt->sopt_valsize == sizeof(tls_v0)) { > - error = sooptcopyin(sopt, &tls_v0, sizeof(tls_v0), > - sizeof(tls_v0)); > - if (error) > - return (error); > - memset(tls, 0, sizeof(*tls)); > - tls->cipher_key = tls_v0.cipher_key; > - tls->iv = tls_v0.iv; > - tls->auth_key = tls_v0.auth_key; > - tls->cipher_algorithm = tls_v0.cipher_algorithm; > - tls->cipher_key_len = tls_v0.cipher_key_len; > - tls->iv_len = tls_v0.iv_len; > - tls->auth_algorithm = tls_v0.auth_algorithm; > - tls->auth_key_len = tls_v0.auth_key_len; > - tls->flags = tls_v0.flags; > - tls->tls_vmajor = tls_v0.tls_vmajor; > - tls->tls_vminor = tls_v0.tls_vminor; > - return (0); > - } > - > - return (sooptcopyin(sopt, tls, sizeof(*tls), sizeof(*tls))); > -} > -#endif > - > extern struct cc_algo newreno_cc_algo; > > static int > @@ -2292,15 +2261,16 @@ unlock_and_done: > #ifdef KERN_TLS > case TCP_TXTLS_ENABLE: > INP_WUNLOCK(inp); > - error = copyin_tls_enable(sopt, &tls); > - if (error) > + error = ktls_copyin_tls_enable(sopt, &tls); > + if (error != 0) > break; > error = ktls_enable_tx(so, &tls); > + ktls_cleanup_tls_enable(&tls); > break; > case TCP_TXTLS_MODE: > INP_WUNLOCK(inp); > error = sooptcopyin(sopt, &ui, sizeof(ui), sizeof(ui)); > - if (error) > + if (error != 0) > return (error); > > INP_WLOCK_RECHECK(inp); > @@ -2309,11 +2279,11 @@ unlock_and_done: > break; > case TCP_RXTLS_ENABLE: > INP_WUNLOCK(inp); > - error = sooptcopyin(sopt, &tls, sizeof(tls), > - sizeof(tls)); > - if (error) > + error = ktls_copyin_tls_enable(sopt, &tls); > + if (error != 0) > break; > error = ktls_enable_rx(so, &tls); > + ktls_cleanup_tls_enable(&tls); > break; > #endif > case TCP_MAXUNACKTIME: > diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h > index 693864394ffe..9b3433f4b1fd 100644 > --- a/sys/sys/ktls.h > +++ b/sys/sys/ktls.h > @@ -174,6 +174,7 @@ struct m_snd_tag; > struct mbuf; > struct sockbuf; > struct socket; > +struct sockopt; > > struct ktls_session { > struct ktls_ocf_session *ocf_session; > @@ -213,27 +214,29 @@ typedef enum { > } ktls_mbuf_crypto_st_t; > > void ktls_check_rx(struct sockbuf *sb); > -ktls_mbuf_crypto_st_t ktls_mbuf_crypto_state(struct mbuf *mb, int offset, int len); > +void ktls_cleanup_tls_enable(struct tls_enable *tls); > +int ktls_copyin_tls_enable(struct sockopt *sopt, struct tls_enable *tls); > void ktls_disable_ifnet(void *arg); > int ktls_enable_rx(struct socket *so, struct tls_enable *en); > int ktls_enable_tx(struct socket *so, struct tls_enable *en); > +void ktls_enqueue(struct mbuf *m, struct socket *so, int page_count); > +void ktls_enqueue_to_free(struct mbuf *m); > void ktls_destroy(struct ktls_session *tls); > void ktls_frame(struct mbuf *m, struct ktls_session *tls, int *enqueue_cnt, > uint8_t record_type); > -bool ktls_permit_empty_frames(struct ktls_session *tls); > -void ktls_seq(struct sockbuf *sb, struct mbuf *m); > -void ktls_enqueue(struct mbuf *m, struct socket *so, int page_count); > -void ktls_enqueue_to_free(struct mbuf *m); > int ktls_get_rx_mode(struct socket *so, int *modep); > -int ktls_set_tx_mode(struct socket *so, int mode); > int ktls_get_tx_mode(struct socket *so, int *modep); > int ktls_get_rx_sequence(struct inpcb *inp, uint32_t *tcpseq, uint64_t *tlsseq); > void ktls_input_ifp_mismatch(struct sockbuf *sb, struct ifnet *ifp); > -int ktls_output_eagain(struct inpcb *inp, struct ktls_session *tls); > +ktls_mbuf_crypto_st_t ktls_mbuf_crypto_state(struct mbuf *mb, int offset, int len); > #ifdef RATELIMIT > int ktls_modify_txrtlmt(struct ktls_session *tls, uint64_t max_pacing_rate); > #endif > +int ktls_output_eagain(struct inpcb *inp, struct ktls_session *tls); > bool ktls_pending_rx_info(struct sockbuf *sb, uint64_t *seqnop, size_t *residp); > +bool ktls_permit_empty_frames(struct ktls_session *tls); > +void ktls_seq(struct sockbuf *sb, struct mbuf *m); > +int ktls_set_tx_mode(struct socket *so, int mode); > > static inline struct ktls_session * > ktls_hold(struct ktls_session *tls) > From nobody Fri Mar 15 13:51:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx5Js0Rwyz5DSfj; Fri, 15 Mar 2024 13:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx5Jr5lHlz4NXC; Fri, 15 Mar 2024 13:51:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710510716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S3XLETgTOx8g6SW3Z9a1yqt/QAPrRfYzzNc7eyLlf5o=; b=Zgrp7fEPKdR36f4MyJNKGhBh5bH6tDqn4O/E3sqNdO0oIGPKbiIJpfL48OawUH17KPRGAn ow7eOualGHWebLJZrMYO9tpQNRU8HNdz7hpacGrRJ4ieCVHLbctLibBtt4Cg3hna8IzbU/ Jc3n9VbO7QaLp0c0rImGqOzzjGNTKuzNVOX2epC8y1ox0tjtiDbjdSoYuW8kAJKhO+8/Vt w0XrKd6JUmzCx//OjwFnUS+bXXNbGbFeGx6t+kE7H3ml2cUUiTT6mdatwimZH5A8FzKTs4 0FG8EKg9j/m1iJ4j9Aj0NJc+0oVwAnYu4XHUfnQJAtnJbhtTVRi49kM4TZcSPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710510716; a=rsa-sha256; cv=none; b=jbaK2x/yQ6u7f5Q6f8h/LxOCOX86No4QqlnolmVDd6OCChYhecGhOtPK6+FE2DMxxEb7B7 /xtHCX9qZnrPzz9jttnWwmMAiqQFl9jRSdmHdE5aDuBmKsTFgGY/y3JcePQV+rgOCGLWaQ dKjB/0wb829LmE/toMqCkVejMoauNaO6J3U1/oMMsK/uILHv5Gh0suOxd2ucOhFX/y3KUm jZ6kVrpkWWc6agkN/QZOa5VgYQBQtJNSc/0XtnIvIBhmI+QFutSIYgpPC5nUbKrkKtg080 EJu4zv+A7aHRITn3tg0pWgUHKIftsHsRMjMbACYxYG0Exmu4auQYKzv++4wIjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710510716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S3XLETgTOx8g6SW3Z9a1yqt/QAPrRfYzzNc7eyLlf5o=; b=Ssa8lZqq2FxNv/YdPlwoxwI8+bf9YZQhLAg8EHkBCFnMmswnZLDfpBGM5W1j8MtvAOlNbc 3uF3S9hqo2lqyRp9UlBcRjktxaVgS9jCCdcvj6R4TaYtua8NEgpUMRAeFexMnHekFpzQDk Nl5DiMOcfxohac6D7b23as6MojP1YO+HRsCvDWHcPOabmKHkXHGxZncfxJ6Dj8QS8CC2xd cTXjgXZ5SSaMjMsNkjc6n6jH7DLO3j14KHkcdpz7L11SPBAKcT65HloER7dT1Qb2MKyZw5 Nuq4A0BLeaZoQSf8xJYcIZuih/KsbeJILvhPTj2DcU5ON8zMUxCczYdAA19q8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx5Jr53B1zDhH; Fri, 15 Mar 2024 13:51:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FDpuBw092808; Fri, 15 Mar 2024 13:51:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FDpuZM092805; Fri, 15 Mar 2024 13:51:56 GMT (envelope-from git) Date: Fri, 15 Mar 2024 13:51:56 GMT Message-Id: <202403151351.42FDpuZM092805@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 5c318f5ce3e2 - main - pkgbase: remove packages which do not exists anymore List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c318f5ce3e293d8479d686da25c1a4460c09388 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5c318f5ce3e293d8479d686da25c1a4460c09388 commit 5c318f5ce3e293d8479d686da25c1a4460c09388 Author: Baptiste Daroussin AuthorDate: 2024-03-15 13:50:40 +0000 Commit: Baptiste Daroussin CommitDate: 2024-03-15 13:51:40 +0000 pkgbase: remove packages which do not exists anymore --- release/packages/Makefile.package | 6 ------ release/packages/gdb.ucl | 17 ----------------- release/packages/groff.ucl | 17 ----------------- release/packages/svn.ucl | 17 ----------------- 4 files changed, 57 deletions(-) diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index d358298287db..ed3da78665be 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -73,14 +73,10 @@ fwget_COMMENT= FWGET Utility fwget_DESC= FWGET Utility games_COMMENT= Games games_DESC= Games -gdb_COMMENT= GDB Utilities -gdb_DESC= GDB Utilities geom_COMMENT= GEOM Utilitites geom_DESC= GEOM Utilitites ggate_COMMENT= GEOM Gate Utilities ggate_DESC= GEOM Gate Utilities -groff_COMMENT= Groff Utilities -groff_DESC= Groff Utilities hast_COMMENT= Highly Available Storage daemon hast_DESC= Highly Available Storage daemon hostapd_COMMENT= 802.11 Access Point Daemon an Utilities @@ -153,8 +149,6 @@ smbutils_COMMENT= SMB Utilities smbutils_DESC= SMB Utilities ssh_COMMENT= Secure Shell Utilities ssh_DESC= Secure Shell Utilities -svn_COMMENT= Subversion Version Control System -svn_DESC= Subversion Version Control System syscons_COMMENT= Syscons Console syscons_DESC= Syscons Console syslogd_COMMENT= Syslog Daemon diff --git a/release/packages/gdb.ucl b/release/packages/gdb.ucl deleted file mode 100644 index ff2710862e03..000000000000 --- a/release/packages/gdb.ucl +++ /dev/null @@ -1,17 +0,0 @@ -# -# - -name = "%PKG_NAME_PREFIX%-%PKGNAME%" -origin = "base" -version = "%VERSION%" -comment = "%COMMENT%" -categories = [ base ] -maintainer = "%PKG_MAINTAINER%" -www = "%PKG_WWW%" -prefix = "/" -licenselogic = "single" -licenses = [ GPLv2 ] -desc = < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 9eae9233fdcc - main - nuageinit: be case insentive when looking got labels List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9eae9233fdcc946945f4191e1413f548adfa2943 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9eae9233fdcc946945f4191e1413f548adfa2943 commit 9eae9233fdcc946945f4191e1413f548adfa2943 Author: Baptiste Daroussin AuthorDate: 2024-03-15 14:15:03 +0000 Commit: Baptiste Daroussin CommitDate: 2024-03-15 14:15:03 +0000 nuageinit: be case insentive when looking got labels Reported by: Marek Zarychta --- libexec/rc/rc.d/nuageinit | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.d/nuageinit b/libexec/rc/rc.d/nuageinit index 9c914c340015..977b44e465fe 100755 --- a/libexec/rc/rc.d/nuageinit +++ b/libexec/rc/rc.d/nuageinit @@ -22,12 +22,12 @@ nuageinit_start() # it either formatted in vfat or iso9660 and labeled # config-2 for f in iso9660 msdosfs; do - drive=/dev/$f/config-2 + drive="/dev/$f/[cC][oO][nN][fF][iI][gG]-2" if [ -e $drive ]; then citype=config-2 break fi - drive=/dev/$f/cidata + drive="/dev/$f/[cC][iI][dD][aA][tT][aA]" if [ -e $drive ]; then citype=nocloud break From nobody Fri Mar 15 15:01:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx6sg4MlNz5DZB6; Fri, 15 Mar 2024 15:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx6sg3qDKz4W4k; Fri, 15 Mar 2024 15:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710514919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LVXYZs8oVcB7NPyuUkEuDqofktr2iPI0iQIXmP6VoAI=; b=aHpczg/gbktLsAq9TXVbuxbZIpmbBblcKgwUsBqMGX/5Cd4pdlEL0CaKj18D4fVedncGta VWff+6ISwSwlmkF68WGgh3QXNJQe3xVUkidx4eiQzmi+O85jQM9ZTVUFrHLqp38tkgIWAF DL00mZTs5blp/iVQZYKhSTkP44FNs0KPF0YO+tfVHl0k/bI36rsxJGgfpqWFVAXGhvPp/A An0fPOrj+FS2LEdDiBuXdLnIDOeTvXZbVo2JaRH/sKpWV4rSTnY3niba5+8Oh9KVQdx6Nz Q+BmEvRDOJVfG4wxcHrEp6JtTsYnJUpfVb+fTqzkiYoScJinB6CYkm4kLsUojg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710514919; a=rsa-sha256; cv=none; b=nwq5Jc6EcDOpZkx6u16pNi8YYbOifw98KtUgh6Dp/bdOQrsXpwO3gPRCZoQZ6KnkxvrkkB zJuQAs8yv+nS5UneZAEyTC58RrkoGF0Iz/0Fvi+ziKLOgMNJdYgVYHbdW0QERTb6cuD7Vv N1m8DFSnkH9BuZltg2s3oYc7gSNPzoRoI9zkHRxoVZlLeV+S+qhZC5FdNTjhOjGZfm6i+9 Gc9GXv0T8gbwGUUJhs5etEk0xFkKM6kwSIF7TXZVSALwZ7IcsY/lvIMv2RF1vNLLB/sv6b VVVsGyoveK7QtsattLm7OTXpWSGmK4772/h325Q9PGdbUfGzBqEA27iteG/TwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710514919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LVXYZs8oVcB7NPyuUkEuDqofktr2iPI0iQIXmP6VoAI=; b=dXkfxzvM0eoFfBFYSrhlu12aYLGrf8Mq3hMRDx42kM8hLjFgNXodGvWFbUO1KcAGg17/Z5 yqEituSRp8ZeudnHVF8h6osnvW5dDe8VGgIO4yTXkExpZPx2CvxKGYNcd8/HzzR/XKpBAM OB0H0nQh7BmkD4z2UptuSIVGOta75pKWNjj8NqxqwRtIij2IapqMqbUBlItc3LSzMw3uyQ 7hlT+9B8grjX1l4ryuxaUuoy/RC/mY33yNEORId2HRvN1zlbH3abjQux28FexTrkt6ilrt sUTt+iVifm5NwLPH2NohYdte5S9DD7zzW8D1cVlYLBahpVjHnDnUmpL7N34e3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx6sg3QsczFlb; Fri, 15 Mar 2024 15:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FF1xSm013821; Fri, 15 Mar 2024 15:01:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FF1xMr013818; Fri, 15 Mar 2024 15:01:59 GMT (envelope-from git) Date: Fri, 15 Mar 2024 15:01:59 GMT Message-Id: <202403151501.42FF1xMr013818@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a00f9e4e8181 - main - scsi: Stop installing both cam.4 and CAM.4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a00f9e4e81810374755910ad7abf0fc335dcf86d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a00f9e4e81810374755910ad7abf0fc335dcf86d commit a00f9e4e81810374755910ad7abf0fc335dcf86d Author: Warner Losh AuthorDate: 2024-03-15 04:33:25 +0000 Commit: Warner Losh CommitDate: 2024-03-15 15:01:25 +0000 scsi: Stop installing both cam.4 and CAM.4 There's no real benefit from installing both cam.4 and CAM.4. The latter is not an kernel option. This hits a pathological case in mlinks: we're trying to link to another file and the second link fails on case-preserving, case-insensitive filesystems, like on MacOS by default. Since we don't need both, avoid this pathological case. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44346 --- share/man/man4/Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index cfa42afa6a71..c3f5e3223bf9 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -734,10 +734,9 @@ MLINKS+=re.4 if_re.4 MLINKS+=rl.4 if_rl.4 MLINKS+=rtwn_pci.4 if_rtwn_pci.4 MLINKS+=rue.4 if_rue.4 -MLINKS+=scsi.4 CAM.4 \ - scsi.4 cam.4 \ - scsi.4 scbus.4 \ - scsi.4 SCSI.4 +MLINKS+=scsi.4 cam.4 +MLINKS+=scsi.4 scbus.4 +MLINKS+=scsi.4 SCSI.4 MLINKS+=sge.4 if_sge.4 MLINKS+=sis.4 if_sis.4 MLINKS+=sk.4 if_sk.4 From nobody Fri Mar 15 15:02:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx6sh6GpQz5DZGH; Fri, 15 Mar 2024 15:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx6sh595sz4WGj; Fri, 15 Mar 2024 15:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710514920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n4mjPW/qSRVzizOKK93HFWRKOj4KNfaVliqV6UX3wbk=; b=cG0526ezp3Anct6KlDiUNYeWG+qOEO4n6rz6E4lA4g8l76NeqSjJTcmRHczy2F7zvCfYVj Zg/lVidut3HtOz9w210BdaPnKVn91qD1kUITpQUUvaV2n59lDMwv3wzVM8xyCzg/mSeTkd t3e560loWW3gCYm2J+7pv++tJYLlv3yi+MYx+lgglBNY/ILM/qydi/HSryz4rH8hrJ3+/g tvq0OJnps19SAf6vuraUZESEZD7xflsprJeP0Gvc5RTL2NQpip6GGaxDLIPK7qd3/HA1nV JAztLXeHGmsO8o5vBxB9GOHqYfKGheykSR9bl3ERC54jxiJP7T5oV93aplwuiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710514920; a=rsa-sha256; cv=none; b=iqqF7A7WQ+O6SWaCLl0xEyX7kOy+V2m+cDEw3DDFiqlUliFcufs3qiCaWqYBhGCYQBNQi2 BmYgvPDWFvcS8dGwkMZVEpPR7tSf3DB/BtVPJ4QehRh61O2EoZaB5682yta8CXCW51Dxaq W5P4E1qwYTYpLWDt/t+1BoDu8P3z3EzXZQrbiZym37GBcho1fr2d7oGFeyxFv6fvmFoMs9 e7ZBQnzlutYFdINfD3KdeywIPq6QAOY2j2l+O27mZksDAd0cWn4zEUeFrDd+7q/Diqb2f6 DigavY14zibw7afpyCCgo3N2UhvME+P3rGDo1cvijRgrPvFZLl8ap4t3msOeMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710514920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n4mjPW/qSRVzizOKK93HFWRKOj4KNfaVliqV6UX3wbk=; b=TJ3MtP2UDjqnpDiStudnUd5WxLFTBKCth/9uz7N+FcAzJb+YE/RhJltxAgrTWqN1l/qnvX o/WPuxyba54VZo1u49AL/3Sgzoc/sOdpQA1cLg3y7Rgl1FbrBqbdeOiSffKXcWpa3QTLbA mO8clPUQZ6bdBbvarrfLjrfiJwt0x665AqmW39OFwy1sTVIeZuGAJpGUfD03ZAkch2is0C iuyVs6mx5kixpZ6TEnXHzQjDQIeL4QvnD0TdSwvG23Jk1SUQzMnnzzmgxzivr6EF5gth1e vPKy/QBb1eoMSU8EoGp9EscIJCkpWgFO0oJiUcvi0f2kuduw6nudbQxoz8x00A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx6sh4V9tzG5g; Fri, 15 Mar 2024 15:02:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FF206W013890; Fri, 15 Mar 2024 15:02:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FF20ul013887; Fri, 15 Mar 2024 15:02:00 GMT (envelope-from git) Date: Fri, 15 Mar 2024 15:02:00 GMT Message-Id: <202403151502.42FF20ul013887@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d2a824c29d69 - main - share/mk: Don't install only differing in case files on case insensitive fs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2a824c29d6925ba8675a811aa81f2ad7d92129d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d2a824c29d6925ba8675a811aa81f2ad7d92129d commit d2a824c29d6925ba8675a811aa81f2ad7d92129d Author: Warner Losh AuthorDate: 2024-03-15 04:33:33 +0000 Commit: Warner Losh CommitDate: 2024-03-15 15:01:25 +0000 share/mk: Don't install only differing in case files on case insensitive fs MacOS has case insensitive filesystems by default. So trying to link between foo.X and FOO.X causes an error of some sort since we unlink the old foo file destroying the newly installed foo due to the insensitive nature of the FS. Assume that this is true on darwin/macos, though it is only try by default there. Perhaps install should grow smarts to know when this is the case, though that looked much trickier. There didn't seem to be a flag to check. This would be better, imho, since we could still write the METALOG data correctly (images created from these metalogs are imperfect due to this relatively issue...). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44347 --- share/mk/bsd.links.mk | 6 ++++++ share/mk/bsd.man.mk | 3 +++ 2 files changed, 9 insertions(+) diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk index 6070979612bf..437ffd0d3b34 100644 --- a/share/mk/bsd.links.mk +++ b/share/mk/bsd.links.mk @@ -14,16 +14,22 @@ afterinstall: _installlinks .ORDER: realinstall _installlinks _installlinks: .for s t in ${LINKS} +# On MacOS, assume case folding FS, and don't install links from foo.x to FOO.x. +.if ${.MAKE.OS} != "Darwin" || ${s:tu} != ${t:tu} .if defined(LINKTAGS) ${INSTALL_LINK} ${TAG_ARGS:D${TAG_ARGS},${LINKTAGS}} ${DESTDIR}${s} ${DESTDIR}${t} .else ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${s} ${DESTDIR}${t} .endif +.endif .endfor .for s t in ${SYMLINKS} +# On MacOS, assume case folding FS, and don't install links from foo.x to FOO.x. +.if ${.MAKE.OS} != "Darwin" || ${s:tu} != ${t:tu} .if defined(LINKTAGS) ${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},${LINKTAGS}} ${s} ${DESTDIR}${t} .else ${INSTALL_SYMLINK} ${TAG_ARGS} ${s} ${DESTDIR}${t} .endif +.endif .endfor diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk index c80c618e48db..2845d0c1fc1c 100644 --- a/share/mk/bsd.man.mk +++ b/share/mk/bsd.man.mk @@ -234,6 +234,8 @@ maninstall: ${MAN} .endif # ${MK_MANCOMPRESS} == "no" .endif .for l t in ${_MANLINKS} +# On MacOS, assume case folding FS, and don't install links from foo.x to FOO.x. +.if ${.MAKE.OS} != "Darwin" || ${l:tu} != ${t:tu} .if ${MK_MANSPLITPKG} == "no" rm -f ${DESTDIR}${t} ${DESTDIR}${t}${MCOMPRESS_EXT}; \ ${INSTALL_MANLINK} ${TAG_ARGS} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT} @@ -241,6 +243,7 @@ maninstall: ${MAN} rm -f ${DESTDIR}${t} ${DESTDIR}${t}${MCOMPRESS_EXT}; \ ${INSTALL_MANLINK} ${TAG_ARGS:D${TAG_ARGS},man} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT} .endif +.endif .endfor manlint: From nobody Fri Mar 15 15:26:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx7QW0VZlz5DcFw; Fri, 15 Mar 2024 15:26:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx7QV6d2mz4Z2s; Fri, 15 Mar 2024 15:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710516418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4XR+uVYoOhxrTK6DTiKl+e1iP3pU3fWcQdqUO0802n8=; b=iOkquUigAD5ovo877R4UglKVH5Y+wTXfRth34IDvCTx9yya2X8IIkM2W5l4ritKNMTzqU3 L0VhhYqtvYJrSNbOHiM1lq4u3OHocKbnrGMSOXs14hIC5eV2kgfYG5epYsFQ/5CBT76yXc Wub2hdk5ZZSnI0v6ySjdyTNjcZn5MsenQU4+2rfJEP2Mn3+LybbZ2ivJY/9kzAfzBCfySm qKoaRFklombWSPWwgQ0D595ZA2/KNRNUAxoGn3L9XRqbgAJKvOR47ULUX9+Lw7C8R4ckIk plpy8vhFBOGQjkkoJsnUNzYkR/ph8oQE+tTovMkYlCUzn2zfl/238917VkreBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710516418; a=rsa-sha256; cv=none; b=SyrFVW9Xgta/wRK7rFyTyY47Ne0YqvG+J0LC5ve+BffJLVRgQDInHMQJvV5W2LOosBAW5o twL17C3A0T/sW1irKXFPDN93j3uuecjRpF4AFrCOd7/C3wNPFssVnOYFdej5+y4KU8mI5o +wLRneLEYfY1YzuMalr8/pDgRAqJzHBYTLVdGGXDRbuQvXo2LNM3ahW/mRn+BZl84HVXz2 Z11dWnAXByuVn5HafJotIxEIQWDUlARr5YUOfI9Mpsgnpx+SfuQCRe61pMgj4SBg4DV2KS o/Xz/ZFWGMujP2svw3fPBZBuody2AEi0xFhss0MP32tvg9HKZBWeW4z47sL6Lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710516418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4XR+uVYoOhxrTK6DTiKl+e1iP3pU3fWcQdqUO0802n8=; b=Y9qNKCt/+nGOLAkZNPcRa31t/J/SfL/wJFKZnxRsc8F9eTvfJmEQrQV87kG2+5fem2P8el JD93/N8UlrT+s6kiUYbm+bYEqlP3lkxXnWcbwuE0fEVygklxNR7Hq2nw1ks4TNqLY/17Hw i24dXHKFGooVCC/ofRSUsfpVyYIIIOiyY7jDSdcKanob7SfbNQ+3/TrCeLXEPPV6g12CdW ZJ5tSOzKIhD1eucKikayTF8pf+9X4KnWAxHPC0xzpvBTUt8XELdZEjEAEb7hHpctuMz1ms Aj19UBKDTfpeicQ1ZTg60VnVwIL0KLi4xBWYWEF5JZJKLen5Ze1N0h9wDPfUDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx7QV664FzGvM; Fri, 15 Mar 2024 15:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FFQw5H047701; Fri, 15 Mar 2024 15:26:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FFQwmJ047698; Fri, 15 Mar 2024 15:26:58 GMT (envelope-from git) Date: Fri, 15 Mar 2024 15:26:58 GMT Message-Id: <202403151526.42FFQwmJ047698@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 1b38f851d809 - main - nvmecontrol: Update the test for a valid firmare revision slot List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b38f851d809950cfe112c705029f40edd0579b3 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1b38f851d809950cfe112c705029f40edd0579b3 commit 1b38f851d809950cfe112c705029f40edd0579b3 Author: John Baldwin AuthorDate: 2024-03-15 15:18:47 +0000 Commit: John Baldwin CommitDate: 2024-03-15 15:18:47 +0000 nvmecontrol: Update the test for a valid firmare revision slot Reported by: Coverity Scan CID: 1539214 Fixes: 7485926e09a0 nvme: Firmware revisions in the firmware slot info logpage are ASCII strings --- sbin/nvmecontrol/firmware.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/nvmecontrol/firmware.c b/sbin/nvmecontrol/firmware.c index 9e60bd0cee37..9ce2daf28d65 100644 --- a/sbin/nvmecontrol/firmware.c +++ b/sbin/nvmecontrol/firmware.c @@ -104,7 +104,7 @@ slot_has_valid_firmware(int fd, int slot) read_logpage(fd, NVME_LOG_FIRMWARE_SLOT, NVME_GLOBAL_NAMESPACE_TAG, 0, 0, 0, &fw, sizeof(fw)); - if (fw.revision[slot-1] != 0LLU) + if (fw.revision[slot-1][0] != '\0') has_fw = true; return (has_fw); From nobody Fri Mar 15 17:10:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx9k62cvxz5Dmsp; Fri, 15 Mar 2024 17:10:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx9k629klz4m6B; Fri, 15 Mar 2024 17:10:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nXdgPSwbmGDLYktzR2KSG+fsB84oR/CXylGbtc2Ux8g=; b=Xeg7yfNCWTEsCAq9OJiWByz+fWL6nmQ1i0Me7A2rL9LPCajL6jwXZN88EtM0wV6BFOqEG3 uTxaO6R3dNsnMDrLuPpRsx4OpkXiFt7y8Rhyta4G2YmLXzAqBM4F6QvyuxwjjVAB6WBy8c D4fi8hzYzk+7fAvNvyL+v/lS0eVh0OdekuULFgghC67JivDuXYPnqGEjRnwIbRpy8itTGQ Vg6CxFqEbTSw+ZdTNdQpcca0MdOQORL8doOKsbY5eOrQ8+rOv/Ubod4RtuChxipowwxoy0 /Wxl31oN7T1mrnAd2NKKRHW8T0fCCX3VEPTYxpK/KCbt20dBvzz/bgNqXKzwHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710522638; a=rsa-sha256; cv=none; b=EIibesInXNHpHU6gTh+E3oXrMmITkC184vjsJX/7DD1EzKtgMOlZkupY1+HJ4ENGQxk0sz FC1jxrGGlJg1jKeXCB59nNue/lnySCS4wIHnKCr+hq9xtz5RpKIFgough/N5PM5JeUaZ9t G0nngCz9IU0Bmpb6B7/cyRPbHNu0YXWFV4zUYKWp9dWTWcb1vZ1nr31P/aCm9sUolH9zVo vWGVAdRGQFi3PUqKWUFVQXcZlgh1cP5pE/6vDHtP1yIeGfbFXEvvn7MJbgX0VfvU1Bhkfa dJjoxXv4fbM9HkAx11C/ikJxm5s3Ehkcf1R42gIolJOzSnWSFe75QjseFgcS5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nXdgPSwbmGDLYktzR2KSG+fsB84oR/CXylGbtc2Ux8g=; b=UkYX7XwQl2Rbbi7zSv8hEJrJpQa4AnceTZIsyQrJEA6Aks/07bjiDbnnD7tBf1viPyD2yX ko2qSIK+1BpCEEPwzQgYjVFLgY/8FsnEfsKIt+ctko5crC4/p4pNdhMCooufAJtmYmLkbO LGAet1T/Y0aLc8pFi9dQjWPwnGklY1KvcpXPk97RB4l4v6b2pJChEh2yyBV6DRqhsrVraz XQHwObPrrq9iHLvt0VYq3XhTTFWMaMsaIFw6coRU1wj54Pqkbq3Cm85lBmGiVy0n+5n4rn N8rNHGvpipfMkhQMdeia1hm0wAO1WrTX2F74kzIki7v/a7Fg6TohNDheDcTNVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx9k61msTzKSy; Fri, 15 Mar 2024 17:10:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FHAcRf026111; Fri, 15 Mar 2024 17:10:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FHAchr026108; Fri, 15 Mar 2024 17:10:38 GMT (envelope-from git) Date: Fri, 15 Mar 2024 17:10:38 GMT Message-Id: <202403151710.42FHAchr026108@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: eab7ae7811f6 - main - arm64 gicv3: Use void pointers instead of vm_offset_t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eab7ae7811f6ce2db7721774b1a2b4f6db1d7f8c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=eab7ae7811f6ce2db7721774b1a2b4f6db1d7f8c commit eab7ae7811f6ce2db7721774b1a2b4f6db1d7f8c Author: John Baldwin AuthorDate: 2024-03-15 17:09:29 +0000 Commit: John Baldwin CommitDate: 2024-03-15 17:09:29 +0000 arm64 gicv3: Use void pointers instead of vm_offset_t This removes the need for local diffs in CheriBSD where vm_offset_t is an address and not the same as a uintptr_t. No functional change. Reviewed by: imp, andrew Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44341 --- sys/arm64/arm64/gicv3_its.c | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 9fcf13fe433b..2ad5cce68704 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -157,7 +157,7 @@ struct its_dev { /* List of assigned LPIs */ struct lpi_chunk lpis; /* Virtual address of ITT */ - vm_offset_t itt; + void *itt; size_t itt_size; }; @@ -221,7 +221,7 @@ struct its_cmd { /* An ITS private table */ struct its_ptable { - vm_offset_t ptab_vaddr; + void *ptab_vaddr; /* Size of the L1 and L2 tables */ size_t ptab_l1_size; size_t ptab_l2_size; @@ -267,7 +267,7 @@ struct gicv3_its_softc { * single copy of each across the interrupt controller. */ uint8_t *sc_conf_base; - vm_offset_t sc_pend_base[MAXCPU]; + void *sc_pend_base[MAXCPU]; /* Command handling */ struct mtx sc_its_cmd_lock; @@ -501,7 +501,7 @@ gicv3_its_table_supports_indirect(struct gicv3_its_softc *sc, int table) static int gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) { - vm_offset_t table; + void *table; vm_paddr_t paddr; uint64_t cache, reg, share, tmp, type; size_t its_tbl_size, nitspages, npages; @@ -601,7 +601,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) npages = howmany(its_tbl_size, PAGE_SIZE); /* Allocate the table */ - table = (vm_offset_t)contigmalloc_domainset(npages * PAGE_SIZE, + table = contigmalloc_domainset(npages * PAGE_SIZE, M_GICV3_ITS, sc->sc_ds, M_WAITOK | M_ZERO, 0, (1ul << 48) - 1, PAGE_SIZE_64K, 0); @@ -705,7 +705,7 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc) conf_pa &= GICR_PROPBASER_PA_MASK; /* * If there was a pre-existing PROPBASER, then we need to honor - * it because implemenetation defined behavior in gicv3 makes it + * it because implementation defined behavior in gicv3 makes it * impossible to quiesce to change it out. We will only see a * pre-existing one when we've been kexec'd from a Linux kernel, * or from a LinuxBoot environment. @@ -716,11 +716,11 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc) * so we panic for this case. */ if (!physmem_excluded(conf_pa, LPI_CONFTAB_SIZE)) - panic("gicv3 PROPBASER needs to reuse %#lx, but not reserved\n", + panic("gicv3 PROPBASER needs to reuse %#lx, but not reserved", conf_pa); conf_va = PHYS_TO_DMAP(conf_pa); if (!pmap_klookup(conf_va, NULL)) - panic("Can't mapped prior LPI mapping into VA\n"); + panic("Cannot map prior LPI mapping into KVA"); conf_table = (void *)conf_va; extra_flags = ITS_FLAGS_LPI_PREALLOC | ITS_FLAGS_LPI_CONF_FLUSH; if (bootverbose) @@ -728,7 +728,6 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc) "LPI enabled, conf table using pa %#lx va %lx\n", conf_pa, conf_va); } else { - /* * Otherwise just allocate contiguous pages. We'll configure the * PROPBASER register later in its_init_cpu_lpi(). @@ -757,12 +756,12 @@ gicv3_its_pendtables_init(struct gicv3_its_softc *sc) if (CPU_ISSET(i, &sc->sc_cpus) == 0) continue; - sc->sc_pend_base[i] = (vm_offset_t)contigmalloc( + sc->sc_pend_base[i] = contigmalloc( LPI_PENDTAB_SIZE, M_GICV3_ITS, M_WAITOK | M_ZERO, 0, LPI_PENDTAB_MAX_ADDR, LPI_PENDTAB_ALIGN, 0); /* Flush so the ITS can see the memory */ - cpu_dcache_wb_range(sc->sc_pend_base[i], + cpu_dcache_wb_range((vm_offset_t)sc->sc_pend_base[i], LPI_PENDTAB_SIZE); } } @@ -855,14 +854,14 @@ its_init_cpu_lpi(device_t dev, struct gicv3_its_softc *sc) /* Make sure the GIC has seen everything */ dsb(sy); } else { - KASSERT(sc->sc_pend_base[cpuid] == 0, + KASSERT(sc->sc_pend_base[cpuid] == NULL, ("PREALLOC too soon cpuid %d", cpuid)); tmp = gic_r_read_8(gicv3, GICR_PENDBASER); tmp &= GICR_PENDBASER_PA_MASK; if (!physmem_excluded(tmp, LPI_PENDTAB_SIZE)) panic("gicv3 PENDBASER on cpu %d needs to reuse 0x%#lx, but not reserved\n", cpuid, tmp); - sc->sc_pend_base[cpuid] = PHYS_TO_DMAP(tmp); + sc->sc_pend_base[cpuid] = (void *)PHYS_TO_DMAP(tmp); } @@ -1337,7 +1336,7 @@ static bool its_device_alloc(struct gicv3_its_softc *sc, int devid) { struct its_ptable *ptable; - vm_offset_t l2_table; + void *l2_table; uint64_t *table; uint32_t index; bool shareable; @@ -1392,12 +1391,12 @@ its_device_alloc(struct gicv3_its_softc *sc, int devid) if ((ptable->ptab_share & GITS_BASER_SHARE_MASK) == GITS_BASER_SHARE_NS) shareable = false; - l2_table = (vm_offset_t)contigmalloc_domainset(ptable->ptab_l2_size, + l2_table = contigmalloc_domainset(ptable->ptab_l2_size, M_GICV3_ITS, sc->sc_ds, M_WAITOK | M_ZERO, 0, (1ul << 48) - 1, ptable->ptab_page_size, 0); if (!shareable) - cpu_dcache_wb_range(l2_table, ptable->ptab_l2_size); + cpu_dcache_wb_range((vm_offset_t)l2_table, ptable->ptab_l2_size); table[index] = vtophys(l2_table) | GITS_BASER_VALID; if (!shareable) @@ -1453,10 +1452,10 @@ its_device_get(device_t dev, device_t child, u_int nvecs) * PA has to be 256 B aligned. At least two entries for device. */ its_dev->itt_size = roundup2(MAX(nvecs, 2) * esize, 256); - its_dev->itt = (vm_offset_t)contigmalloc_domainset(its_dev->itt_size, + its_dev->itt = contigmalloc_domainset(its_dev->itt_size, M_GICV3_ITS, sc->sc_ds, M_NOWAIT | M_ZERO, 0, LPI_INT_TRANS_TAB_MAX_ADDR, LPI_INT_TRANS_TAB_ALIGN, 0); - if (its_dev->itt == 0) { + if (its_dev->itt == NULL) { vmem_free(sc->sc_irq_alloc, its_dev->lpis.lpi_base, nvecs); free(its_dev, M_GICV3_ITS); return (NULL); @@ -1464,7 +1463,7 @@ its_device_get(device_t dev, device_t child, u_int nvecs) /* Make sure device sees zeroed ITT. */ if ((sc->sc_its_flags & ITS_FLAGS_CMDQ_FLUSH) != 0) - cpu_dcache_wb_range(its_dev->itt, its_dev->itt_size); + cpu_dcache_wb_range((vm_offset_t)its_dev->itt, its_dev->itt_size); mtx_lock_spin(&sc->sc_its_dev_lock); TAILQ_INSERT_TAIL(&sc->sc_its_dev_list, its_dev, entry); @@ -1495,8 +1494,8 @@ its_device_release(device_t dev, struct its_dev *its_dev) mtx_unlock_spin(&sc->sc_its_dev_lock); /* Free ITT */ - KASSERT(its_dev->itt != 0, ("Invalid ITT in valid ITS device")); - contigfree((void *)its_dev->itt, its_dev->itt_size, M_GICV3_ITS); + KASSERT(its_dev->itt != NULL, ("Invalid ITT in valid ITS device")); + contigfree(its_dev->itt, its_dev->itt_size, M_GICV3_ITS); /* Free the IRQ allocation */ vmem_free(sc->sc_irq_alloc, its_dev->lpis.lpi_base, From nobody Fri Mar 15 17:10:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx9k75NDjz5Dn80; Fri, 15 Mar 2024 17:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx9k731L1z4mDX; Fri, 15 Mar 2024 17:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5uxyZOHAR3EcxxVKESVggTj6aur6KgRj1EcrPtqCvtA=; b=C05DKTRDuwqwA+rOKU2tgDUk+bYvYJqJTVAtf8L5EdKU7X5tarhu6cZeYM6pKcAR6m4+7m wIK4avGmO+A/B5AJjIoZuHLYNGjRlLu0rzTX3iUNI5uMk4K5vzi1xzjNFJbi6KjVE2weF2 3L+a/Rm1OgLoLflX7SdKC8EQ5StjfCK+ir7ZnHmtqdB6EOEmrsK2PsZ9+qnsZ0NyO3Ih6u n9GUO+I5A7HNmEP4w1HTBcI+ZYxPir1hWRIF1PZQBCRorz62k469nDRWCtRAaBt7rpTTzg x3YkC8CVIPNCUK0/sDEHXMVJDr1tbt3iLu86COFgxiFGAPwJotz2keuv+Z3gXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710522639; a=rsa-sha256; cv=none; b=yDBD55Ed5dKdCAJ5HyMmxBpPHp2A7tpAfccInIaDQeaXtZ3GuOV138+MdDLvite2SFg7e7 ZsvZJDhZpPaugYCanVxCCNA/o44RNP6mG+bHapP4gJ7Pz57jkrKhagLz2HD+dmyXvNKitA XUodWUQI9PFsOTxK6NfCsP80i136BeeLQZBLd3nJ34PBAcQfNOFB/2Fg4jhCfGC5rIXfPW InV8wggXrX/dbue2xsuW9oQ3FoCPdlIST3Nxbc+R52ASrvgoWrcuEMnGcQQ4Zy1aNGkioz pcgjRLGjE2NLW1XAx2xyMjhVojjujIChyvCf9B5jhyYLhHFOI58UikHgXekI6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5uxyZOHAR3EcxxVKESVggTj6aur6KgRj1EcrPtqCvtA=; b=IBEWTulEpi1ICC18hNtY4p88cn36vRiVhrZGM5H7M9Fpw62lReAw5YV/JIaBDlk8gZrBfo 9zv2jc3OWvmasrJAgVhk/C2GeqdlIpS2BKYlwj7nl5lofcYqtERDzOd2ZEew8caMgwHDzH jArR0JBIrPBHRcX1D8w5MDdY0EyPe4WISApTRJoNLzSW6NXMlw+c78z+onA8pyJ30mxQev s5CG0qx4bJjQLdRNwv2DXH+p92GluwlT0QTzYyf9q3ruuhdgr7tPBqJTO2r2RY4OEZP2/0 SPOzpPM7EU1dhGL1AIDRfRLJOwbPqKZja9rNEHeYn2RAKsZlUkbISGqCNNOtDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx9k72cbszKNC; Fri, 15 Mar 2024 17:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FHAdkg026170; Fri, 15 Mar 2024 17:10:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FHAdCD026166; Fri, 15 Mar 2024 17:10:39 GMT (envelope-from git) Date: Fri, 15 Mar 2024 17:10:39 GMT Message-Id: <202403151710.42FHAdCD026166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 1e3f42b6bad5 - main - arm64: Switch the address argument to cpu_*cache* to a pointer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e3f42b6bad58f001b9c88404bd818991f34d398 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1e3f42b6bad58f001b9c88404bd818991f34d398 commit 1e3f42b6bad58f001b9c88404bd818991f34d398 Author: John Baldwin AuthorDate: 2024-03-15 17:09:49 +0000 Commit: John Baldwin CommitDate: 2024-03-15 17:09:49 +0000 arm64: Switch the address argument to cpu_*cache* to a pointer No functional change, but this reduces diffs with CheriBSD downstream. Reviewed by: andrew Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44342 --- sys/arm64/arm64/busdma_bounce.c | 18 +++++++++--------- sys/arm64/arm64/cpufunc_asm.S | 14 +++++++------- sys/arm64/arm64/db_interface.c | 2 +- sys/arm64/arm64/elf_machdep.c | 2 +- sys/arm64/arm64/freebsd32_machdep.c | 3 ++- sys/arm64/arm64/gicv3_its.c | 17 ++++++++--------- sys/arm64/arm64/identcpu.c | 2 +- sys/arm64/arm64/pmap.c | 16 +++++++++------- sys/arm64/include/cpufunc.h | 16 ++++++++-------- sys/arm64/include/kdb.h | 2 +- sys/cddl/dev/fbt/aarch64/fbt_isa.c | 2 +- sys/cddl/dev/kinst/aarch64/kinst_isa.c | 6 ++---- 12 files changed, 50 insertions(+), 50 deletions(-) diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_bounce.c index ec2dfe76894c..e62794da2753 100644 --- a/sys/arm64/arm64/busdma_bounce.c +++ b/sys/arm64/arm64/busdma_bounce.c @@ -985,15 +985,15 @@ bounce_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) } static void -dma_preread_safe(vm_offset_t va, vm_size_t size) +dma_preread_safe(char *va, vm_size_t size) { /* * Write back any partial cachelines immediately before and * after the DMA region. */ - if (va & (dcache_line_size - 1)) + if (!__is_aligned(va, dcache_line_size)) cpu_dcache_wb_range(va, 1); - if ((va + size) & (dcache_line_size - 1)) + if (!__is_aligned(va + size, dcache_line_size)) cpu_dcache_wb_range(va + size, 1); cpu_dcache_inv_range(va, size); @@ -1030,7 +1030,7 @@ dma_dcache_sync(struct sync_list *sl, bus_dmasync_op_t op) switch (op) { case BUS_DMASYNC_PREWRITE: case BUS_DMASYNC_PREWRITE | BUS_DMASYNC_PREREAD: - cpu_dcache_wb_range(va, len); + cpu_dcache_wb_range((void *)va, len); break; case BUS_DMASYNC_PREREAD: /* @@ -1043,11 +1043,11 @@ dma_dcache_sync(struct sync_list *sl, bus_dmasync_op_t op) * misalignment. Buffers which are not mbufs bounce if * they are not aligned to a cacheline. */ - dma_preread_safe(va, len); + dma_preread_safe((void *)va, len); break; case BUS_DMASYNC_POSTREAD: case BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE: - cpu_dcache_inv_range(va, len); + cpu_dcache_inv_range((void *)va, len); break; default: panic("unsupported combination of sync operations: " @@ -1097,7 +1097,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, if (tempvaddr != 0) pmap_quick_remove_page(tempvaddr); if ((map->flags & DMAMAP_COHERENT) == 0) - cpu_dcache_wb_range(bpage->vaddr, + cpu_dcache_wb_range((void *)bpage->vaddr, bpage->datacount); bpage = STAILQ_NEXT(bpage, links); } @@ -1105,7 +1105,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, } else if ((op & BUS_DMASYNC_PREREAD) != 0) { while (bpage != NULL) { if ((map->flags & DMAMAP_COHERENT) == 0) - cpu_dcache_wbinv_range(bpage->vaddr, + cpu_dcache_wbinv_range((void *)bpage->vaddr, bpage->datacount); bpage = STAILQ_NEXT(bpage, links); } @@ -1114,7 +1114,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, if ((op & BUS_DMASYNC_POSTREAD) != 0) { while (bpage != NULL) { if ((map->flags & DMAMAP_COHERENT) == 0) - cpu_dcache_inv_range(bpage->vaddr, + cpu_dcache_inv_range((void *)bpage->vaddr, bpage->datacount); tempvaddr = 0; datavaddr = bpage->datavaddr; diff --git a/sys/arm64/arm64/cpufunc_asm.S b/sys/arm64/arm64/cpufunc_asm.S index 8163e6c3d0d0..5a668aeb542e 100644 --- a/sys/arm64/arm64/cpufunc_asm.S +++ b/sys/arm64/arm64/cpufunc_asm.S @@ -104,7 +104,7 @@ ENTRY(arm64_tlb_flushID) END(arm64_tlb_flushID) /* - * void arm64_dcache_wb_range(vm_offset_t, vm_size_t) + * void arm64_dcache_wb_range(void *, vm_size_t) */ ENTRY(arm64_dcache_wb_range) cache_handle_range dcop = cvac @@ -112,7 +112,7 @@ ENTRY(arm64_dcache_wb_range) END(arm64_dcache_wb_range) /* - * void arm64_dcache_wbinv_range(vm_offset_t, vm_size_t) + * void arm64_dcache_wbinv_range(void *, vm_size_t) */ ENTRY(arm64_dcache_wbinv_range) cache_handle_range dcop = civac @@ -120,7 +120,7 @@ ENTRY(arm64_dcache_wbinv_range) END(arm64_dcache_wbinv_range) /* - * void arm64_dcache_inv_range(vm_offset_t, vm_size_t) + * void arm64_dcache_inv_range(void *, vm_size_t) * * Note, we must not invalidate everything. If the range is too big we * must use wb-inv of the entire cache. @@ -131,7 +131,7 @@ ENTRY(arm64_dcache_inv_range) END(arm64_dcache_inv_range) /* - * void arm64_dic_idc_icache_sync_range(vm_offset_t, vm_size_t) + * void arm64_dic_idc_icache_sync_range(void *, vm_size_t) * When the CTR_EL0.IDC bit is set cleaning to PoU becomes a dsb. * When the CTR_EL0.DIC bit is set icache invalidation becomes an isb. */ @@ -142,7 +142,7 @@ ENTRY(arm64_dic_idc_icache_sync_range) END(arm64_dic_idc_icache_sync_range) /* - * void arm64_idc_aliasing_icache_sync_range(vm_offset_t, vm_size_t) + * void arm64_idc_aliasing_icache_sync_range(void *, vm_size_t) * When the CTR_EL0.IDC bit is set cleaning to PoU becomes a dsb. */ ENTRY(arm64_idc_aliasing_icache_sync_range) @@ -154,7 +154,7 @@ ENTRY(arm64_idc_aliasing_icache_sync_range) END(arm64_idc_aliasing_icache_sync_range) /* - * void arm64_aliasing_icache_sync_range(vm_offset_t, vm_size_t) + * void arm64_aliasing_icache_sync_range(void *, vm_size_t) */ ENTRY(arm64_aliasing_icache_sync_range) /* @@ -170,7 +170,7 @@ ENTRY(arm64_aliasing_icache_sync_range) END(arm64_aliasing_icache_sync_range) /* - * int arm64_icache_sync_range_checked(vm_offset_t, vm_size_t) + * int arm64_icache_sync_range_checked(void *, vm_size_t) */ ENTRY(arm64_icache_sync_range_checked) adr x5, cache_maint_fault diff --git a/sys/arm64/arm64/db_interface.c b/sys/arm64/arm64/db_interface.c index 0b1c58ca88a0..1aaec9665550 100644 --- a/sys/arm64/arm64/db_interface.c +++ b/sys/arm64/arm64/db_interface.c @@ -175,7 +175,7 @@ db_write_bytes(vm_offset_t addr, size_t size, char *data) * Ensure the I & D cache are in sync if we wrote * to executable memory. */ - cpu_icache_sync_range(addr, (vm_size_t)size); + cpu_icache_sync_range((void *)addr, (vm_size_t)size); } } (void)kdb_jmpbuf(prev_jb); diff --git a/sys/arm64/arm64/elf_machdep.c b/sys/arm64/arm64/elf_machdep.c index 350651c42723..d5b420a8b519 100644 --- a/sys/arm64/arm64/elf_machdep.c +++ b/sys/arm64/arm64/elf_machdep.c @@ -299,7 +299,7 @@ elf_cpu_load_file(linker_file_t lf) { if (lf->id != 1) - cpu_icache_sync_range((vm_offset_t)lf->address, lf->size); + cpu_icache_sync_range(lf->address, lf->size); return (0); } diff --git a/sys/arm64/arm64/freebsd32_machdep.c b/sys/arm64/arm64/freebsd32_machdep.c index b25ebd50166d..fc979e193d1a 100644 --- a/sys/arm64/arm64/freebsd32_machdep.c +++ b/sys/arm64/arm64/freebsd32_machdep.c @@ -94,7 +94,8 @@ freebsd32_sysarch(struct thread *td, struct freebsd32_sysarch_args *uap) return (error); if ((uint64_t)args.addr + (uint64_t)args.size > 0xffffffff) return (EINVAL); - cpu_icache_sync_range_checked(args.addr, args.size); + cpu_icache_sync_range_checked( + (void *)(uintptr_t)args.addr, args.size); return 0; } case ARM_GET_VFPSTATE: diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 2ad5cce68704..31a0ded6c95d 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -744,7 +744,7 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc) LPI_CONFTAB_SIZE); /* Flush the table to memory */ - cpu_dcache_wb_range((vm_offset_t)sc->sc_conf_base, LPI_CONFTAB_SIZE); + cpu_dcache_wb_range(sc->sc_conf_base, LPI_CONFTAB_SIZE); } static void @@ -761,7 +761,7 @@ gicv3_its_pendtables_init(struct gicv3_its_softc *sc) 0, LPI_PENDTAB_MAX_ADDR, LPI_PENDTAB_ALIGN, 0); /* Flush so the ITS can see the memory */ - cpu_dcache_wb_range((vm_offset_t)sc->sc_pend_base[i], + cpu_dcache_wb_range(sc->sc_pend_base[i], LPI_PENDTAB_SIZE); } } @@ -1158,7 +1158,7 @@ gicv3_its_disable_intr(device_t dev, struct intr_irqsrc *isrc) if ((sc->sc_its_flags & ITS_FLAGS_LPI_CONF_FLUSH) != 0) { /* Clean D-cache under command. */ - cpu_dcache_wb_range((vm_offset_t)&conf[girq->gi_lpi], 1); + cpu_dcache_wb_range(&conf[girq->gi_lpi], 1); } else { /* DSB inner shareable, store */ dsb(ishst); @@ -1182,7 +1182,7 @@ gicv3_its_enable_intr(device_t dev, struct intr_irqsrc *isrc) if ((sc->sc_its_flags & ITS_FLAGS_LPI_CONF_FLUSH) != 0) { /* Clean D-cache under command. */ - cpu_dcache_wb_range((vm_offset_t)&conf[girq->gi_lpi], 1); + cpu_dcache_wb_range(&conf[girq->gi_lpi], 1); } else { /* DSB inner shareable, store */ dsb(ishst); @@ -1396,12 +1396,11 @@ its_device_alloc(struct gicv3_its_softc *sc, int devid) ptable->ptab_page_size, 0); if (!shareable) - cpu_dcache_wb_range((vm_offset_t)l2_table, ptable->ptab_l2_size); + cpu_dcache_wb_range(l2_table, ptable->ptab_l2_size); table[index] = vtophys(l2_table) | GITS_BASER_VALID; if (!shareable) - cpu_dcache_wb_range((vm_offset_t)&table[index], - sizeof(table[index])); + cpu_dcache_wb_range(&table[index], sizeof(table[index])); dsb(sy); return (true); @@ -1463,7 +1462,7 @@ its_device_get(device_t dev, device_t child, u_int nvecs) /* Make sure device sees zeroed ITT. */ if ((sc->sc_its_flags & ITS_FLAGS_CMDQ_FLUSH) != 0) - cpu_dcache_wb_range((vm_offset_t)its_dev->itt, its_dev->itt_size); + cpu_dcache_wb_range(its_dev->itt, its_dev->itt_size); mtx_lock_spin(&sc->sc_its_dev_lock); TAILQ_INSERT_TAIL(&sc->sc_its_dev_list, its_dev, entry); @@ -1861,7 +1860,7 @@ its_cmd_sync(struct gicv3_its_softc *sc, struct its_cmd *cmd) if ((sc->sc_its_flags & ITS_FLAGS_CMDQ_FLUSH) != 0) { /* Clean D-cache under command. */ - cpu_dcache_wb_range((vm_offset_t)cmd, sizeof(*cmd)); + cpu_dcache_wb_range(cmd, sizeof(*cmd)); } else { /* DSB inner shareable, store */ dsb(ishst); diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 7706c42f7fdb..c93b1292aca1 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -83,7 +83,7 @@ static void check_cpu_regs(u_int cpu, struct cpu_desc *desc, * The default implementation of I-cache sync assumes we have an * aliasing cache until we know otherwise. */ -void (*arm64_icache_sync_range)(vm_offset_t, vm_size_t) = +void (*arm64_icache_sync_range)(void *, vm_size_t) = &arm64_aliasing_icache_sync_range; static int diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 21912535bb6a..ba72f1dac8d0 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -4738,10 +4738,11 @@ validate: m->md.pv_memattr == VM_MEMATTR_WRITE_BACK && (opa != pa || (orig_l3 & ATTR_S1_XN))) { PMAP_ASSERT_STAGE1(pmap); - cpu_icache_sync_range(PHYS_TO_DMAP(pa), PAGE_SIZE); + cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa), + PAGE_SIZE); } } else { - cpu_dcache_wb_range(PHYS_TO_DMAP(pa), PAGE_SIZE); + cpu_dcache_wb_range((void *)PHYS_TO_DMAP(pa), PAGE_SIZE); } /* @@ -5006,7 +5007,7 @@ pmap_enter_l2(pmap_t pmap, vm_offset_t va, pd_entry_t new_l2, u_int flags, if ((new_l2 & ATTR_S1_XN) == 0 && (PTE_TO_PHYS(new_l2) != PTE_TO_PHYS(old_l2) || (old_l2 & ATTR_S1_XN) != 0) && pmap != kernel_pmap && m->md.pv_memattr == VM_MEMATTR_WRITE_BACK) { - cpu_icache_sync_range(PHYS_TO_DMAP(PTE_TO_PHYS(new_l2)), + cpu_icache_sync_range((void *)PHYS_TO_DMAP(PTE_TO_PHYS(new_l2)), L2_SIZE); } @@ -5219,7 +5220,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, /* Sync icache before the mapping is stored to PTE */ if ((prot & VM_PROT_EXECUTE) && pmap != kernel_pmap && m->md.pv_memattr == VM_MEMATTR_WRITE_BACK) - cpu_icache_sync_range(PHYS_TO_DMAP(pa), PAGE_SIZE); + cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa), PAGE_SIZE); pmap_store(l3, l3_val); dsb(ishst); @@ -6990,7 +6991,7 @@ pmap_change_props_locked(vm_offset_t va, vm_size_t size, vm_prot_t prot, * the cache. */ if (mode == VM_MEMATTR_UNCACHEABLE) - cpu_dcache_wbinv_range(tmpva, pte_size); + cpu_dcache_wbinv_range((void *)tmpva, pte_size); tmpva += pte_size; } } @@ -7673,7 +7674,7 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_t sz) ("%s: Address not in canonical form: %lx", __func__, va)); if (ADDR_IS_KERNEL(va)) { - cpu_icache_sync_range(va, sz); + cpu_icache_sync_range((void *)va, sz); } else { u_int len, offset; vm_paddr_t pa; @@ -7686,7 +7687,8 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_t sz) /* Extract the physical address & find it in the DMAP */ pa = pmap_extract(pmap, va); if (pa != 0) - cpu_icache_sync_range(PHYS_TO_DMAP(pa), len); + cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa), + len); /* Move to the next page */ sz -= len; diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h index 4062da996ee3..1903af965a68 100644 --- a/sys/arm64/include/cpufunc.h +++ b/sys/arm64/include/cpufunc.h @@ -177,20 +177,20 @@ extern int64_t dczva_line_size; #define cpu_dcache_inv_range(a, s) arm64_dcache_inv_range((a), (s)) #define cpu_dcache_wb_range(a, s) arm64_dcache_wb_range((a), (s)) -extern void (*arm64_icache_sync_range)(vm_offset_t, vm_size_t); +extern void (*arm64_icache_sync_range)(void *, vm_size_t); #define cpu_icache_sync_range(a, s) arm64_icache_sync_range((a), (s)) #define cpu_icache_sync_range_checked(a, s) arm64_icache_sync_range_checked((a), (s)) void arm64_nullop(void); void arm64_tlb_flushID(void); -void arm64_dic_idc_icache_sync_range(vm_offset_t, vm_size_t); -void arm64_idc_aliasing_icache_sync_range(vm_offset_t, vm_size_t); -void arm64_aliasing_icache_sync_range(vm_offset_t, vm_size_t); -int arm64_icache_sync_range_checked(vm_offset_t, vm_size_t); -void arm64_dcache_wbinv_range(vm_offset_t, vm_size_t); -void arm64_dcache_inv_range(vm_offset_t, vm_size_t); -void arm64_dcache_wb_range(vm_offset_t, vm_size_t); +void arm64_dic_idc_icache_sync_range(void *, vm_size_t); +void arm64_idc_aliasing_icache_sync_range(void *, vm_size_t); +void arm64_aliasing_icache_sync_range(void *, vm_size_t); +int arm64_icache_sync_range_checked(void *, vm_size_t); +void arm64_dcache_wbinv_range(void *, vm_size_t); +void arm64_dcache_inv_range(void *, vm_size_t); +void arm64_dcache_wb_range(void *, vm_size_t); bool arm64_get_writable_addr(vm_offset_t, vm_offset_t *); #endif /* _KERNEL */ diff --git a/sys/arm64/include/kdb.h b/sys/arm64/include/kdb.h index e68c81824c15..aa36e7e756f9 100644 --- a/sys/arm64/include/kdb.h +++ b/sys/arm64/include/kdb.h @@ -44,7 +44,7 @@ static __inline void kdb_cpu_sync_icache(unsigned char *addr, size_t size) { - cpu_icache_sync_range((vm_offset_t)addr, size); + cpu_icache_sync_range(addr, size); } static __inline void diff --git a/sys/cddl/dev/fbt/aarch64/fbt_isa.c b/sys/cddl/dev/fbt/aarch64/fbt_isa.c index a3dad017e8b4..30117202f8e7 100644 --- a/sys/cddl/dev/fbt/aarch64/fbt_isa.c +++ b/sys/cddl/dev/fbt/aarch64/fbt_isa.c @@ -77,7 +77,7 @@ fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val) panic("%s: Unable to write new instruction", __func__); *(fbt_patchval_t *)addr = val; - cpu_icache_sync_range((vm_offset_t)fbt->fbtp_patchpoint, 4); + cpu_icache_sync_range(fbt->fbtp_patchpoint, 4); } int diff --git a/sys/cddl/dev/kinst/aarch64/kinst_isa.c b/sys/cddl/dev/kinst/aarch64/kinst_isa.c index bf3ab1d35de3..0e5d5eee2979 100644 --- a/sys/cddl/dev/kinst/aarch64/kinst_isa.c +++ b/sys/cddl/dev/kinst/aarch64/kinst_isa.c @@ -153,8 +153,7 @@ kinst_trampoline_populate(struct kinst_probe *kp) kinst_memcpy(kp->kp_tramp, &kp->kp_savedval, INSN_SIZE); kinst_memcpy(&kp->kp_tramp[INSN_SIZE], &bpt, INSN_SIZE); - cpu_icache_sync_range((vm_offset_t)kp->kp_tramp, - (vm_size_t)KINST_TRAMP_SIZE); + cpu_icache_sync_range(kp->kp_tramp, KINST_TRAMP_SIZE); } /* @@ -241,8 +240,7 @@ kinst_patch_tracepoint(struct kinst_probe *kp, kinst_patchval_t val) if (!arm64_get_writable_addr((vm_offset_t)kp->kp_patchpoint, &addr)) panic("%s: Unable to write new instruction", __func__); *(kinst_patchval_t *)addr = val; - cpu_icache_sync_range((vm_offset_t)kp->kp_patchpoint, - (vm_size_t)INSN_SIZE); + cpu_icache_sync_range(kp->kp_patchpoint, INSN_SIZE); } static void From nobody Fri Mar 15 17:10:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx9k85g6Tz5Dn6M; Fri, 15 Mar 2024 17:10:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx9k842jbz4mDb; Fri, 15 Mar 2024 17:10:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bXkyxXWlrPTFVW7SzL5neDWcoZDHZRF5eg2rwyox0ps=; b=Z+w3MLyck2kWQF2h7vBTv0dhSZQrFmsudleFv90N1zolNy+PvYt61U2TL9vzE98WN/WZI4 PwRsu7UYJuNLz+LEZf90gcW/3PTS6TcILyu0CDKnFnboorr1rTdiXJlfsyB2fMlamNB88D HErGEXoXA/F9g2Uj2uzBykqxMDE+IHOqjGExGlthuxV4fDALpokXK61MwmGXjIEkeq5GLS 29BpdnGeywhdGhrismm8KAPw37lmvaJXgSBCp+Nig+S3pKN/Gmb2yfhiruz53wDRa2NbTU TRvc9/1/hhQurU7ZySruBe/RR8ngvKn1H+n0TUbHR3EUdeRbEtXoDRDe8vYQ0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710522640; a=rsa-sha256; cv=none; b=OCyljCN8vz0afeEhqY3UY2EGvn+KJ6ng2MHD2bmI4IwryM/x4RHGf8Bd6q5iecgljlc4fu y7h+l9pOz4rpXVXrUuVIfG/PVowMJsk3maMsPpHG8pFCaY4+Dsb0zU7VN3AUSS3JsApwfr 658xwkjwvMKf0ulcmNdvPLyXff9OxGL3kt5B6skvqmyQ9ddqYpELE0ePsIFqUu3qBEN9yh KWDqIjO6kfis09BPB0wsJT7dq5ZGIABN62oRJkR2fc7Fbd2KdJwo16R1hsAcoBMudjJbew fH8DlZh6qEXlEZTCRnLV3/8RRxMMq1Y6MigneGT/HaQjqhgQ746zRSuiNiek5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bXkyxXWlrPTFVW7SzL5neDWcoZDHZRF5eg2rwyox0ps=; b=edyjNsrZ8BW4czSy7WI9psfSDQapfr77dYwrdCiBzaqgLrJrK/mrruhRmTkVgt6z9dkvid Zwx3WmfW4YkS2H0d4K8+2Hkj5DPj0858S5EqSAsfjMqQyRyCx3JzAyzjNEGQ79FgAxgELF GxK2IZj8HKRaQLdEaM79xcs6/dwGXDnDfjX1mudMdCNSRz0Ua8X3abFS+VRHDLgNDnQUaT kOLLyrKaYh+/1i7VBpwMi8V/tN8nytmx0KP1erHAxTZ3mdiAb69DhVQDMggU8sKq5uohZY 7wk2N4P0XN77sctbigEtabWQIiTzupFPHyZ5oyHvAFZNCd4lYZhvsU1sI4Ca2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx9k83gCgzKBM; Fri, 15 Mar 2024 17:10:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FHAeWi026218; Fri, 15 Mar 2024 17:10:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FHAeSu026215; Fri, 15 Mar 2024 17:10:40 GMT (envelope-from git) Date: Fri, 15 Mar 2024 17:10:40 GMT Message-Id: <202403151710.42FHAeSu026215@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 66658b0f2775 - main - arm busdma: Fix parameter types to exclusion_bounce_check List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66658b0f2775824b2a80fb56ca15e6ceae2f8240 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=66658b0f2775824b2a80fb56ca15e6ceae2f8240 commit 66658b0f2775824b2a80fb56ca15e6ceae2f8240 Author: John Baldwin AuthorDate: 2024-03-15 17:10:07 +0000 Commit: John Baldwin CommitDate: 2024-03-15 17:10:07 +0000 arm busdma: Fix parameter types to exclusion_bounce_check These are bus addresses not CPU virtual addresses. Reviewed by: andrew Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44343 --- sys/arm/arm/busdma_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c index 9ae74892ebd4..44bc96bed734 100644 --- a/sys/arm/arm/busdma_machdep.c +++ b/sys/arm/arm/busdma_machdep.c @@ -240,7 +240,7 @@ SYSINIT(busdma, SI_SUB_KMEM+1, SI_ORDER_FIRST, busdma_init, NULL); * express, so we take a fast out. */ static int -exclusion_bounce_check(vm_offset_t lowaddr, vm_offset_t highaddr) +exclusion_bounce_check(bus_addr_t lowaddr, bus_addr_t highaddr) { int i; From nobody Fri Mar 15 17:10:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Tx9k96FNsz5Dn3p; Fri, 15 Mar 2024 17:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Tx9k955J9z4mPT; Fri, 15 Mar 2024 17:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NTz7/I5ETGnsZOL5gO0A9Cv5+J2rg9qTRAtw4xeFPj8=; b=K7KT3d/LRAPKZtg87KDjeqia62dB0pLPm54+9QipGLIwep8E402+iAcTVGUBoUbVvPezu2 yd6CWeqDSEBSD30Tv/oNv5JO9c8brsL5BDuZwE71xh1eXrs1+LKb66Ip4NinG5Z8YLVm39 FvD6bEvcCDJ3cORZm9DxFtT2vOR1B0ZlvjHIu+Cl39FtQonXaz5NMXUt1qQMNHeYAbIVb0 WaZJ3OSWoYs6s6uBwRjq66par5D3QtYSX9mTrwoS3h4EK0ykNA3ai0SaI/8I/DipSkmaD4 W9u4XDPA5xkMEJRpp/LRS1KEBLLpw2BVMmU9+lLlRRnY6HVoCHA1Vak/1B/rbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710522641; a=rsa-sha256; cv=none; b=jj0ZuQOrSEkGk3gj1wBgW+in0ITwNjg6tjWoPU9ePAzY+za4IOgBkIUKLGL77QvgxKebpJ YKBwP3cHEcZbtNWpKSyv7eaLOO2H97P/iK5NZyuB6/clozX1tiSVofalZIaZ//SduRdoM4 /UFuV50gvqFyxlpHA/ZT80a7w3F9o+buc3hx2sOO/mOW7uUYK8jJf9W+Mu3kaDJy+rbjKa pxGVY7F8kA70CmTPGtjQ33SpZASmXEg80Qv6o8duEnKHZg9V1rxWxGuvjaHh5aVztc4IvL tOmZTFh+dj115YaGNxDcfuxqgWP/dbpOHb45Jp47OA26clZR0uuGAHhqKYIdng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710522641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NTz7/I5ETGnsZOL5gO0A9Cv5+J2rg9qTRAtw4xeFPj8=; b=xQWMpYpV84I51oa6CAlSoE9DuXY20+tlO11gLk7w4t7Ssui/CbVi+QGa0TciV61UitPPOo h2fzdCjpI2vfgCTD2NE1M8IWinU406iL1uuhY3MtvXr2tYsjnns9Nnzqp9aYv2Sq0j5ZCl YtL+ChxIqq/SSgtb5fCygDdNuc5ns9CYJ7jL0AuZ5+0kI+BjyyTIvUjDe6VSN+/8gI90nY w1gOIbu9TVMuosYHtzqTEq5jGsSVFf3bXgySyr7mAJGSBEUhMxk0YfKwNAWtnnRIZEEupu pxL5AMHCDEFE3TngEeAcuEMSYJuzfZVYSMKNC5oNTjWHMcolOKs8HefngF0aIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Tx9k94jh0zKc2; Fri, 15 Mar 2024 17:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FHAfrK026271; Fri, 15 Mar 2024 17:10:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FHAfo6026268; Fri, 15 Mar 2024 17:10:41 GMT (envelope-from git) Date: Fri, 15 Mar 2024 17:10:41 GMT Message-Id: <202403151710.42FHAfo6026268@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: e48770de6831 - main - arm64: Use void pointers for arguments to arm64_get_writable_addr List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e48770de6831dc152aaeb2c0b70fcfb2a346bb89 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e48770de6831dc152aaeb2c0b70fcfb2a346bb89 commit e48770de6831dc152aaeb2c0b70fcfb2a346bb89 Author: John Baldwin AuthorDate: 2024-03-15 17:10:24 +0000 Commit: John Baldwin CommitDate: 2024-03-15 17:10:24 +0000 arm64: Use void pointers for arguments to arm64_get_writable_addr No functional change, but this reduces diffs with CheriBSD downstream. Reviewed by: andrew Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44344 --- sys/arm64/arm64/db_interface.c | 6 +++--- sys/arm64/arm64/machdep.c | 11 ++++++----- sys/arm64/include/cpufunc.h | 2 +- sys/cddl/dev/fbt/aarch64/fbt_isa.c | 4 ++-- sys/cddl/dev/kinst/aarch64/kinst_isa.c | 4 ++-- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/sys/arm64/arm64/db_interface.c b/sys/arm64/arm64/db_interface.c index 1aaec9665550..79e81b210f49 100644 --- a/sys/arm64/arm64/db_interface.c +++ b/sys/arm64/arm64/db_interface.c @@ -155,7 +155,7 @@ int db_write_bytes(vm_offset_t addr, size_t size, char *data) { jmp_buf jb; - void *prev_jb; + void *prev_jb, *kaddr; char *dst; size_t i; int ret; @@ -163,7 +163,7 @@ db_write_bytes(vm_offset_t addr, size_t size, char *data) prev_jb = kdb_jmpbuf(jb); ret = setjmp(jb); if (ret == 0) { - if (!arm64_get_writable_addr(addr, &addr)) { + if (!arm64_get_writable_addr((void *)addr, &kaddr)) { ret = 1; } else { dst = (char *)addr; @@ -175,7 +175,7 @@ db_write_bytes(vm_offset_t addr, size_t size, char *data) * Ensure the I & D cache are in sync if we wrote * to executable memory. */ - cpu_icache_sync_range((void *)addr, (vm_size_t)size); + cpu_icache_sync_range(kaddr, size); } } (void)kdb_jmpbuf(prev_jb); diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 2716182ca442..50b2cd15df3f 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -424,12 +424,12 @@ init_proc0(vm_offset_t kstack) * read-only, e.g. to patch kernel code. */ bool -arm64_get_writable_addr(vm_offset_t addr, vm_offset_t *out) +arm64_get_writable_addr(void *addr, void **out) { vm_paddr_t pa; /* Check if the page is writable */ - if (PAR_SUCCESS(arm64_address_translate_s1e1w(addr))) { + if (PAR_SUCCESS(arm64_address_translate_s1e1w((vm_offset_t)addr))) { *out = addr; return (true); } @@ -437,7 +437,7 @@ arm64_get_writable_addr(vm_offset_t addr, vm_offset_t *out) /* * Find the physical address of the given page. */ - if (!pmap_klookup(addr, &pa)) { + if (!pmap_klookup((vm_offset_t)addr, &pa)) { return (false); } @@ -445,8 +445,9 @@ arm64_get_writable_addr(vm_offset_t addr, vm_offset_t *out) * If it is within the DMAP region and is writable use that. */ if (PHYS_IN_DMAP(pa)) { - addr = PHYS_TO_DMAP(pa); - if (PAR_SUCCESS(arm64_address_translate_s1e1w(addr))) { + addr = (void *)PHYS_TO_DMAP(pa); + if (PAR_SUCCESS(arm64_address_translate_s1e1w( + (vm_offset_t)addr))) { *out = addr; return (true); } diff --git a/sys/arm64/include/cpufunc.h b/sys/arm64/include/cpufunc.h index 1903af965a68..ba712f48b262 100644 --- a/sys/arm64/include/cpufunc.h +++ b/sys/arm64/include/cpufunc.h @@ -191,7 +191,7 @@ int arm64_icache_sync_range_checked(void *, vm_size_t); void arm64_dcache_wbinv_range(void *, vm_size_t); void arm64_dcache_inv_range(void *, vm_size_t); void arm64_dcache_wb_range(void *, vm_size_t); -bool arm64_get_writable_addr(vm_offset_t, vm_offset_t *); +bool arm64_get_writable_addr(void *, void **); #endif /* _KERNEL */ #endif /* _MACHINE_CPUFUNC_H_ */ diff --git a/sys/cddl/dev/fbt/aarch64/fbt_isa.c b/sys/cddl/dev/fbt/aarch64/fbt_isa.c index 30117202f8e7..4f6d28c2f32b 100644 --- a/sys/cddl/dev/fbt/aarch64/fbt_isa.c +++ b/sys/cddl/dev/fbt/aarch64/fbt_isa.c @@ -71,9 +71,9 @@ fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t rval) void fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val) { - vm_offset_t addr; + void *addr; - if (!arm64_get_writable_addr((vm_offset_t)fbt->fbtp_patchpoint, &addr)) + if (!arm64_get_writable_addr(fbt->fbtp_patchpoint, &addr)) panic("%s: Unable to write new instruction", __func__); *(fbt_patchval_t *)addr = val; diff --git a/sys/cddl/dev/kinst/aarch64/kinst_isa.c b/sys/cddl/dev/kinst/aarch64/kinst_isa.c index 0e5d5eee2979..20ca26219a55 100644 --- a/sys/cddl/dev/kinst/aarch64/kinst_isa.c +++ b/sys/cddl/dev/kinst/aarch64/kinst_isa.c @@ -235,9 +235,9 @@ kinst_invop(uintptr_t addr, struct trapframe *frame, uintptr_t scratch) void kinst_patch_tracepoint(struct kinst_probe *kp, kinst_patchval_t val) { - vm_offset_t addr; + void *addr; - if (!arm64_get_writable_addr((vm_offset_t)kp->kp_patchpoint, &addr)) + if (!arm64_get_writable_addr(kp->kp_patchpoint, &addr)) panic("%s: Unable to write new instruction", __func__); *(kinst_patchval_t *)addr = val; cpu_icache_sync_range(kp->kp_patchpoint, INSN_SIZE); From nobody Fri Mar 15 19:17:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxDXt4b00z5DyqN; Fri, 15 Mar 2024 19:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxDXt43Vjz4265; Fri, 15 Mar 2024 19:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710530270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CMNr3AXQjqnm5wDjfSmHObceeTmNll/4G95jN9NmxFQ=; b=UPCzv3z/1IRfSydTMIBIc3kNVXvpJ5DaBfdtFd0FNOmWKTtFH6AdUsGZ2PmYmw8P2xxJCd rL2P37r0jd2efS6tMrcQi7fDV48RY71steSdq+zPMxvglTJR7F3xqO+sZDjX8MghK5DPD6 MtV7OFSONrHoiMCF3dSnHSiRfYsxQ7SgVfvteRFYCibaN/Yt2tHRCuv/S7UXtJjmEPoBlJ JnSOtlsE6woC/6ponjos7urDlwEOMBbWRT+BSkYed2KTHFn6XlDcZ6ajSb6yHJQAjvIruq Or82DKLXPnP0Q5VSnSJ9W0LU66VxmulAw5mjGcjqGReWqBF5+Cl8fJA7ObQdEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710530270; a=rsa-sha256; cv=none; b=WufUgBxpm8EBVlNyWQEr+t7PZNlPJfGV1pUHD6Dgfe5adsGiOrywgFUlf91EJMbLW3UaWJ SAbMSj8rN54uoh8NDD8icRjq7HxvxNZXu5nN2hqQOBIrC9qz31apSzpcBCG8TxiPiKTfyU 1BfYhgHfVEOTb2L0g3emhVqc/zN1gcVFLwX03EGQTmfzxiRQkW03/U4Se6YCeIOl5nchfU 1Ef1Okg9qmpRVWlRuXZjlPk8JlJnMjTFPLp+xgmDn+JvZgO5QWNoympAGSPZ5OZOWi1xwo PW8x9rFJ70Uqn7kRBu0HfEbd7XTixjvkZPaFbZwy6/x91+40XhbrzbsmJhzpFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710530270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CMNr3AXQjqnm5wDjfSmHObceeTmNll/4G95jN9NmxFQ=; b=fLN0BZtofGFNJhRiINXM+1DDCyNwXDgNiXdu5WcHKylGdpFqGq4yNir3lmrp1L4FuddUiG 2lYZR2YZ/uQpitK0+qVngND7ZtfCfl31DsUN7ZR83WCTWfVc3t+SahhGuW/164qIpqXg9h DpYC+G8lTWYEtIl01twR+WyXOHfjct/NuE6Bl0fjgxzmawKxngF8q4nqCC3+XlpB6+EJzW 5chczizb9wY+QUcQrO0Wqiz5oPKijKVsjanj9gi2QdKnomdJYomzNADMb3qDIIUYB5U3i7 OCnFyz2yR1f/PnsoZC0FF44oBKeWwy8MAqOMnKaIo9sz4hwhuayWdDfNx24Usw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxDXt3XD0zP3J; Fri, 15 Mar 2024 19:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FJHoDg036596; Fri, 15 Mar 2024 19:17:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FJHoDM036593; Fri, 15 Mar 2024 19:17:50 GMT (envelope-from git) Date: Fri, 15 Mar 2024 19:17:50 GMT Message-Id: <202403151917.42FJHoDM036593@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 2497c70f81b7 - main - vnet: remove unneeded backslash List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2497c70f81b757b8a4e6b642d242f713ecca17fa Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=2497c70f81b757b8a4e6b642d242f713ecca17fa commit 2497c70f81b757b8a4e6b642d242f713ecca17fa Author: Gleb Smirnoff AuthorDate: 2024-03-15 19:17:04 +0000 Commit: Gleb Smirnoff CommitDate: 2024-03-15 19:17:04 +0000 vnet: remove unneeded backslash Fixes: 430e0e409ce94246bb252cbdddef866fc69dea95 --- sys/net/vnet.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/vnet.h b/sys/net/vnet.h index 5485889ceaa7..670e99a455ae 100644 --- a/sys/net/vnet.h +++ b/sys/net/vnet.h @@ -406,7 +406,7 @@ do { \ #define CURVNET_SET(arg) #define CURVNET_SET_QUIET(arg) #define CURVNET_RESTORE() -#define CURVNET_ASSERT_SET() \ +#define CURVNET_ASSERT_SET() #define VNET_LIST_RLOCK() #define VNET_LIST_RLOCK_NOSLEEP() From nobody Fri Mar 15 21:17:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxHBT2CDGz5Cx1T; Fri, 15 Mar 2024 21:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxHBT1lJmz4F3j; Fri, 15 Mar 2024 21:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710537425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w+Mw33F5egx5nvO/9tpnePJc4IOvn5AxmVT3r80WALc=; b=BE95mYVRQF0RU7cLc4TvA8xd/oA48ElvtLEhBLBPHTwBqr83p6d5NQTik5vThTsTVNf9ap hssfiKPSKyAKhWqQLNdkb+8h0+WDBev8Xso3HOHsJVQj6JaVV9A2m7+AFCWpOUgJpyEAuK UAcoXmQXF3lS4L0ysufh0BPL59vBlJ1z2ylClalICSPPguvdNbjyuq86ER01rijeOkhnyQ 4+Rsk88DI6aUpupxGU6e1qGWBQdtu9kEO/prXuC93vlQC1ec9Pu+8vX49d0VZGwi/OUOZE +OdBf+TCLaRg8kN8qpd6CgaH32IM4KXVaSHkot60A/vAEE0D9BzcfVZ0YiPDpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710537425; a=rsa-sha256; cv=none; b=U1SAWts6PkIcpp6AbN0UxmFGSlhj3HoxWcFtFyaJdle1THDzvsE71Vp+7mZSJ4CS1gnJDB OdjT50nUnI0EbWKFkoAa24rw+Bap6bc8cyX+2M+qaioy6PrE9ZSm95oy52cAl+u4lMaJEu W6OCkcqQ6GGglGJ/Gy/Ta4OGZeEVl5jfaLbpGs+HpGm+UJNygh8zFWdiV2kiBvlzwUznBv PmwkyXWrv6ROpZUBw+MwBOv7RspI8IWibWhXjYXs1ZDWgEbC86nI5MCHpZ5B8nGudM/Mnp XvLSLKs4VEHovUVA+53iB+5smjFAAobdvlf0wSNRGcCxuex7mBj7gU8c/NYPeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710537425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w+Mw33F5egx5nvO/9tpnePJc4IOvn5AxmVT3r80WALc=; b=f1b7sfFiJhj+iDI72BC8KMsNFEAjZe0m/zbuD87tSONJTex4A+usNqF72fCjLENOXwascj 73aBxFB90gNsqbd/3Eil5a57wRMCqcne4vKxYAPgmh3H2zUCWu+8anhqhrc4cy9VNk35rw mS+VsZHgknYT+P6iBGjgVoPH5xKzWaj4ilrOC+U1I2MHEP7ZYntvC59jjHAEXUdSMFMTGZ +2kUN215ct5wgFHrwmZaqPU6egXwfxDiZTJrWmnKvlQAGOKyG56zyorXENTOP+zCYyElAB TLbyY4wdf+CmMjGO1yEumCGhuWcJN8Bxya7rFfWHP+Q5JmV5E1gcU/hGpDEYBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxHBT1MMyzRM2; Fri, 15 Mar 2024 21:17:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FLH5Cx038964; Fri, 15 Mar 2024 21:17:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FLH5m2038961; Fri, 15 Mar 2024 21:17:05 GMT (envelope-from git) Date: Fri, 15 Mar 2024 21:17:05 GMT Message-Id: <202403152117.42FLH5m2038961@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Benjamin Kaduk Subject: git: 140119a60d96 - main - ifconfig.8: add missing "be" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bjk X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 140119a60d967a05aafe80550aae28407db5ad79 Auto-Submitted: auto-generated The branch main has been updated by bjk: URL: https://cgit.FreeBSD.org/src/commit/?id=140119a60d967a05aafe80550aae28407db5ad79 commit 140119a60d967a05aafe80550aae28407db5ad79 Author: PauAmma AuthorDate: 2024-03-15 20:59:35 +0000 Commit: Benjamin Kaduk CommitDate: 2024-03-15 21:16:53 +0000 ifconfig.8: add missing "be" Reviewed by: allanjude, bjk MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44022 --- sbin/ifconfig/ifconfig.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index 1fe1b1876f81..b88772e0e5e9 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -1068,7 +1068,7 @@ Legacy .Cm wds devices have a fixed peer relationship and do not, for example, roam if their peer stops communicating. -For completeness a Dynamic WDS (DWDS) interface may marked as +For completeness a Dynamic WDS (DWDS) interface may be marked as .Fl wdslegacy . .It Cm bssid Request a unique local mac address for the cloned device. From nobody Fri Mar 15 21:53:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxJ0s06T7z5D1TN; Fri, 15 Mar 2024 21:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxJ0r6kdkz4LBY; Fri, 15 Mar 2024 21:53:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710539628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8VBg3tGT0fUII/n3mOVZjFFWWZWwbXrDP1unkfpRn8=; b=pP7+JfDSW2jA3yurHYCEBJR+kazjMxDjUdLq+RzhHhmFEg11BlURpoNBPjlvxy4MNpdPjx OSWyufFMjNtbq716KPlOnrRFrua7VgMLNAaVW/CF1zuExJXL5MrrPWZ1aGhsuqZoIcWzvz nCq2F2trl/5R7VWFpoAUkG2edwswDdtFTvz9O5Bmn+oHpGZoG5SigpUQdwJF1Ygxsp3UiA aNz6Ps/ZB7CPIgYZ6uHTaQrJGzRI9rP08Zyjvx8D++4ySUvZnjfDK710EQg6iiEEjfXmsL vwHsq5RmEDnt+0qdBvfHnrBO6U0P9Q2kQYTIVHKnz7llA3xAhVDvwTVOcJv/uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710539628; a=rsa-sha256; cv=none; b=KekS9kZwQATdJtVxlUyjAbC+GTvWtKt9xxM6tQx/FHDnV8XkUDkQzwpnGCr0+ZSGg53uwX rOhFnsDBpisCidHLjk72UkcZfT8HuA3nOUivIFpc1VMoUUnjlj+MARksWGqasSFeE/7OmG DS9LowD9HTwZycU/jx351fdPtWXfILd6KE3cli44eKOGAoZrxVyqeqNtf/VHK+tbeWKhpQ 23epaUN6c2KLIwIizYezXgwUM+q4ZxtcUGSgcJh6BPzYlk1Ol/+FC/04AzxzN0Hxi4AuoE Hf3BI8O9Rf8k/oksDRgFCGyp5GeXPLLnOuqNazqT5WDOnuYOoH2Tl4KN3Qz+Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710539628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8VBg3tGT0fUII/n3mOVZjFFWWZWwbXrDP1unkfpRn8=; b=BW+a6J3dkwQKzLsExb2sTYSRl9xigvZQWk7clZzT2yRehJ5lHfP6j4/4GSsFkSWCUJbySS yX9qf5eRxA0NYJbvpFSZjNnkOyjeOMARzGdNg1o904YZ39ekq7L/AS7EX3FINjz8u3TlLC DJMNrzoJd+Un5/rQ5BMT7DFI5OpSa+GwDfqhXuPioYL0Wy41AtM/qU+xg4I2v7X9vbYPdo y6FGzh3vVf3ILHT0PJPaIJBQWMJTHeXbs8TnUarkh5MI9q6MK/N8wP+LWg4TxtUkNsUPD9 ECAqOO6AF+/m1hJ2X4FKKdHNMzJ1EvS3EfOzuPXgO+JMVuMpryFwxWOI8re3bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxJ0r6KMlzStH; Fri, 15 Mar 2024 21:53:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FLrmaX005613; Fri, 15 Mar 2024 21:53:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FLrmwu005610; Fri, 15 Mar 2024 21:53:48 GMT (envelope-from git) Date: Fri, 15 Mar 2024 21:53:48 GMT Message-Id: <202403152153.42FLrmwu005610@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "David E. O'Brien" Subject: git: c4ff9276a969 - main - strnlen(3): add HISTORY List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obrien X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4ff9276a969a3a691ee1f336ce4ed6c0c9b0b99 Auto-Submitted: auto-generated The branch main has been updated by obrien: URL: https://cgit.FreeBSD.org/src/commit/?id=c4ff9276a969a3a691ee1f336ce4ed6c0c9b0b99 commit c4ff9276a969a3a691ee1f336ce4ed6c0c9b0b99 Author: David E. O'Brien AuthorDate: 2024-01-30 20:55:20 +0000 Commit: David E. O'Brien CommitDate: 2024-03-15 21:52:47 +0000 strnlen(3): add HISTORY Complete 4b7f35db's HISTORY's train of thought --- lib/libc/string/strlen.3 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libc/string/strlen.3 b/lib/libc/string/strlen.3 index b65e7abd6423..91b82a085b01 100644 --- a/lib/libc/string/strlen.3 +++ b/lib/libc/string/strlen.3 @@ -96,3 +96,8 @@ and was ported to .At v7 . The .Fn strnlen +function first appeared in +.Fx 8.0 , +.Ox 4.8 , +and +.Nx 6.0 . From nobody Fri Mar 15 21:53:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxJ0t1tyTz5D1R2; Fri, 15 Mar 2024 21:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxJ0t0LWWz4L3N; Fri, 15 Mar 2024 21:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710539630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1mnIlpXfRpjZ+0xny6KRdON08jVGV+qJHGDVCh/MAnM=; b=E4F6yPVA4MKiki4AZM3iaZduNMS5kkIyaowU+aKe05f00CfDPdDOanpvyAoAvzU68vRIYN wis+oGQpQbxutp7K/UOm5R+1lC3eWLOTbk738kN0pO+xxg698WHSDYHrGzLM2SwK4Twl0J IONCcgabbiAmk52pjO9Z91pmh4WqyLGht2xzS3QLykRCbyxAVabFJgM8vXdjfsmJe5E2Yn FB9FIKJHz7lfnRiVQHTDLaDIQno57LGsSu/QfonHb55dz/+hWTE6wq+9RDD/Vu5+vdrbW2 FxksWQ/KEfl1Mwd11Nope4/hRAyHkJI9Gy1a+Qg7RCAnh/rRcxIuY0n1V3nPMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710539630; a=rsa-sha256; cv=none; b=xl17Cm0EctABZ9aKPiecWgr2JEKPGJbfNgLX8YSAdwlnwzGk0TPI4nH0YxBgSdv5UH/FwS qhC8ElCyv9OTZCwivdUq1s42h73FvpUz7Ys8Jo4zOfmD6/McVxeXY61bf6PjCFQb/cBVIv +HKu2vQK8bRIY0ApDhMZpDplGg6MVgazPf0D0/01xrhrNW7KAhoHiBKXrFr4CJ0TcsNav4 u3/e4itsFIZYMVg8beSEYNC4WNDdu0RhowEGbSHEzVoQf6/cz8IhAZ9vQHuqgidI/Gtp4D aPpdkBb0id9BzfSu6hyBJTm0CqUR071pblj0I7er6NfQVfieWNydlfSANbgN4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710539630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1mnIlpXfRpjZ+0xny6KRdON08jVGV+qJHGDVCh/MAnM=; b=tfTWlu0efNwK2y3AYQ2KVdrs9MrB+WPBpfPqGKG/vuCJtV40+8mC9EIMZ6i0fQcAX0gBkP mf67s9e0Gnk8seN5azgW5x/JswLJr6OdQlrFkfdYemYnUPiSP3HyQ04sR7Giz/Pv1A6xk4 QCk1PfDZdtHvSd84kBTwXmCRzYwSlXbjvAyUxoiS8Pnnv+hReXGQI4WDSL/lkQN2mqKmwx DdTG9jibFjOxxmHytuurcP/1t8BsggkKyoRUbGaZtDnL1HZ7oVTt4OU3FDjIqPwrL2H8G6 3nmVmJb8x4ULNxEUNi/g+vkXd3832kdG3BbUGRFiUbPDPBGFwSJssFTK0rOD1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxJ0s73b4zStJ; Fri, 15 Mar 2024 21:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FLrnlr005654; Fri, 15 Mar 2024 21:53:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FLrnLp005651; Fri, 15 Mar 2024 21:53:49 GMT (envelope-from git) Date: Fri, 15 Mar 2024 21:53:49 GMT Message-Id: <202403152153.42FLrnLp005651@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "David E. O'Brien" Subject: git: 63a6bd2fc8ee - main - SYSCTL(9): correct typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obrien X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 63a6bd2fc8ee7451fdcd236c50056d939cab09d6 Auto-Submitted: auto-generated The branch main has been updated by obrien: URL: https://cgit.FreeBSD.org/src/commit/?id=63a6bd2fc8ee7451fdcd236c50056d939cab09d6 commit 63a6bd2fc8ee7451fdcd236c50056d939cab09d6 Author: David E. O'Brien AuthorDate: 2024-03-15 21:48:17 +0000 Commit: David E. O'Brien CommitDate: 2024-03-15 21:53:10 +0000 SYSCTL(9): correct typo --- share/man/man9/sysctl.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/sysctl.9 b/share/man/man9/sysctl.9 index 83f526b349a1..2a4370a5d67c 100644 --- a/share/man/man9/sysctl.9 +++ b/share/man/man9/sysctl.9 @@ -704,7 +704,7 @@ macro or the function. If the .Fa len -argument in zero, the string length is computed at every access to the OID using +argument is zero, the string length is computed at every access to the OID using .Xr strlen 3 . Use the .Fn SYSCTL_CONST_STRING From nobody Fri Mar 15 22:28:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxJmp2kJGz5D3t1; Fri, 15 Mar 2024 22:28:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxJmp2HBkz4N9y; Fri, 15 Mar 2024 22:28:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710541706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nKulR5e0uTE+MY9MUaNdOs1Bb8tHkMwPIY4grVfAfTM=; b=eKGusNbi46r/+psrO59gfhk47IxT6H8Tq5KcJUEocXiPptv0EX7sPMMH9cMHtdgYBr9t+u ndG8QhCp4SBb5kS84AMEhPTvYjlUm4uZKyPwmak1LsB/KRptgD+xIRgNZluqOw3TJxkzwy uFEL8Tn4Ui4ef3X4IV9Zh1FijeMbzJa5EJ6mm4uwKSpPL5ZeezWafhpUYQNJZevv2FEATZ XsXi+qCYfIEbSAJEtPPMU+mYFyjZ0LTXSVX7uJYtJfAIqTJ8awQA7dLVTgfvs8yv4S6BaX 2sbPILczByA/3MLI2wrv7pE1tQ7uoDTO0WiYHH4oDeWdOoPqVcfg/i1G6w10fA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710541706; a=rsa-sha256; cv=none; b=e/lsPaR5iff8KPpDFbkJLWZqkG5mrj8vX24jRjc/baJQjrmNWgYsb8l6xrTdpvKkuqhQhc jJI8OJolZKt8/6KGJ1U8CXJqZg3omsQ/jpvXJerIuEhlJMFvGBcLpbeIK+kQziY28VyXsx U6Q2kJNgA23HQ+m4Xaf481N4XNM5SdZQJ/dMnFGiYVcXn0AHu7VUZPTuxlDZQWhDDA6rO0 h1cfgfkPB5ZtUKEy5Nb/a4JEFgEWEwX1GB/0DXK7Cuu8o1LVBuXDBqrD5hQl9k1aBn5a10 YrbUiyclmtZuWa9V8HjfiLTH00GoFb2o5LBFoFYhAMFTnVwyBssdwqVLVJ9x0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710541706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nKulR5e0uTE+MY9MUaNdOs1Bb8tHkMwPIY4grVfAfTM=; b=bKamTFl2O+TU1zPHOFfNaijieBRyFniIpKfIcTRiiw1mVn4fO5qL3VsqL0eVeSvZsu/wM/ /9Wri0A/p1gFnWVPyz51QDkWRcNC+umROEEU2IGERJBTJvhZPhCG/w7Dd6j8Ay4ap9KWId ei+oV8JALgz+zWqbu0C+T7DfU6sUSqavq47DnWWmeR6sGBO4dmiNEnN4tYg1wHwjq46yyQ 7OPuRimUuOLh5Aiatl+jKZSvbhuKx//3NFoyBghY4eel0WyGSvAgQBxkrePHLMNvQovktg 5O2sgeZ9Dqv4e/DG11KviGaywYhlNvUMKkO9xX4izOzS1Er+lPqYx41TCkMi5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxJmp1vVHzTrR; Fri, 15 Mar 2024 22:28:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FMSQe7056983; Fri, 15 Mar 2024 22:28:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FMSQIo056979; Fri, 15 Mar 2024 22:28:26 GMT (envelope-from git) Date: Fri, 15 Mar 2024 22:28:26 GMT Message-Id: <202403152228.42FMSQIo056979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "David E. O'Brien" Subject: git: 87740ff2ace8 - main - diff(1) add FreeBSD HISTORY List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obrien X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87740ff2ace86bbf77820c04531507b59a1db17c Auto-Submitted: auto-generated The branch main has been updated by obrien: URL: https://cgit.FreeBSD.org/src/commit/?id=87740ff2ace86bbf77820c04531507b59a1db17c commit 87740ff2ace86bbf77820c04531507b59a1db17c Author: David E. O'Brien AuthorDate: 2024-03-15 22:26:12 +0000 Commit: David E. O'Brien CommitDate: 2024-03-15 22:26:12 +0000 diff(1) add FreeBSD HISTORY --- usr.bin/diff/diff.1 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/usr.bin/diff/diff.1 b/usr.bin/diff/diff.1 index 6351c58114e0..29ee32cb8d2b 100644 --- a/usr.bin/diff/diff.1 +++ b/usr.bin/diff/diff.1 @@ -748,3 +748,12 @@ A .Nm command appeared in .At v6 . +The +.Nm +implimentation in +.Fx 1.0 +until +.Fx 11.4 +was GNU diff. This was replaced in +.Fx 12.0 +by a BSD licensed diff implimentation. Some GNU'isms were lost in process. From nobody Fri Mar 15 22:57:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxKPv2fY4z5D6md; Fri, 15 Mar 2024 22:57:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxKPv22W8z4Stw; Fri, 15 Mar 2024 22:57:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710543427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=35pSxxYlaikBRm08D+Hsa+SLBPakYczgZ8aRYh3GnEo=; b=st/HnZK9HKig4+3gS8glhIJ9cYMhtnPO/62xe+wNknh4YdzV9awCLs1H8NiJ33jvr+Wplw a33cePhB1lgmS5QwXrmZR11CwWJoJqVovSCaVRTrHD5F7VgP2TL9Nw3TJi7mslkqm9cdSs 28gH1NorKEYG6t9G5rOXx3v2DGKNqsjBc/B8JcPFBmikdjD0U/+sy24jmnapYHDQ0QQSlG 3+pA2Mo3Cp8vyvO4PElPj4/6csNk9n5uJLnkyig+RkRUYluTznfTlbwZP4IYqnAyyzqgtE ANhqaozN/Ik4pqUCiGoB6zhilGcsm7Iq2i6Tcmvzon4ifj42WiKStLHpVv9yvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710543427; a=rsa-sha256; cv=none; b=gW+IHbaoXYicdZ+j9F6ukqIG3b1chwhG4c+iyrniomFekbN0MHEQRqqOSHFDgtNcdEHYbo aqeTT4YSprvpGYzqVa1ULUeQyigo2D32etY8HsxrzDVXFFygwP+JyF90xs+6iMXB6g2Y6X q+6m3cnEImtzqjJeZ0XypwgwxaBntSKgGrLXm0YGngHKFWFYA3kCZw1RgCqrcIAX++VQZU Tz0udAouc7EI8fTKxDpjqbTZpsjg3KAJdyJiDULufR2QF4aIgWYDvTJ4G66JOPlsHbGEIX gGHtslrEuWgm1wMm66o/15gNdcvszaReF1U6/fDt4daLQ+U/5dvDpff0rcoX1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710543427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=35pSxxYlaikBRm08D+Hsa+SLBPakYczgZ8aRYh3GnEo=; b=sNzF+7afgZvkPoMQGzj9wsQwTxvRlZ5R/OSYFi3NWILvk9P2xNLRWShrhs4uFN3ZRbD15D I1ZiMB849DTGQApX5nG66EPNHS37UHWgDxyIn7FMPlXRLWT0BZb1VAALMwvifQtuPfmn3O mwGgqpChCzP4pz34e1qWuq3PSXIghkdYKfwiW50t45TLPONtXkF0ZWbvVH9BoEM4HxsyEG oX05tmXV0AXKHhppgHLecsvPIcSL9UDmXQEodTdnxgJnTW0HblWEINzpJCC5z8T/qJNjO+ e/jKG6Z+onvshckaA3csWYf/tD6L5BGBO+u97i2yycSMDsOsnoweRI1aDpmgNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxKPv1dqTzWJf; Fri, 15 Mar 2024 22:57:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FMv7Sb006859; Fri, 15 Mar 2024 22:57:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FMv7v8006856; Fri, 15 Mar 2024 22:57:07 GMT (envelope-from git) Date: Fri, 15 Mar 2024 22:57:07 GMT Message-Id: <202403152257.42FMv7v8006856@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: b12090676c89 - main - lib{c,sys}: correctly expose sched_getcpu List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b12090676c8914ae576d9b5059c0683a7c1c75c5 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=b12090676c8914ae576d9b5059c0683a7c1c75c5 commit b12090676c8914ae576d9b5059c0683a7c1c75c5 Author: Brooks Davis AuthorDate: 2024-03-15 22:52:07 +0000 Commit: Brooks Davis CommitDate: 2024-03-15 22:52:07 +0000 lib{c,sys}: correctly expose sched_getcpu When moving the implementation, I failed to move the symbol entry. Reviewed by: kib Fixes: 84dd0c080ba5 libc: libc/gen/sched_getcpu_gen.c -> libsys/ Differential Revision: https://reviews.freebsd.org/D44112 --- lib/libc/gen/Symbol.map | 1 - lib/libsys/Symbol.sys.map | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 43d9c36c789e..17d114c96677 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -447,7 +447,6 @@ FBSD_1.7 { scandirat; sched_getaffinity; sched_setaffinity; - sched_getcpu; versionsort; __cpuset_alloc; __cpuset_free; diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index 8d68d23686a8..822c007d32f1 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -371,6 +371,7 @@ FBSD_1.7 { fspacectl; kqueuex; membarrier; + sched_getcpu; swapoff; timerfd_create; timerfd_gettime; From nobody Fri Mar 15 23:07:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxKdK2gL0z5D7tx; Fri, 15 Mar 2024 23:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxKdK22Ylz4TM8; Fri, 15 Mar 2024 23:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710544021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jSPhoZzzCZiJ+CfxkQDfPS91zxUesdS5HvMiZKghGUE=; b=JEQn4ubBEudzIKlwo67XYmh73wrAmeCi+KkMcMe6hLeQIbvmrZ1fjrPpWnQKM22Yr8Wy6t JDhrMxKwM9IjH8LCXMWHAlvhbCQEda/AoCleKU/S5HE7pm0sptq77xTF1Y0/CAauiOfW/4 MMafAtDQNawdK4RU5spDQNSxCH7opcKmELiwLwEQZ/dRi6g9HyGTZd033KyrVfr6VlLEl9 0a/MpktZ+q8efo6TbgbA/Z0oXV5yDAETxLhD1SWw33P7ZVwzek1zmCBWNZUZ5dE6wIXHoe AmBBgFSM+53IHydXRP2j0YBlFUeGoeXmjdbVZg4uQCABV0jUIkBo+GMhj+MlOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710544021; a=rsa-sha256; cv=none; b=f03hXpA4LxWzf/y004bJu5i8wXO5fD8YczdaBR6WXrJIP5Lc9HOZ1RDXtpZ2MmpZuVTEvx Mgk3l20emI33w9tOslwW8ZC6GGBAWkNfo/sq50IcIbmXYewna3raofWJpEi76TxliQknO+ aMvUp4eONitbH22ihyXqV7tifuOw9mynhr9akeQJ/wml6Zp8FzUNkylr3ZPo0nUTSPDdBC wHPDDLg07So9Ro6rVKHFAZpUDY0pF8fa0LDPp0DOKWo/emuWdgmuCXozNUVNzo6JN7cQ0C n6Md9t7hpmogXFJioFHRjmKTcN3gh4/mCMEG9uBtfD+9J2xK3dTxV4hgp63aeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710544021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jSPhoZzzCZiJ+CfxkQDfPS91zxUesdS5HvMiZKghGUE=; b=El5LPaGhPmt8zW2bQo7OH6K1MzBunajtL1v5gPtikvWaGCR1eWEN06D23sob5vdNCIPYhi QQ1FdCXDVVz1MoYB0+0tSuzD80PaZ+O6xQJS4FQgNKDdd9NBboW4DFVvADwlDJPWhH0jfK dqL1VB+VGZy/ZM1a/HvsXWRQbV4IBBn+edd8ttx8ftk25Vd2TakqOrvDiD2zTI7V+VpEfa pkejOA4oMW6utfX1BAQIBVQDW/5nLoc40oPXRdrSxay9EXxk1/Wys7Zzo4QiBeIP0R1AHD TzN/VbLcDzWOc3zIGYsCHHZ1Rp2WcO55QZ62go6K7Dthehrfk0o/O8Fg/TDOXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxKdK1X1wzWBD; Fri, 15 Mar 2024 23:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FN71DE024713; Fri, 15 Mar 2024 23:07:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FN71LO024710; Fri, 15 Mar 2024 23:07:01 GMT (envelope-from git) Date: Fri, 15 Mar 2024 23:07:01 GMT Message-Id: <202403152307.42FN71LO024710@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 66957ade1e57 - main - bsd.opts.mk: drop transtion aid for NO_* options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66957ade1e577092badf838ea04b3477ac5ffa0f Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=66957ade1e577092badf838ea04b3477ac5ffa0f commit 66957ade1e577092badf838ea04b3477ac5ffa0f Author: Brooks Davis AuthorDate: 2024-03-15 23:00:46 +0000 Commit: Brooks Davis CommitDate: 2024-03-15 23:00:46 +0000 bsd.opts.mk: drop transtion aid for NO_* options Setting NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, NO_MAN, NO_PROFILE, and NO_WARNS was deprecated in 2014 and made an error prior to the 13.0.0 release in commit d3a5bf95f2013af081607abd91b5175f6eafa563. Likewise, NO_WERROR was made an error prior to 13.0.0 in commit 7fa2f2a62f04f095e1e27ad55aa22a8f59b1df8f. Remove this transition aid making these variables no-ops as setting them will result in an error on all supported releases. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44345 --- share/mk/bsd.opts.mk | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk index dcfe64ac1350..38d53cc6bf30 100644 --- a/share/mk/bsd.opts.mk +++ b/share/mk/bsd.opts.mk @@ -112,26 +112,6 @@ __INIT_ALL_DEFAULT= none .include -# -# Supported NO_* options (if defined, MK_* will be forced to "no", -# regardless of user's setting). -# -# These are transitional and will disappaer in the FreeBSD 12. -# -.for var in \ - CTF \ - DEBUG_FILES \ - INSTALLLIB \ - MAN \ - PROFILE \ - WARNS \ - WERROR -.if defined(NO_${var}) -.error NO_${var} is defined, but deprecated. Please use MK_${var}=no instead. -MK_${var}:=no -.endif -.endfor - .include .endif # !_WITHOUT_SRCCONF From nobody Fri Mar 15 23:11:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxKl335Fhz5D8WZ; Fri, 15 Mar 2024 23:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxKl32XQcz4VJk; Fri, 15 Mar 2024 23:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710544319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DLBFpvhjfd6lh1K67FLAK1PMbqcB/75Hs6aiPnlGMEU=; b=v1bIcoBXGC9Sm/j4jl1vWwZTl0b7x2th0j6Fjky09261nOzAfi35QMeVHn8obHrgHjfhnq vlnJp9LyaiNoqpJZAX1WL5g5qunN8O1cBBLqoPRjkkpHolEfLv0MFozK6vGxEtlWp4qGeR gF+MqP4nTYSJ/9c0kmlzXQpgZLPjFxbvvctQxoponGixTzsNgWdfeRXv2vCUeL1jx6Hz7M sFBshAzsBcpe0XHhPqir/o3XcyEgo5AnhskZ8rv2A/WAgYeEpVx1hgPrbJTwdY3Br5aFjB DJ8TYwBvS9F1Wz16JdAdwJA+q6wVudu2is16no4VDSsEPtfdwQSUX/MoO6F56A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710544319; a=rsa-sha256; cv=none; b=JHB4zEagkdVKdiCUeWEC4AcVy7j75Bzp3BNx0++hKbBJwDeQVSv0ViGyzA5t6Waax86uWc 8IOq9dRxoKxcmc0xvxU2n/CL3OLjHhl9uEBlxuqeTf5pwItDncf2BZCC8EC2daB6kDch2I TovvnKNxCR9RwxHhJcxIA1erNuEeKiahLTc6xv/LjDoj9wXMsKdIveg5l3eOv12b8YPUl+ 9OAM9/XYzo4hynP7RDM/feQj144Dc/Ba5oHlg7BzSrJtwqzrvnLgAWvMaQLVMNEgSWQ5mj rVaOtLAW8M3j8lIfkx9KPfUOemnrsGSbFncE3fkDC7xfMQ5XywN4ZcrOjyT3qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710544319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DLBFpvhjfd6lh1K67FLAK1PMbqcB/75Hs6aiPnlGMEU=; b=QBBh46o+xnoTQNhb/iY035Tm4TUBuH14BIa+jwH/LAqmwPWKPCjmKJMRMEP0Z4M0pocNCI jqlfk7cOQvM48r/DuslOJiDhIQZlJzBHxGmrIJtrQ8tdvoOsEsQEaYGfcXqXqU3kyCScSm E4r4prHnRjKHX/Vu2mpfBl0bMV48bsmyrSJCml7saZfIyrc81emA74IMUEkUb4x3INngJX BZygYgonQR9vd+TJ9NNpW5SMizGBMAFM5EiO7qftnoigFpE+mnCOaJ5Hb+NFA3qQJnnu6k Y8kjNuqUgyF68om0NiVbttO6RvaIhibPG8i0ybMhwiDb1viqAnOpxjz8jytGWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxKl327ZLzX44; Fri, 15 Mar 2024 23:11:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42FNBxaF039444; Fri, 15 Mar 2024 23:11:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42FNBxOL039441; Fri, 15 Mar 2024 23:11:59 GMT (envelope-from git) Date: Fri, 15 Mar 2024 23:11:59 GMT Message-Id: <202403152311.42FNBxOL039441@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 4517b7a2d540 - main - Add another commit to .git-blame-ignore-revs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4517b7a2d540d874ad69d397588194715039b7c5 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=4517b7a2d540d874ad69d397588194715039b7c5 commit 4517b7a2d540d874ad69d397588194715039b7c5 Author: Brooks Davis AuthorDate: 2024-03-13 19:02:14 +0000 Commit: Brooks Davis CommitDate: 2024-03-15 23:11:52 +0000 Add another commit to .git-blame-ignore-revs --- .git-blame-ignore-revs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 5cc8ba2a300a..13f8bde24bce 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -18,6 +18,8 @@ e70ad278f45d72a8209e61a312481910d3e03b45 4ca5df80393e1f2bf6ac26af42fc7246acb59f71 # elfctl whitespace 828e50092ac84f50247fb3f400027fc7510d8141 +# Remove more quotes around Makefile .error/.warn/.info strings. +bca92be68309e9b0c8f1c1c0a9ca87081c4ab27d # regen syscall files after d51198d63b63 2c9764f36b6f20e9a6c71ce64a21988a394050b6 # Remove whitespace at EOL. From nobody Sat Mar 16 01:06:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxNGh4mvGz5DMBx; Sat, 16 Mar 2024 01:06:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxNGh4Gnbz4fWv; Sat, 16 Mar 2024 01:06:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710551164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=je7LMkduv5t27buMd647aOS8Ns8/wxM03KJn3m9who0=; b=sYaKjjMDTxSgTYFHjVBx6CgI6A0z9MI6k9+VT7gnPMBQ2cGO+GL1R2DRG6ORIRYIeMB5R9 S/o6I6pNtVnJIP4cNqgoDL42j4Y9lUKpDOnvs9moMk5dn22Q+EoWlwcfzgn9Nzb7Zos/OR Gus9kThEHJkijZBKPgf+j3P7Rxl05+bHYgvVIaUlmuRUqgZkSJ2E7qy0BuR7YPEFakhfKv ZczcI3hTO39eENbVO+9bWLfLW7FtZsF7P9dG1PdHoCnn7JQ4STDmaNFMLV7gEPSn5zEBhd Ln/saSGvRDVkP3hhWU633NMtmI9NRmGFFlNVnHS4p//CtaLEP/1nInLEB6BnHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710551164; a=rsa-sha256; cv=none; b=UdaCKW4GJYddtKV4ioca082W8PUSuyTo2EVLcIQoS/E8sGdRHTXSnmS3T8yjRtJPYJ81AX zxOXbxYr7DR4C0Yu5/mKPioQUcDFwuhSD4aZGqUqzGOOkuJ9/4qLgOkU5byojtXUJYtgy8 A9iHTv8mCXIeucgbQW28QlKNHKEof2PcuWFvgcq8sZn+v8Es0ScMRoKWu3WBDF5D0KhiFN AHaCQez1JyMz8PCyLeMzFffSubOcmeMtuZbpfX5/nfxRFa66tX7mnDfQEq6xaQ9Fu6U0vv Rzi/NTOF4ThYRabOnn296NKNY3oNGteolf0Jdgq570N4iHdK+lkdsQCWC9FR7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710551164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=je7LMkduv5t27buMd647aOS8Ns8/wxM03KJn3m9who0=; b=uvkyu5aggp3y4XxsNX+elSIsmqkEJkFraFzYKOj/Y83TxXevcSE9N71l+QDV3FBuu5VuB6 TluVMfvQifqkNyIWQnoGyGoQf8VR+0pxM7mtyo4a3wk7C2NNATY7wuaBPKOKC5h1xZp0Dd 9C/Ah5Kq3Iq3L+9TTMaEcDyRS3Q1AwIh6T846NxLrVNj1kW8z1Sh0pfeQXcv/gn/bDjsYi 7sQhxsizWRmeq12rKCjbAvXAeqcvj1a1sMeVn6sxELoTUNm++cm/3E59JjGMiJ9cLQAGB5 +8C+lO9OM2QHNmKK8qbDnCGrgGRQ4gYSq/ntAtTK/BIdH9oXtGi5a02icUVhLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxNGh3TRCzZPX; Sat, 16 Mar 2024 01:06:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42G164jZ026717; Sat, 16 Mar 2024 01:06:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42G164vh026714; Sat, 16 Mar 2024 01:06:04 GMT (envelope-from git) Date: Sat, 16 Mar 2024 01:06:04 GMT Message-Id: <202403160106.42G164vh026714@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 748f56c53f42 - main - nfsd: Add a sysctl to limit NFSv4.2 Copy RPC size List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 748f56c53f4286e0b140c1b779ff8ade1cf4fec9 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=748f56c53f4286e0b140c1b779ff8ade1cf4fec9 commit 748f56c53f4286e0b140c1b779ff8ade1cf4fec9 Author: Rick Macklem AuthorDate: 2024-03-16 01:04:37 +0000 Commit: Rick Macklem CommitDate: 2024-03-16 01:04:37 +0000 nfsd: Add a sysctl to limit NFSv4.2 Copy RPC size NFSv4.2 supports a Copy operation, which avoids file data being read to the client and then written back to the server, if both input and output files are on the same NFSv4.2 mount for copy_file_range(2). Unfortunately, this Copy operation can take a long time under certain circumstances. If this occurs concurrently with a RPC that requires an exclusive lock on the nfsd such as ExchangeID done for a new mount, the result can be an nfsd "stall" until the Copy completes. This patch adds a sysctl that can be set to limit the size of a Copy operation or, if set to 0, disable Copy operations. The use of this sysctl and other ways to avoid Copy operations taking too long will be documented in the nfsd.4 man page by a separate commit. MFC after: 2 weeks --- sys/fs/nfsserver/nfs_nfsdserv.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 3daee65ab83a..899e88508b60 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -97,6 +97,9 @@ static bool nfsrv_doallocate = false; SYSCTL_BOOL(_vfs_nfsd, OID_AUTO, enable_v42allocate, CTLFLAG_RW, &nfsrv_doallocate, 0, "Enable NFSv4.2 Allocate operation"); +static uint64_t nfsrv_maxcopyrange = SSIZE_MAX; +SYSCTL_U64(_vfs_nfsd, OID_AUTO, maxcopyrange, CTLFLAG_RW, + &nfsrv_maxcopyrange, 0, "Max size of a Copy so RPC times reasonable"); /* * This list defines the GSS mechanisms supported. @@ -5598,10 +5601,11 @@ nfsrvd_copy_file_range(struct nfsrv_descript *nd, __unused int isdgram, void *rl_rcookie, *rl_wcookie; rl_rcookie = rl_wcookie = NULL; - if (nfsrv_devidcnt > 0) { + if (nfsrv_maxcopyrange == 0 || nfsrv_devidcnt > 0) { /* * For a pNFS server, reply NFSERR_NOTSUPP so that the client * will do the copy via I/O on the DS(s). + * If vfs.nfsd.maxcopyrange set to 0, disable Copy. */ nd->nd_repstat = NFSERR_NOTSUPP; goto nfsmout; @@ -5764,7 +5768,15 @@ nfsrvd_copy_file_range(struct nfsrv_descript *nd, __unused int isdgram, nd->nd_repstat = error; } - xfer = len; + /* + * Do the actual copy to an upper limit of vfs.nfsd.maxcopyrange. + * This size limit can be set to limit the time a copy RPC will + * take. + */ + if (len > nfsrv_maxcopyrange) + xfer = nfsrv_maxcopyrange; + else + xfer = len; if (nd->nd_repstat == 0) { nd->nd_repstat = vn_copy_file_range(vp, &inoff, tovp, &outoff, &xfer, COPY_FILE_RANGE_TIMEO1SEC, nd->nd_cred, nd->nd_cred, From nobody Sat Mar 16 01:50:45 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxPGF3st3z5DRR6; Sat, 16 Mar 2024 01:50:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxPGF2jznz4mCm; Sat, 16 Mar 2024 01:50:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710553845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O9p0P3IPOOFuvSWNm+OjKpb4laJYChMhWbFjuHmXyq4=; b=MPT4mMaPtwawiIsHf1zeZkFwoC6GRzRnUWYviiv46SHbwZ8jztJiBZ2/2pk/2koP6pctio Rh6d825WJ0uOJJK+l0mR9BreKKxr/vUe5tkxvxW2F8YZ6SmoL+fmG0KOZZjueHZWv1PGgC OY8dKDo0hpCHmheVpvfTEaKmXN5mSKD5sBwLO6X2MRbOIRo6FfAHLSsrPAZxdftoMbNsfw +Bd9aBn3gQagcJiPiw/vpNGJahh6UTnPRZFxQp3hPnPR80qe9HBHKw7JmeGhYQOR43XShv w9mQKkWwR8jKL6eGEWtUHNRzy2RKorGWJTKenXlxP6zmlKwQGAjuMzKMRTx8uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710553845; a=rsa-sha256; cv=none; b=jEGUFgD0MxhRoDb1AfpIp20skL9BzMCxhSvRdEDfjrYpXn+AqgUAYyjJd4Eozfi2zAPeTP gWHJzHXWqbtmmgHsGX7HclNIN5gK2iUXKV+Vf606865RC8gJrwyrj8+pUz07FTd5OqQVVG Nq9qAxxZnieiENXJVpFvDayxSbhj7ePFbeE/4PZPGlEcHQ6Mg2iZFRwVgilmEb7zbWRtmA N8XB6edYOp0/+vzV3FQcm3gYesjERUEez/wlLfjlMh+Nu0WIJLmMUjEnS1xDf4qp3XpzFT wWEk8+Ydhz1r1FOCbLRGxeuqdEeaMnggInjSlx5cCMqMYiKYjkCCV13qV8TDIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710553845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O9p0P3IPOOFuvSWNm+OjKpb4laJYChMhWbFjuHmXyq4=; b=YwUcYdMQtZk2WQxk/1h4OwQBpjtP667DaDWA/vSNTV/IHFdsf41RkhpbexEFruOUx93+Xd tNnrmEbOJ6LsdcSBkqGPawWXedPHg9SpXc7BH8fyaR7AsgFDP0FYJ7kMjNAGK+ypqu3hHj aI3vGTwioLFZ849aaWbZxfME11IozxepQNluGc8s1LeOk3TbzVzJNtk4B7YqZvpuKABkUn dSxsGq9y5Qk4DmtvzwxdPd6F8iCKX6V5Yd17fGWcDf5a7JxUBMzeddNkTBQ0rdJtyq3d+1 9ap8oapEbkYx2M0TjhbKAtAtEF3ElmWaQWxcEu8EpBizPyYH1WVNH+RaAXoEhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxPGF2KqrzbRh; Sat, 16 Mar 2024 01:50:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42G1ojR5003484; Sat, 16 Mar 2024 01:50:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42G1ojxR003481; Sat, 16 Mar 2024 01:50:45 GMT (envelope-from git) Date: Sat, 16 Mar 2024 01:50:45 GMT Message-Id: <202403160150.42G1ojxR003481@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: ce312ef72d91 - main - mandoc: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce312ef72d91888d332f7f042298001794b66914 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=ce312ef72d91888d332f7f042298001794b66914 commit ce312ef72d91888d332f7f042298001794b66914 Author: Jessica Clarke AuthorDate: 2024-03-16 01:50:20 +0000 Commit: Jessica Clarke CommitDate: 2024-03-16 01:50:20 +0000 mandoc: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 macOS, like Linux, does not include an outer const qualifier for its fts_open callback arguments, so -Wincompatible-function-pointer-types also picks this up and breaks the build now Clang 16 makes it an error by default. Extend the existing Linux support to fix this. MFC after: 1 week --- contrib/mandoc/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/mandoc/config.h b/contrib/mandoc/config.h index 213513f1c87e..91957717b3fc 100644 --- a/contrib/mandoc/config.h +++ b/contrib/mandoc/config.h @@ -13,7 +13,7 @@ #define HAVE_ENDIAN 0 #define HAVE_ERR 1 #define HAVE_FTS 1 -#ifdef __GLIBC__ +#if defined(__GLIBC__) || defined(__APPLE__) #define HAVE_FTS_COMPARE_CONST 0 #else #define HAVE_FTS_COMPARE_CONST 1 From nobody Sat Mar 16 01:50:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxPGG4Zlzz5DRWm; Sat, 16 Mar 2024 01:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxPGG3mWcz4mP2; Sat, 16 Mar 2024 01:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710553846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SFmZjt4X133B2nBpz3IrS6jVxJu8Sg1LqITyx6efHO0=; b=V+p+6R0KPAiP9UwtrGYKDFAf5CRoEXMlcLUS2iVPQXsyTGMDUNtgI46wBs50H2U8afDjrC LsJLzBfSeB+a9XObjRDl/Dvqf2bm08vwN7kkD6f+DVn4OmhJKg+JJFtl8tbaYMKSK5fUKK 4siP9mnpfPFFC9RXWzXp999AgSzwXMSjq0eo57MRZXUiYg/RnLloGSNlfz/FG34ldW9Sa/ Kp4N5+OI2e0wA7tQPqmLvru0Gf3VfxaTDTsuAqGDLyi6fEurG/PCsxbSA1JhfusvYYEnlt TtLiYawhRJ3K8I9ufqRTgztZe6fQv+4GoXvL4PvAn9bZletTinzUZSUbqvCE0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710553846; a=rsa-sha256; cv=none; b=qruSJ9GAjRzPfKEwaP3/2+BkCMF0I3q0xLwZYbrvCfNhwW2bE+ZLmw5/yY84HWEtkRItSk p+plT6jhfELh8mwA2lbOeA7I1tmc+sTC984/jDA0nn9YX+Si/EyOAo/QHnX84ul7WYg4sk TfXJg8YPRHqxOqxvonwiPGX37un6GnKoM7v8y8chXanYLcAHXJzL4S2jx/gQUhHKtaJDCi rNbkhQINTHyX8iv5nT0BPYK9i64aU0kP4vcOYGEMhD0Zg2NQ0soix9DkhhsVNNGQMcXXjG 9PqZJ7z3DTirXWtIRy4GrB7oJhEN1kTmrvREDqkJA7g2ALfJJ7OdlTCX+L1l1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710553846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SFmZjt4X133B2nBpz3IrS6jVxJu8Sg1LqITyx6efHO0=; b=NMatIQARkK+B/1iGNEUFfQx9UDqeDIcDnyl/NviX/PBtvtdY/8BfP0gwRRAllULJ2/z4DR co7x3CibV4hgbrrl16lP6WGTVYpiBWjgw6HlHxFJEgdeXyYEJfSRRMUASMNmXQi0+1C/4t IR4EOxT7PkKOi15MDJXkp2V3/zmNGQ/QRv+GmHhaWzsqUfN7w/3hsqAZJschqAEOQWD/3S pgbkkhv7YcsjOz32UTOQstRI86MTS9auyJpnd1C4hoYQys8qBDJGNEDLEtWBJtDU71waaT ufgzExp9dnWpErhlPLUSzLTLeCZ0w8fLca4JtOUZ6lSLMI1KUj2uH1to9IMbqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxPGG3Mmdzbdx; Sat, 16 Mar 2024 01:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42G1ok50003547; Sat, 16 Mar 2024 01:50:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42G1okmT003544; Sat, 16 Mar 2024 01:50:46 GMT (envelope-from git) Date: Sat, 16 Mar 2024 01:50:46 GMT Message-Id: <202403160150.42G1okmT003544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: d8c84215d767 - main - jevents: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8c84215d7675b7940412122b6d7026bd193c9b5 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=d8c84215d7675b7940412122b6d7026bd193c9b5 commit d8c84215d7675b7940412122b6d7026bd193c9b5 Author: Jessica Clarke AuthorDate: 2024-03-16 01:50:20 +0000 Commit: Jessica Clarke CommitDate: 2024-03-16 01:50:20 +0000 jevents: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 macOS, like Linux, does not include an outer const qualifier for its fts_open callback arguments, so -Wincompatible-function-pointer-types also picks this up and breaks the build now Clang 16 makes it an error by default. Extend the existing Linux support to fix this. MFC after: 1 week --- lib/libpmc/pmu-events/jevents.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libpmc/pmu-events/jevents.c b/lib/libpmc/pmu-events/jevents.c index 590b465af400..7059b31da2ba 100644 --- a/lib/libpmc/pmu-events/jevents.c +++ b/lib/libpmc/pmu-events/jevents.c @@ -1355,7 +1355,7 @@ err_out: #include static int -#ifdef __GLIBC__ +#if defined(__GLIBC__) || defined(__APPLE__) fts_compare(const FTSENT **a, const FTSENT **b) #else fts_compare(const FTSENT * const *a, const FTSENT * const *b) From nobody Sat Mar 16 01:50:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TxPGH5vw3z5DRHx; Sat, 16 Mar 2024 01:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TxPGH4nKtz4mCv; Sat, 16 Mar 2024 01:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710553847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1KF5zZuFPnvCDfkiodJ/bzEJ0YyR8Yz1o2iEgyN344s=; b=wCJxu3P1dUU+7rR3lZZ55gDDxJZyMEbDv5tfyOIXYTw2ZhiCosoWfaA+LY2oJjWA3yX5SB 1EtJY3vzd9ovBbrSZPsR5dGDdjkPjZkUQEnhrZIq0YSrpFAw1hAfEQzvg4X2zlXBY0VuGe ebrcUg1JeUJSs/9MVN/jrqqCltqspasgswQXb0V6FavgRfoRXfOHuYGGd0TsaNE5X4APR5 e2TwYaLuH0uUl5kacO/oRoI71I2OMKA8z5V3RXaCzqBk8vSodi5JY/VGJ6VIijIeoAHSSO +N+NS7q9ZcffgthqWfIMsodH3IV3ADfY2TqgwdSycxwIk8No/tHs5jMb7u2gsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710553847; a=rsa-sha256; cv=none; b=TnCfOREJPR9YThDH9J79Yq4BoF0Lpc0p2rcOqefgjKPnk+gvH9wvOUQe/WLEzYLyCjXPcL v2QbRC/sq9UASEX6f3iksSkErlh5EYzemXmU88o2k7zL7tHGLRTc71nLNK4LoXl10xlnFu UOylJv8k5sLKbxev+tKynyTDkoBRj4Fib9Mtcw/cQGYKNb2IjdbSiIw3O80Fc+QzTlCQRI fngFEpz4IM8H8IwmdkEzPR+WiQCMXUh+id9SYVbuitUuKI9SLGAdk2DvqtvIRBWGYB20pm JSiPvyh+vglED+Wpko//HnQ6FA7+HjMtyB7WO1zeqotBM/TovWkcowy2BIfktw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710553847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1KF5zZuFPnvCDfkiodJ/bzEJ0YyR8Yz1o2iEgyN344s=; b=kMofeWFoTN4ElpDM/yymTCwT/vkLZLpUfkyGM8MtLmzPU8fAfVgYnJvu8kBsdwWz1wNnFC PibxWFC4Iw0QuB4rIHYQZ4kGSWqIXfvw0QuxdseM7c8RHSTHd2O40UoDL6jRJRQ/Ez3ggJ o0TTewv39pv1PPIgc1L/+z+WniHSnOkTjWZmd5lJMfbttqsAK2XeNxwOAlIBzqMYFCPSnY b7bNI3W9ESz4qT/mg7qNVBKUEbUIkhQy4pWUxK5oe8xceBrhKWRzmqfvkY9GMJUpPyZsvY dLW1cUH2JFm8i1dqFplBz5QWpPhQQsYhJdQRaqEeSRFYVLxg3VCBo1s7Wt1VPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TxPGH4PpWzbYf; Sat, 16 Mar 2024 01:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42G1old6003619; Sat, 16 Mar 2024 01:50:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42G1ol8k003616; Sat, 16 Mar 2024 01:50:47 GMT (envelope-from git) Date: Sat, 16 Mar 2024 01:50:47 GMT Message-Id: <202403160150.42G1ol8k003616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 75464941dc17 - main - kldxref: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75464941dc17876af2e99ea90c687bd7df873d73 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=75464941dc17876af2e99ea90c687bd7df873d73 commit 75464941dc17876af2e99ea90c687bd7df873d73 Author: Jessica Clarke AuthorDate: 2024-03-16 01:50:21 +0000 Commit: Jessica Clarke CommitDate: 2024-03-16 01:50:21 +0000 kldxref: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 macOS, like Linux, does not include an outer const qualifier for its fts_open callback arguments, so -Wincompatible-function-pointer-types also picks this up and breaks the build now Clang 16 makes it an error by default. Extend the existing Linux support to fix this. MFC after: 1 week --- usr.sbin/kldxref/kldxref.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c index 969d07e5677a..8f3d24718211 100644 --- a/usr.sbin/kldxref/kldxref.c +++ b/usr.sbin/kldxref/kldxref.c @@ -745,7 +745,7 @@ usage(void) } static int -#ifdef __GLIBC__ +#if defined(__GLIBC__) || defined(__APPLE__) compare(const FTSENT **a, const FTSENT **b) #else compare(const FTSENT *const *a, const FTSENT *const *b) From nobody Sun Mar 17 04:18:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ty4VG2P3sz5FCtn for ; Sun, 17 Mar 2024 04:18:30 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-19.consmr.mail.gq1.yahoo.com (sonic305-19.consmr.mail.gq1.yahoo.com [98.137.64.82]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ty4VF1lX4z4fFC for ; Sun, 17 Mar 2024 04:18:29 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=G9PJUY3M; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710649106; bh=1KB5O/a3zpx1ecBZTjvyrQjRDWNJPiLSBPgzqmVIxNo=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=G9PJUY3M4hCGbFdYEmcZ7VKsxIvovhXx0iRaVL1BMHprStY5HbLawpWwi1JIy16rdKQlyarzMwe8QC1m5oyf+1RPXX2IJwgSyXgPIUHdTpz/lN9VMeRg9obaxbKKI8oBqoSkWkzisEUFJ9MJODi0gJqEi7OLRRV7FxLwLbpeI5u65KQdIlMkItWtD1sju8z2+kzmO1CX+z7SnVJRLMAzgxZYXFgIHPabkUPARq1Sy6fMhvt2MsA7sT7mTOyqtqgl565urAVOOTJGp4iACN2HpS95iH8drgrwq74oECeCesCdrd5/5k/CuBf3IZ9u2ofGjvVKc4p4iKamQ7nmoFh6ZA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710649106; bh=LGhQ6r+aArdhRWWahq3UlpZXbrP1qDw0HYZ1qPeC6VK=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=mZAUZdD0UgRryvHPiT3Ng8MHIhHKaX3DLOhfua5aLhkDU5td9KIxyU0h1M/lwfi/FesSC6bn1e8dCVx7zL9UWTHGWX8XnZna91Wsat3pi3Njtidi94JjgW4InAB9OpZun7uVxDdM707tm8kZZHdmrTrL+2B6sAPgD32nkOVj7U8CUjz+i9jc7/wtteuFvOJpDzxcX1D7aJGmLzK44R3ynC1kZT2GBTEYGzPX3iDt5A1VGljODIOdbHO+38t1faUhJsGE3Q6+0qUKgpQ99K6mLnty5CaaLNnFGPaJFxxadlLYV0PTjamU43zJMHQecLbMudC4/4uB6Q9hoEIMUK7gSg== X-YMail-OSG: BIwa_dQVM1klEx2t4EVuCgXwC.iRdiYrJXImbeR85wCCHhaFdOWLtTqOyPza_bt glAWC24BrBZusJlgt.xHTNo7yLSV6ZiZTiA9ChgPlK7b83nLLZGN9dtvH7Qxd_J7Et.LUmWzAkxk 0OcOqJqN.3.dq8fdM5zaJSFEEqABMw3pd2dIlo5Al8XUv528qsix2efOu6rd6A33Rrd3gr22IXRm H3MgXb6PJcloqB4qk36YgRBeMpy0tPZPARKM0EoajO1IiTfNg7uj1DvHFgxfcFJeRThKqaiQ2QFs ikLPbi3KqHE_Mg9bF0rdSU90517Fg9IZCUXbFWKQyuVS9naHue69hzmIhM2E_SuTE8AC309qrgLw yavUXcbAVGP8dGgJftafr7Hebb2X8YaeaYh8T9Q.TW_cvoGop2jD0xDsDvZKfIkTmJUiQJDJOF7k 1eLKlgzog0RKJLYQxPV1y9DmzvW7w7CLn2aqmTTrWGLeo1Qoi.d5p9IFhMApCJzqjKnLmESD1A6N 0L3E6JqBdhpTJ4sLGo0b3VEJCJKwzqa8ghTojDsRWrE9DtgUC3OUHTYj0ufsaaEvRohJLRrDKocu mCmcpArIH0LMbN1XxBXjfjfp2I6erybNpVzm2GWsoovcaZZFs0Dz1rYyKk9ITgoFITDCh_oHOsYh SMrxopC6K1qs3K.f3_1GunGPcXUhqmAPo3n_vi92BEWrRnCTXCCJbP2B0o2SIBLDzHhaqWXaDLKC hnaIhnRIi.nelYK.l0b5jsy5GXpIl9UXSucyYAhTQ3SIC.xW58J1aZi7dlzl.GouCLz8H9xso._X zMdIZpA81UXcXtAZqY56vspm9MNVXcYaFgGMxZ_PtVBVc6oVu2.1CtNzUaVAuRZIIaJ55w0mSlrn DopWTDip.Vk140en_9rEKHLNU9Th8X_RqWzneZJfhto9GAqbkKjmbvH5ep.4Z6Y5YAktw0oi84vh xKacNwb1KjZCikl6fAqltOUPTt0J0s29JBxytWgRtLvx6pipYunnVUMi58qnmSa43fBPVko9POJM RjVoK_dZnPBK6AMaZ0iRBR5Qw_mUgGqvOWIsAHn2cmfwdjAc0c5a_WXkMf4nOMLlbAfqRII.VYOD _OI2faH9qoIfVvSXyYgZvaxHk9RabyNDvV7YkNCNQHBXr3UNOWkVFT3mUe7gbYcZtBuR9iqTkupY f4R5Q..UBXqV8FymVP3anE786tR0fFVmFD0P8G1iWv9Y1Gowpw.YYPbh3SEz912GQNFCOv0i3i.u 8YrAzWeKKRhOtT6a5soOG18ka5bRRxuNSRF7kXaTRpk4eNAgnLYr8t4cbLaPJUAREhbkRiN1eoIQ MJg62YfmVrFA3Srz0ryhBluz.303r.HVuZEtP3_gtc.nsK8OgWb9cI.2XqnrvPZ5JYi.xR_Auq0z 2fI_wS6Rs9jNT1I9r1pPu26Ir84nNfS8WkkDxLgK3RK0MJeYlTQi3DSv7ba2v1x99zSHiBrFqFZd Zu2mQtIL.feKihQ_.enQjZUdp4mUCz8Gv5JH.NyWYg2ES6RJkWaa2o3VbcWYMkiqkeZEixQuqjg3 pve1YVa881RYTIFz4bW562NC69D_lTqdCx8BZGwunCkexCPO8JQo4F0_fb._EpiJ_9_FcxUzqUpa rCUUOSE54laEVHN3nk2JYLPaYfCC4LrbmZN0C7QmyEtTc.3PwGfv1fQqtiW9i86g9ZGCK_5tcygp dgYJbqah_AKT0KC34LwGRuEnQDes0hZ8686H.odoV_bavQU9R9HRqiSRY8J0hVXXZ1kg4GAU6OXn YGuDeaKy51M1wHtyCGTFJ723Cbl90mZlRpKvE8pwM.Tpt5XWdJzx9QV5tdfArpE4acCUbh6qJ_82 EaFYDcd6jnBjb2mkT355vsb.fLDJAI.TuzJrzqWx2cunS1xPDwee4BRZCq3ngA0Ef1uKaRIWUNSb DtRRSjc2knf_vpEZgbN3rZlzs5sFg4K0W9BEiCvEno61g5N.CRDyM2f0cTwlo5dhNgK3sT2nf5bi VTXwtP9tWadV4ss2r4577JvRPexWi47G7XMnIOGqsqq5vmlns9PQOWw7FNAU4z8BwigmNZft7xL7 plskTqLQVyIp7TndZ8q.XzT29Ta70f9yzJig.AARUTSg6Kk216VnjA1FZZy969hrvmxcYwbulldV lhDw5PqLpjlb2cPYX4JRGJovcQvDC6Dwrrc3qc9Yj8oB__JEs5oppuo2cEWrAgYLQK8gmFb.boXN O4YSHnYfiL9nrL7G4Ild6KYVhY1NqrstyllFh1hO2EFr31UOo4mfoSSzoB5NudtURDzdOxxOPcIU KVwI- X-Sonic-MF: X-Sonic-ID: 9f066b32-d621-4e7a-a7cc-0071389c75a8 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Sun, 17 Mar 2024 04:18:26 +0000 Received: by hermes--production-gq1-5c57879fdf-7xbd4 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID a39a0bf675eec77c2160da5e49584c29; Sun, 17 Mar 2024 04:18:23 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Re: git: c849eb8f1925 - main - nullfs: Add the vfs.nullfs.cache_nodes sysctl to control nocache default [unknown oid 'vfs.nullfs.cache_nodes'] Message-Id: <2A0B7932-0705-4227-9CE0-9A018752DAB0@yahoo.com> Date: Sat, 16 Mar 2024 21:18:12 -0700 To: Konstantin Belousov , seigo.tanimura@gmail.com, dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3774.400.31) References: <2A0B7932-0705-4227-9CE0-9A018752DAB0.ref@yahoo.com> X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[yahoo.com:+]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_TO(0.00)[freebsd.org,gmail.com]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.82:from]; TAGGED_RCPT(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.82:from] X-Rspamd-Queue-Id: 4Ty4VF1lX4z4fFC Both an official PkgBase install and a personal build do not find the = new oid for this for main: # uname -apKU FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT = main-n268827-75464941dc17 GENERIC-NODEBUG amd64 amd64 1500015 1500015 # uname -apKU FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #139 = main-n268827-75464941dc17-dirty: Sun Mar 17 03:16:30 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500015 1500015 The results are: # sysctl -d vfs.nullfs.cache_nodes sysctl: unknown oid 'vfs.nullfs.cache_nodes' # sysctl -a | grep vnode kern.maxvnodes: 3224925 kern.ipc.umtx_vnode_persistent: 0 vm.vnode_pbufs: 2048 vm.stats.vm.v_vnodepgsout: 0 vm.stats.vm.v_vnodepgsin: 4923 vm.stats.vm.v_vnodeout: 0 vm.stats.vm.v_vnodein: 662 vfs.wantfreevnodes: 806231 vfs.freevnodes: 1323 vfs.vnodes_created: 3654 vfs.numvnodes: 1807 vfs.vnode.vnlru.uma_reclaim_calls: 0 vfs.vnode.vnlru.kicks: 0 vfs.vnode.vnlru.max_free_per_call: 10000 vfs.vnode.vnlru.failed_runs: 0 vfs.vnode.vnlru.direct_recycles_free: 0 vfs.vnode.vnlru.recycles_free: 0 vfs.vnode.vnlru.recycles: 0 vfs.vnode.stats.alloc_sleeps: 0 vfs.vnode.stats.free: 1323 vfs.vnode.stats.skipped_requeues: 0 vfs.vnode.stats.created: 3654 vfs.vnode.stats.count: 1807 vfs.vnode.param.wantfree: 806231 vfs.vnode.param.limit: 3224925 vfs.cache.debug.vnodes_cel_3_failures: 0 vfs.cache.stats.heldvnodes: 119 debug.vnode_domainset: debug.sizeof.vnode: 448 debug.fail_point.status_fill_kinfo_vnode__random_path: off debug.fail_point.fill_kinfo_vnode__random_path: off Note: The mount_nullfs man page does have: QUOTE cache Force enable metadata caching. The vfs.nullfs.cache_vnodes sysctl specifies global default for = mount- specific cache/nocache option. END QUOTE That is evidence of the vintage of materials. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun Mar 17 04:48:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ty58n3nyXz5FG6s for ; Sun, 17 Mar 2024 04:48:25 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic308-8.consmr.mail.gq1.yahoo.com (sonic308-8.consmr.mail.gq1.yahoo.com [98.137.68.32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ty58m5RBTz4gsr for ; Sun, 17 Mar 2024 04:48:24 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=newaKtWF; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.32 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710650902; bh=OMDzwp4WfAVVtU6wROSw0MmKfkm+9AwmhMZ29TftCio=; h=From:Subject:Date:References:To:In-Reply-To:From:Subject:Reply-To; b=newaKtWF/2ghYeyuH/9ihH3Hgbu94x4gcLzRuarQuMQGR0e4eNsNWhmq71DcxfL5DB12qGRUftmgaBlC5ksNBAjib7GQ2EbImqlLPBn+jCpfK3ujQHxndysk+uIocPcvz8k2jeneYAui2dOVyo+AkZ6mGBdIlZawEPzrloYsvm2qSBE4CG8zFsABYq5XO3VjF/2ua+NvWvi3HkHY/Ph2XTV0VnwVMduxcj102y5jGvwAVISy9tdVebjdG5GjmhXzKPHl/BXbERhbzVOgN4eLwlFEpeOVpzu11t/lskyO4EwiNEq/rpX8msxa5d9J6cRrUrcwwQkrZ+Ao3egYJleWjw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710650902; bh=ax+AjIUUEDyyqphJXJkrjl8HxSY8iNU/hEH0NoUSmAs=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=nfODmmAzlseE7ONxFHOW20S8EM/lNi4l8bbwbCgOHq0FHi9C5cuzMsFsA0wmJnmUkbP00h5YmiZy+Zk1zPJeUYfgelwTTKAMBMsIwxw/9XtM4j3VfCDZ0kaLgYtr43OSOdVC3pmbvhKMcOMrobdQ8oQhoCaOy8hjbY2JgICfYn37qPuGt7+cS49bOCgRKaWjt7yvINlENI3NWPpkdHGMDSfl4qGhdxoNzn/yaW+hs+20jqTuLxUUPR+wbDP1oJIhLoPO+XAcyV/DXfzlKFIA/9t4sx68i+NJ6Qfj2eKIyFZD2ufo3SQqFc3mse0s8gEzf6XKwgIn+arJf0/mddl7Og== X-YMail-OSG: KyhimkkVM1nZUd21VGSzjjFx5Z2.80OzH16oBkD1._w8L06PHTckri3SLrTQWNv oKmpjgpI1XTZ3abVolpyLL4e_vB9VGPvqLFMDEuJAMBlBhHYiOlK7nyD9ns1D9RnYEXayY_Xk65a z3b0NkivVCeWZtv_szCplnbhlce5mURwPIlx_55oOd8KpWH1uE2uCSBxM4sUazBzP..qge_ug0DA TSltW.eIcXFEmOSBf4fxtR3Zo3zb._VNMThCJx3e4a2NFnuram.DUtD8NyDM8Y5HYmoSyKCNBq_o B49mTyZlOfEw3WHt4.Ch5hsnA9KTLOPE9GxVgpQQd.sU90FZ9I13MSWScPTw5KkngIpOkdUJBBst apY7Mi5rMzcJRmXwSzFe2MUk4j0ETQV_s1Dn00ZSW64vCAOOMC4JsT1NfclM9cNyHCbnddifCR7R wdSjmnXRA.ptIf2H6CS.kNEM51i9.6vc6wkcq0dDEuXWSJ9pqP7c.1bKf99buWKXxizJuUmVGGYm 7.vjuYQZ0I9J2q9qO1IXP1oFGVJjNqLbWi4lTVdDN2raNWPXdoKKq8q9nEAoidJ0V3fFyjHLupMe LlxZp15KOXNfa3Z_tkrJXXObLAN0Wmbd2A253wCZIW26oho2CdfuBXMhvEbZtorNXcCSvISeOaE7 OWep5phGxO.c5wbmWNqFVp9QJSEmn9XMT.18azAWvj1Xdd3swwd54e4hHt890JN3KNEKq2YzaaaI iCWGDoq42e.91AhOtfVkmtB73xNvCWsvfdQxkTwPyEwCq6lE9DXPWF7I5jzJ6S8vPl7xOJThfs01 K8nX0QW8RXJbpHlTh1L_aaJPE1pc9p75wnBtxJnSpnzcWTQgima5HZCzoOh1yVfSrj0XnfrW5rG0 9r91w__QP7eQBQqHZnYA92ReHqb0ZyQyQjaY5wIu1NsteyTl.w5qhBIH.alG2Yq7HSZs.Mvk3oHg JZlNMBK4Ov11J3NnTzaiZTZQtFYR25S76V8w73DDKi3V8MdwVOi15aILr79iB7TeEWtaomGKxyp5 2Udqv5q2fH0kvxxDWYo5yug.OvR7lR7QtmWbTzY_IUSPaaoNThEOY52Zwzp0wYkdDJ3JFEEcD24i KY4rlU4zgjI2gia0eu5sacvJQuCxm5lvtafHiDf0XNRy3MkrkhPRJgwTkF6TmGL6BnuRkWT1WaX8 LTity2w8_Nr9FLkbZMJV.s7S.Tf.RYon7nAmsFeL.ta9P5ikp53gUv1PIyheAUj5HT4gPRZGLJ5F PvADmmiT2EDsY8brkyTQhwW3E6Q.7iG.QgMgMjrJWpXyGS02QE3mygaf.iO4VqkRmSIcGKiXwU1c 5SudatHNmUCUrfPJT7xmNMn1nuncW9J4kiHOlC46zNf1NgwiSXGaVgdEa67fYd.4B8YcSrWM5a64 2NUs8QcbtvYBEOYGp40vdgMCjGAAf6x2bVU5V_c9vF_KGZtHKDMg9u.DM.gBVKs.S3.IBa31cigi WfNdC4yzZfmRpyl2.o79orVb7Moeim6tyqhJ6sgiLhMn6_3.Oxi0xqYYcYhFV2EJKKrdfMTJHnDK 4DpzCe6AIv5OW.R6z6qsuUv90w5HrxobWvzragEENkeoxGg.UozIKSSUdXImkOFHkA0w1CneBeej BuqWTnrz7YZHH7X49CK00P3K5yaxIk6pous.k5oU1Qo.swYm1afbPTFc_1VJ0nX.sD5zwvhXUoAm Jvf992iSQmPIKBDoyRd502qoKUfFkhtjn0ls7MsSRyG2E9PgebpKhdCaQfxqAIwBoMCe8Ryjjf2z wIXAV9jYZKl_KhIKSRmezb49hiXX6ZrPjBAafR_tx17uS3OEMvmcJEju_pBwRePX3Ya8C.I4a2Zv a1yUMmbkh34PXD5NkX9uj800sASgUsiheX2zkqxiMIxGsoUQRjU5K9pUEwtKC.qSkzVDLF3XvYFa ax05JeQl_3pTv8dYGE5oMrDHrypMCGrlydfCez4JYCjBR7aE1swdpm3v.a9olHshOnf2XPEl5ukw rdY758Y5Nc7YxPOtT6wmHtTPNK6PaMofKN2poeRbjpIsHs_IWkkCgglqZeHkpUw5_P5Vwi7GJzQA un2CKflNHZEVVcoEO4txd22nbvyByNkLOeANp88XDB5GTXH.7BCqGmNTS1dqPvqqKYnwwp0aSbdT PxS6Oq4gNtN3WDo8JrGjFO5.gw3pxXKVJlE_wMOdn9mHlqjZa7v16kEZi0PZDqRL2tMNSsKNFJYN eZaBeKQeBYEr1c7db2J3dAiWc5M71H95.V69zC5ywrrEMtodHiuwGfXrfEYfs6gX6KGUgsbfnHnp A X-Sonic-MF: X-Sonic-ID: 308bd650-df59-4929-8f6b-168bb104f1a6 Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.gq1.yahoo.com with HTTP; Sun, 17 Mar 2024 04:48:22 +0000 Received: by hermes--production-gq1-5c57879fdf-6xjwd (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 1e7c0aac54b64ed45c12efe9a361f1ea; Sun, 17 Mar 2024 04:48:18 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Re: git: c849eb8f1925 - main - nullfs: Add the vfs.nullfs.cache_nodes sysctl to control nocache default [unknown oid 'vfs.nullfs.cache_vnodes'] Date: Sat, 16 Mar 2024 21:48:07 -0700 References: <2A0B7932-0705-4227-9CE0-9A018752DAB0@yahoo.com> To: Konstantin Belousov , seigo.tanimura@gmail.com, dev-commits-src-main@freebsd.org In-Reply-To: <2A0B7932-0705-4227-9CE0-9A018752DAB0@yahoo.com> Message-Id: <35A8FCDD-7571-42C3-AAAC-81AAD6FC4D7B@yahoo.com> X-Mailer: Apple Mail (2.3774.400.31) X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[yahoo.com:+]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_TO(0.00)[freebsd.org,gmail.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.32:from]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.32:from]; TAGGED_RCPT(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-Rspamd-Queue-Id: 4Ty58m5RBTz4gsr [Correcting a typo in the naming. Leads to discovering need to load = nullfs.ko first.] On Mar 16, 2024, at 21:18, Mark Millard wrote: > Both an official PkgBase install and a personal build do not find the = new oid for this for main: >=20 > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT = main-n268827-75464941dc17 GENERIC-NODEBUG amd64 amd64 1500015 1500015 >=20 > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #139 = main-n268827-75464941dc17-dirty: Sun Mar 17 03:16:30 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500015 1500015 >=20 > The results are: >=20 > # sysctl -d vfs.nullfs.cache_nodes > sysctl: unknown oid 'vfs.nullfs.cache_nodes' # sysctl -d vfs.nullfs.cache_vnodes would also have failed because nullfs.ko had not been loaded yet. > # sysctl -a | grep vnode > kern.maxvnodes: 3224925 > kern.ipc.umtx_vnode_persistent: 0 > vm.vnode_pbufs: 2048 > vm.stats.vm.v_vnodepgsout: 0 > vm.stats.vm.v_vnodepgsin: 4923 > vm.stats.vm.v_vnodeout: 0 > vm.stats.vm.v_vnodein: 662 > vfs.wantfreevnodes: 806231 > vfs.freevnodes: 1323 > vfs.vnodes_created: 3654 > vfs.numvnodes: 1807 > vfs.vnode.vnlru.uma_reclaim_calls: 0 > vfs.vnode.vnlru.kicks: 0 > vfs.vnode.vnlru.max_free_per_call: 10000 > vfs.vnode.vnlru.failed_runs: 0 > vfs.vnode.vnlru.direct_recycles_free: 0 > vfs.vnode.vnlru.recycles_free: 0 > vfs.vnode.vnlru.recycles: 0 > vfs.vnode.stats.alloc_sleeps: 0 > vfs.vnode.stats.free: 1323 > vfs.vnode.stats.skipped_requeues: 0 > vfs.vnode.stats.created: 3654 > vfs.vnode.stats.count: 1807 > vfs.vnode.param.wantfree: 806231 > vfs.vnode.param.limit: 3224925 > vfs.cache.debug.vnodes_cel_3_failures: 0 > vfs.cache.stats.heldvnodes: 119 > debug.vnode_domainset: > debug.sizeof.vnode: 448 > debug.fail_point.status_fill_kinfo_vnode__random_path: off > debug.fail_point.fill_kinfo_vnode__random_path: off That also explains the above. > Note: The mount_nullfs man page does have: >=20 > QUOTE > cache Force enable metadata caching. >=20 > The vfs.nullfs.cache_vnodes sysctl specifies global default for = mount- > specific cache/nocache option. > END QUOTE >=20 > That is evidence of the vintage of materials. >=20 After: # kldload nullfs It shows up (when correctly spelled): # sysctl -Td vfs.nullfs.cache_vnodes vfs.nullfs.cache_vnodes: cache free nullfs vnodes (So the tunable requires first loading nullfs.ko to be effective? Should there be any notes about getting tunable time frame settings to work for any early time frame use of nullfs_mount?) # sysctl -Wd vfs.nullfs.cache_vnodes vfs.nullfs.cache_vnodes: cache free nullfs vnodes =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun Mar 17 04:48:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ty59S0BDGz5FGGt for ; Sun, 17 Mar 2024 04:49:00 +0000 (UTC) (envelope-from seigo.tanimura@gmail.com) Received: from mail-oa1-x35.google.com (mail-oa1-x35.google.com [IPv6:2001:4860:4864:20::35]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ty59R54Jcz4h1r; Sun, 17 Mar 2024 04:48:59 +0000 (UTC) (envelope-from seigo.tanimura@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-21e45ece781so2324773fac.0; Sat, 16 Mar 2024 21:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710650937; x=1711255737; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Zr1h7oSTOXjvB81cio6MIFNbC1r/gvfW0LYMjksbE9k=; b=gCn19bW24iMLbbGjFm9BBZRZTHjGNR8ZQbuZDrD41svD0fETJ5goL9kl8kORNX02IW zeEjF7qJzkc+LQx3XfsKGkYLDvHp+pXpCqEfSUQemvpidEIcxhGyQwyQ5RjWNH/41b0/ F1fS5bYyScQRCRW4DLviwWz+A/DZkMeGsAbbQgDTNWCxAY3aOcdFIMWLycvYZaoEqNBq HU7pYL97ZurD9zvI4fBHNXkZtdeOUHTxOYNt5UtZcO/ObLRem0Ok80KFo3ixb4SGLvwK UjY+5FmDzcukxxnXqRguqIVyJB/VtrEE4bk1ProXmxQzMvMr9JOTz/JYnj2zqKZsFcky l+BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710650937; x=1711255737; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Zr1h7oSTOXjvB81cio6MIFNbC1r/gvfW0LYMjksbE9k=; b=ai+QjjHP8tnGv0VRFlIDGVKDMC+S8TxM0CqxvO2n0mG41Luadtw64uQtLRRCEl3K9g l5tmJSYWUeZTXMBkGf0ADYkaSkek+SIm2SHrohbXKDhE4S9e9kuOkB1qRygT4YvmaC1m UNNlCqLUkXl/eaF2Uu7BHQEQJfT/sBQERB3n4Ou+NIQzx/IQnKlfhx7GocpuK5qiG+1j Ec7LOn8BHa1pgTaQ4EAISs8nmVqqGp3Omd2phHN1Ok6Vxn07sBav8W3WTax4OM9UIyRp o08SP+wFGRcu1ObvpZvNVZI8RmpKW1DQox3GYrErXf9VFPj8tuUvmYjY1hs8LQDiruvE GCCQ== X-Forwarded-Encrypted: i=1; AJvYcCUhXW5QL5J7G+gknjwsf0udLgNFHmNpuo41INjwK/C3dVlSfrVqk4KLyIrWe6Wq7poUCt+FISB05fCu7H8EGLjEuAFGhWKtlmjZKvZOrqGLew== X-Gm-Message-State: AOJu0Yz5s1OMYvDdr77bjXtT2B5BujXsPliV02XuuaiKA6Qt0Jd/OiLV cGDDe08wvNMuTg64UH9LohnuH0z2gc12CKnlhrOIFmdKp8Or9gLJxwmZ/J9rwIAAYxRtDW9Uy1m UtI4isQX0e36/s72Cn1Gy9Leicmg= X-Google-Smtp-Source: AGHT+IFeiE/0IKkS9vmV6UqY4jVZZd/Stu+do/oWTMuzgjrGW57V/wW43mESBv/Jexj8qCV6z9hpN0po1DBYeeYjdJA= X-Received: by 2002:a05:6870:d88e:b0:222:619f:9314 with SMTP id oe14-20020a056870d88e00b00222619f9314mr8804726oac.25.1710650937626; Sat, 16 Mar 2024 21:48:57 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <2A0B7932-0705-4227-9CE0-9A018752DAB0.ref@yahoo.com> <2A0B7932-0705-4227-9CE0-9A018752DAB0@yahoo.com> In-Reply-To: <2A0B7932-0705-4227-9CE0-9A018752DAB0@yahoo.com> From: Seigo Tanimura Date: Sun, 17 Mar 2024 13:48:21 +0900 Message-ID: Subject: Re: git: c849eb8f1925 - main - nullfs: Add the vfs.nullfs.cache_nodes sysctl to control nocache default [unknown oid 'vfs.nullfs.cache_nodes'] To: Mark Millard Cc: Konstantin Belousov , dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000078d9280613d3f5ff" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US] X-Rspamd-Queue-Id: 4Ty59R54Jcz4h1r --00000000000078d9280613d3f5ff Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Mark, Is the nullfs(5) kernel module loaded? vfs.nullfs.cache_nodes is implemented in nullfs(5), which is not in GENERIC= . Best regards, -- Seigo Tanimura On Sun, Mar 17, 2024 at 1:18=E2=80=AFPM Mark Millard wr= ote: > Both an official PkgBase install and a personal build do not find the new > oid for this for main: > > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT > main-n268827-75464941dc17 GENERIC-NODEBUG amd64 amd64 1500015 1500015 > > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #139 > main-n268827-75464941dc17-dirty: Sun Mar 17 03:16:30 UTC 2024 > root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd= 64.amd64/sys/GENERIC-NODBG > amd64 amd64 1500015 1500015 > > The results are: > > # sysctl -d vfs.nullfs.cache_nodes > sysctl: unknown oid 'vfs.nullfs.cache_nodes' > > # sysctl -a | grep vnode > kern.maxvnodes: 3224925 > kern.ipc.umtx_vnode_persistent: 0 > vm.vnode_pbufs: 2048 > vm.stats.vm.v_vnodepgsout: 0 > vm.stats.vm.v_vnodepgsin: 4923 > vm.stats.vm.v_vnodeout: 0 > vm.stats.vm.v_vnodein: 662 > vfs.wantfreevnodes: 806231 > vfs.freevnodes: 1323 > vfs.vnodes_created: 3654 > vfs.numvnodes: 1807 > vfs.vnode.vnlru.uma_reclaim_calls: 0 > vfs.vnode.vnlru.kicks: 0 > vfs.vnode.vnlru.max_free_per_call: 10000 > vfs.vnode.vnlru.failed_runs: 0 > vfs.vnode.vnlru.direct_recycles_free: 0 > vfs.vnode.vnlru.recycles_free: 0 > vfs.vnode.vnlru.recycles: 0 > vfs.vnode.stats.alloc_sleeps: 0 > vfs.vnode.stats.free: 1323 > vfs.vnode.stats.skipped_requeues: 0 > vfs.vnode.stats.created: 3654 > vfs.vnode.stats.count: 1807 > vfs.vnode.param.wantfree: 806231 > vfs.vnode.param.limit: 3224925 > vfs.cache.debug.vnodes_cel_3_failures: 0 > vfs.cache.stats.heldvnodes: 119 > debug.vnode_domainset: > debug.sizeof.vnode: 448 > debug.fail_point.status_fill_kinfo_vnode__random_path: off > debug.fail_point.fill_kinfo_vnode__random_path: off > > Note: The mount_nullfs man page does have: > > QUOTE > cache Force enable metadata caching. > > The vfs.nullfs.cache_vnodes sysctl specifies global default for moun= t- > specific cache/nocache option. > END QUOTE > > That is evidence of the vintage of materials. > > =3D=3D=3D > Mark Millard > marklmi at yahoo.com > > --00000000000078d9280613d3f5ff Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Mark,

Is the nullfs(5)= kernel module loaded?

vfs.nullfs.cache_nodes = is implemented in nullfs(5), which is not in GENERIC.

<= div>Best regards,


On Sun, Mar 17, 2024 at 1:18=E2=80=AFPM Mark Millard <<= a href=3D"mailto:marklmi@yahoo.com">marklmi@yahoo.com> wrote:
Both an official PkgBa= se install and a personal build do not find the new oid for this for main:<= br>
# uname -apKU
FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT main-n268827-75464941= dc17 GENERIC-NODEBUG amd64 amd64 1500015 1500015

# uname -apKU
FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #139 main-n268827-754= 64941dc17-dirty: Sun Mar 17 03:16:30 UTC 2024=C2=A0 =C2=A0 =C2=A0root@7950X= 3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/= GENERIC-NODBG amd64 amd64 1500015 1500015

The results are:

# sysctl -d vfs.nullfs.cache_nodes
sysctl: unknown oid 'vfs.nullfs.cache_nodes'

# sysctl -a | grep vnode
kern.maxvnodes: 3224925
kern.ipc.umtx_vnode_persistent: 0
vm.vnode_pbufs: 2048
vm.stats.vm.v_vnodepgsout: 0
vm.stats.vm.v_vnodepgsin: 4923
vm.stats.vm.v_vnodeout: 0
vm.stats.vm.v_vnodein: 662
vfs.wantfreevnodes: 806231
vfs.freevnodes: 1323
vfs.vnodes_created: 3654
vfs.numvnodes: 1807
vfs.vnode.vnlru.uma_reclaim_calls: 0
vfs.vnode.vnlru.kicks: 0
vfs.vnode.vnlru.max_free_per_call: 10000
vfs.vnode.vnlru.failed_runs: 0
vfs.vnode.vnlru.direct_recycles_free: 0
vfs.vnode.vnlru.recycles_free: 0
vfs.vnode.vnlru.recycles: 0
vfs.vnode.stats.alloc_sleeps: 0
vfs.vnode.stats.free: 1323
vfs.vnode.stats.skipped_requeues: 0
vfs.vnode.stats.created: 3654
vfs.vnode.stats.count: 1807
vfs.vnode.param.wantfree: 806231
vfs.vnode.param.limit: 3224925
vfs.cache.debug.vnodes_cel_3_failures: 0
vfs.cache.stats.heldvnodes: 119
debug.vnode_domainset: <NULL>
debug.sizeof.vnode: 448
debug.fail_point.status_fill_kinfo_vnode__random_path: off
debug.fail_point.fill_kinfo_vnode__random_path: off

Note: The mount_nullfs man page does have:

QUOTE
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0cache=C2=A0 =C2=A0 Force en= able metadata caching.

=C2=A0 =C2=A0 =C2=A0The vfs.nullfs.cache_vnodes sysctl specifies global def= ault for mount-
=C2=A0 =C2=A0 =C2=A0specific cache/nocache option.
END QUOTE

That is evidence of the vintage of materials.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com

--00000000000078d9280613d3f5ff-- From nobody Sun Mar 17 04:58:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ty5NJ45Wbz5FGgJ for ; Sun, 17 Mar 2024 04:58:24 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-19.consmr.mail.gq1.yahoo.com (sonic305-19.consmr.mail.gq1.yahoo.com [98.137.64.82]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ty5NH6nNPz4hqC for ; Sun, 17 Mar 2024 04:58:23 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=UNaBPU+8; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710651501; bh=EHZRgrlOPOjEDpxMaC2NFOnrblRZk50PAlruj7xg708=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=UNaBPU+8vnpcGY0KC/fv3VXgLa0cVrPTwQORRVU75sLIlPzkZJe7L6rrB1vUvpcjqQPNrDeGlClmLKL8Cy5cn2KArRojdddVszGM5WF1u65aQotNQKEssQpxHdMYmBEnEc6BwspEMtrtpS7z//dNoDfoYW0DN8XaVh2Q4smR85VBee6bmr7U20x3zacQ38DEsAS80QewVggS0mXCoIWqtKn/mbwJp97+KaxvCBWHQWUQ+KpuS1YI2CAx14YVQnHmWFfxgf9ZLvlJX9lPiyDPvbBqbmCwPMgREEeTQPDBPEP/lQhtrQcojDISU4FNymzADTsZRCif34rqgUZQgRYMNw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710651501; bh=2MASszjnG0E8s9anFoTSpYjLyQZ3KzpvnWSTHmqorea=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=rRdhOVO0GRhhb1lX+gZgbDO9GigBL2/wwRUShclWg48qfNEzozWIKRqRsig6FU8vJpYb6/Y/bwdt6IEU//XpP3VNnItULdpv8w4pCNxicJ41H5Z2DbFgPSjNtRkz40mFuBnHbHm1iJ5bxAxk/E0C30vVG6EM1hhVpIb7epraz5F/Cy3A1RbZfEoC8GGjdx3eQ+XFPWeU8+R0mftGL8NqVOpRuznLl4ED2J7W93n2FLlgdBii1i7T5UbsdMQzO9twQPv2cHCI+QGGn/ARABPoFZLEiA+5x10Ysx9n2Dy1Hs4Ax+R0Ika+61JbiItZwDp/4KKA+S4eNDzkIt2OKT1Fpw== X-YMail-OSG: J_8FcIAVM1m6lLpCXC9uiJ2uP1_ZIk7MFQETEC3.jTUBZraAa68K8EcpOymvscg JkuxuOUFu3ESDbhG0rEZIvdYTkG_HFmRFuM_Cvfrmi80w78xUcnbd7FiiHWm8jwoLQfcTQxdYI3z lt2PfEslhvtmMeM5QSp0iHjDHMK2m3rzdrZ93pecOSN.f_FYNvgLxcwIz99KqSbW8r5yskjzGGVX 658AhYb27eM.rS4vdnXUUIjnLyYTmMX5qE7.PPXjepSI8UlBnsxB9PuBJorlCVippjppZSQ6A25Q ysar8P98rIPzbskk0EoD6Kq611LgJsIl4nlDJNFWZWweTcBZKAEPRFrP4LA0ITxiRsyLsWEUn96F 3vUKq2vrHDtn4A8NAYMzwYCXAYHfJvcvKs0rvcrKxGbGb3pmpvSMlMhEbJIqdG.xwHTiHqygOLPW wZJ_ZU.g.BX_MeKxHDOCPcbITWkDzPpaEhFFc1N_gaUajj5qB8B_JfDtwlWKE8tcOQY7P3WJH89V 9Tc9eAa.mKb9p3gTDSiTTRgS5EfHtfy4L2YG_yPcQMdzRxvmUWXdVUVkMREY3bydz2i7fm3y8Yym riSc97lJw2mg3TssmgJYEoTnvNXSVFumgb4XHdvgR6oa2FAPfj7xpI_t6zPL7kT7VyFh1NyY1uon VpzpEdc6CrgF4Kt06dKQArGkBRMwoXRpLdDog3tNLnsBWVeg_4_KvcRqq1AxZI0jitrmIfbWUz37 YKgPwQGqS3zGl.H1aDRMp0T1d48f.skMzRZ2O._V9UentImL9dvPWgn79v5tVJirK7Iitd1IAnSP t0.zKJQvuFPT.7WD_uOcGVCKj200gm2zGatPDxrLXLwWn56t4DX70gv3ORhUIlk0pYOv2Nr8ft.J S0dEtorN3AtPQV6JxUPn72Sia9KOr29CG8p.eFZXp.AuIBaL3wsj8_whvGHkG1N.RBkGDJQHNihc g_cGfJvE1slXPrErTfu5rcgFvqSF666FNccouTO7gp5bxgA.lQoP3NLNonTJcIUD9r25jSJx4Ov. vcgcc3mAVA_hRJij3ZSPwuHDqSLUzwGnRjc3PtYlpzprRmjJOVym0OSs6gaVkxZCgAP0NB9iN9pz L.8pbWlXBVTKx4ULa0s2FypI.UyRq4FdevHJY.m8xNstnX9.b8iWJ5xcw3B1bZYY29Z_flT6Ukex 551js0tPHGScVacW9j0kWjmVgeSGJW1Ucou1R5_TD8O64tU3VUytkb2H3Nj24m6aewR1YvRX6ppR YqFaLQrtY_hegPA8E03eWGWH0T7F56RVzMBgIocxnR5l7hqcTvqbnKUR3fUkYkVq.oPZCVciTF9c EIV5eSaYW4FIlzDNQp6ANiESNUVmgnvwL5vkkXLj6om9IJSEEzQ4LwpZjbDnDIJAMtO3IZ5gDgnT qTlv5RvSdWozptCpiy8QSK7RhJCeIFg1Tu71Be.uJbxtatOWHG2_lOhK2svVa46AH5ydh40z02XX ngCyeZTfTBStgFjmIWp7fGRv9yuqxiZntmiaFp9.wxJhRoJ4_am2NK7_DvusbfghFc_rbNwotT6O Sc5amTYkNLFAG8fLZ.N0Pu_wyf5nIsGoYUuaOayYJFX5_CKOdNyR2j.tHW8wyDqYaomNAeWhAhFj xbcA1iMc67r9WPCoLlGEMl7M9NhMaWnJ3bPGxB8FPAhDcu5PM6Rv63UND1x5F6wvMEebcXk9QYiR g9xZ4R12z8SxcdctRF6PksJyIaHITH4Ew8ZIZMrCMDfegGUvkiyOk7cpp4CCDFDOH.XWl518uJF5 cTxpwBR5wuHy0nfip4BNRIB39yf6lCzoHz9skNZ5XSx.Xt14E.TjEGtnGdJNLAHRRq91QfUq02f0 NXukE9wkfJwJfaWPFDP0wOBa5CGPrYKGCOvZ0r9EHB1jBDxX1q3HrCxhu2tlyRlOpdLQs8ZCZD3V w1j7OtKjVT2h_yCjsaCSq62zsSpLn8UyIbbVaJXmPRECMse3M8G0p3H99Jwe5bamtnx4ktHGkKim vPiv4d9ZsO2nZjOZNtusJl311ZqvyEvhY0WOkyX6h2JHNEoAaw55pfesGho9ZDgJlyZ0K7OgcHmj r58zd62tjQFYO348hm_6U2LwZrTLTzD8ZoARYSAqOck6KFO4zT0OLao7zn87JbG2ssZkoZ7Gk6hZ xHYP0yZkSzU6vrvy_ppuQNIq87u1l8ELCAmxQDwMRPeb1VmdHeS6lFQEQNvujdX7_3RWs6bo6vIc wv99I2HnC5O_86aphfhnLlOR067MqnFRSTJKCv7bbMlOyfx49UxAajSLhBykmc8.jmlcqW35dfxQ vCA-- X-Sonic-MF: X-Sonic-ID: 3ed1ef6a-c928-46aa-9f91-2a1bafe04394 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Sun, 17 Mar 2024 04:58:21 +0000 Received: by hermes--production-gq1-5c57879fdf-p26ct (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 95ac4a195963a66f32758caf4303c325; Sun, 17 Mar 2024 04:58:20 +0000 (UTC) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Re: git: c849eb8f1925 - main - nullfs: Add the vfs.nullfs.cache_nodes sysctl to control nocache default [unknown oid 'vfs.nullfs.cache_nodes'] From: Mark Millard In-Reply-To: Date: Sat, 16 Mar 2024 21:58:09 -0700 Cc: Konstantin Belousov , dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <337B4B85-E821-40A1-87ED-B5CDE2B2271B@yahoo.com> References: <2A0B7932-0705-4227-9CE0-9A018752DAB0.ref@yahoo.com> <2A0B7932-0705-4227-9CE0-9A018752DAB0@yahoo.com> To: Seigo Tanimura X-Mailer: Apple Mail (2.3774.400.31) X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[yahoo.com:+]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.82:from]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.82:from]; TAGGED_RCPT(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-Rspamd-Queue-Id: 4Ty5NH6nNPz4hqC On Mar 16, 2024, at 21:48, Seigo Tanimura = wrote: > Hello Mark, Hello. > Is the nullfs(5) kernel module loaded? >=20 > vfs.nullfs.cache_nodes is implemented in nullfs(5), which is not in = GENERIC. I had not expected a tunable to require a kernel module load first. Also, the name was actually vfs.nullfs.cache_vnodes . With nullfs.ko loaded: # sysctl -T vfs.nullfs.cache_vnodes vfs.nullfs.cache_vnodes: 1 That indicates it is a tunable (so it should be appropriate for /boot/loader.conf use, as I understand what tunable refers to). But vfs.nullfs.cache_vnodes can not be internally set before nullfs.ko is loaded. There might need to be notes about the proper handling for early (tunable) time frames. Mark > Best regards, >=20 > -- > Seigo Tanimura >=20 >=20 > On Sun, Mar 17, 2024 at 1:18=E2=80=AFPM Mark Millard = wrote: > Both an official PkgBase install and a personal build do not find the = new oid for this for main: >=20 > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT = main-n268827-75464941dc17 GENERIC-NODEBUG amd64 amd64 1500015 1500015 >=20 > # uname -apKU > FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #139 = main-n268827-75464941dc17-dirty: Sun Mar 17 03:16:30 UTC 2024 = root@7950X3D-ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64= .amd64/sys/GENERIC-NODBG amd64 amd64 1500015 1500015 >=20 > The results are: >=20 > # sysctl -d vfs.nullfs.cache_nodes > sysctl: unknown oid 'vfs.nullfs.cache_nodes' >=20 > # sysctl -a | grep vnode > kern.maxvnodes: 3224925 > kern.ipc.umtx_vnode_persistent: 0 > vm.vnode_pbufs: 2048 > vm.stats.vm.v_vnodepgsout: 0 > vm.stats.vm.v_vnodepgsin: 4923 > vm.stats.vm.v_vnodeout: 0 > vm.stats.vm.v_vnodein: 662 > vfs.wantfreevnodes: 806231 > vfs.freevnodes: 1323 > vfs.vnodes_created: 3654 > vfs.numvnodes: 1807 > vfs.vnode.vnlru.uma_reclaim_calls: 0 > vfs.vnode.vnlru.kicks: 0 > vfs.vnode.vnlru.max_free_per_call: 10000 > vfs.vnode.vnlru.failed_runs: 0 > vfs.vnode.vnlru.direct_recycles_free: 0 > vfs.vnode.vnlru.recycles_free: 0 > vfs.vnode.vnlru.recycles: 0 > vfs.vnode.stats.alloc_sleeps: 0 > vfs.vnode.stats.free: 1323 > vfs.vnode.stats.skipped_requeues: 0 > vfs.vnode.stats.created: 3654 > vfs.vnode.stats.count: 1807 > vfs.vnode.param.wantfree: 806231 > vfs.vnode.param.limit: 3224925 > vfs.cache.debug.vnodes_cel_3_failures: 0 > vfs.cache.stats.heldvnodes: 119 > debug.vnode_domainset: > debug.sizeof.vnode: 448 > debug.fail_point.status_fill_kinfo_vnode__random_path: off > debug.fail_point.fill_kinfo_vnode__random_path: off >=20 > Note: The mount_nullfs man page does have: >=20 > QUOTE > cache Force enable metadata caching. >=20 > The vfs.nullfs.cache_vnodes sysctl specifies global default for = mount- > specific cache/nocache option. > END QUOTE >=20 > That is evidence of the vintage of materials. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sun Mar 17 05:12:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ty5hn3g8dz5FJWD; Sun, 17 Mar 2024 05:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ty5hn1MV2z4jtf; Sun, 17 Mar 2024 05:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710652361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cyoW4afAMa75h9krEcLiEU+Bv09H/IMvHwrzyYyU9Ek=; b=FvZPiDC2oszWLjU8d1bEXWdXs/TYFJuEx6PhBpUZFOXAf3DOd0+qGWwVMfD3PWuE0kmUPm 0PDz4xrNofgJG1CVEJNMiiO4DOek9FzGmGwzhVAfqIK39uFUNU2C/SstCzilYbdzP1KLnU 3+KkKdr3232fx9o3AifDp+JWwwZzH+pVrsSFkr4/cOaJ3JElYyhb/bGlNWNvi+gOZKKDfH k1xfvPqUPE9iYRHxBheqoXKK+fyjlpRpx3Kidy8EL6c8lOMbVJlnLhp1Dp4R4y39U7DU8L TBcCxum3dgwvUF2v2cNvp8VFkGuHdmojjRd+YcZEMJKlvtpu8cVF4ts3GogKig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710652361; a=rsa-sha256; cv=none; b=L6cQr+I4Kd1o31etyKITOAtlcygyYw/qVTTpgnOs7jfWrz+VOBN8YKTWW4epc8yD9D5iqX HgqOYBqXnnz0I7iymGGfJP/iMkS15r3ydTDC3BkQ1BPwB6Tigt7/9R7IehaDji6yBjYgYV 7vxGcbKe2tSfJUM++y6/hZ3jVNeg+jXb/m0KfkpvFoNGW8/gF0DDJb4RTj2UL/gVJwf2Yo vXkDhNLVlAz+GQ8nbgFFBRLTfAsacp6zq5zzxED/oELYOgj2I34Imx4Rp8iU6dsMWzuOQ7 6nw+gNDehPHphqTTYcZWyjqo25m/nbGkb850HnGAZOnkygN+7L3HUkO6Kw9lIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710652361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cyoW4afAMa75h9krEcLiEU+Bv09H/IMvHwrzyYyU9Ek=; b=NbxtjU/Eqtc4+jUFR9qIM4gPhGMOWL3V1fgOWhOY+HFGqoXJMN0RY0pCpBk973jHWMFwzC kzX4DNVXfJV5qllXBVMHY8I+ZR7W2pji65ktEdjuQqLM1TCyS9CF08WQ1O734ox9KKKKKw IqVkMjuxbPnrXbaThBwg9vGjdRdaynvwfsEmedR13podRoNjOR1MMG/EfMlV8JQ8atBB1X kmADFzwHl8l4DKXdT7gaTigxTxPTe9PYA/witdSbFy+68njgXJBeRyfaZAZmdM89pvVlWN o7FpLgSK7dtnMheFznq9Z3KV6Q9bv6fjKYDKHlyWv7/dNiBklRgNZ96bQ4OLqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ty5hn0yjrzQJ3; Sun, 17 Mar 2024 05:12:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42H5CfhU080033; Sun, 17 Mar 2024 05:12:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42H5Cff2080030; Sun, 17 Mar 2024 05:12:41 GMT (envelope-from git) Date: Sun, 17 Mar 2024 05:12:41 GMT Message-Id: <202403170512.42H5Cff2080030@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: d50685b303e3 - main - jail: add the -C flag to clean up after a partially removed jail List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d50685b303e3353aa1aeaea022a80f31e3732a29 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=d50685b303e3353aa1aeaea022a80f31e3732a29 commit d50685b303e3353aa1aeaea022a80f31e3732a29 Author: Jamie Gritton AuthorDate: 2024-03-17 05:11:14 +0000 Commit: Jamie Gritton CommitDate: 2024-03-17 05:11:14 +0000 jail: add the -C flag to clean up after a partially removed jail Differential Revision: https://reviews.freebsd.org/D42670 --- usr.sbin/jail/jail.8 | 9 ++++++--- usr.sbin/jail/jail.c | 56 +++++++++++++++++++++++++++++++++++++++++---------- usr.sbin/jail/jailp.h | 1 + usr.sbin/jail/state.c | 4 ++-- 4 files changed, 54 insertions(+), 16 deletions(-) diff --git a/usr.sbin/jail/jail.8 b/usr.sbin/jail/jail.8 index e49c3fe95e7f..d58192623952 100644 --- a/usr.sbin/jail/jail.8 +++ b/usr.sbin/jail/jail.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 17, 2024 +.Dd March 16, 2024 .Dt JAIL 8 .Os .Sh NAME @@ -33,13 +33,13 @@ .Ss From Configuration File .Nm .Op Fl cm -.Op Fl dqv +.Op Fl Cdqv .Op Fl f Ar conf_file .Op Fl p Ar limit .Op Ar jail .Nm .Op Fl r -.Op Fl qv +.Op Fl Cqv .Op Fl f Ar conf_file .Op Fl p Ar limit .Op Cm * | Ar jail ... @@ -144,6 +144,9 @@ jail if it does exist. .Pp Other available options are: .Bl -tag -width indent +.It Fl C +Clean up after an already-removed jail, running commands and operations +that are typically run following jail removal. .It Fl f Ar conf_file Use configuration file .Ar conf_file diff --git a/usr.sbin/jail/jail.c b/usr.sbin/jail/jail.c index df0a32321794..53e05870ff26 100644 --- a/usr.sbin/jail/jail.c +++ b/usr.sbin/jail/jail.c @@ -128,6 +128,24 @@ static const enum intparam stopcommands[] = { IP__NULL }; +static const enum intparam cleancommands[] = { + IP__NULL, + IP_EXEC_POSTSTOP, + IP_MOUNT_PROCFS, + IP_MOUNT_FDESCFS, + IP_MOUNT_DEVFS, + IP__MOUNT_FROM_FSTAB, + IP_MOUNT, +#ifdef INET6 + IP__IP6_IFADDR, +#endif +#ifdef INET + IP__IP4_IFADDR, +#endif + IP_EXEC_RELEASE, + IP__NULL +}; + int main(int argc, char **argv) { @@ -153,11 +171,14 @@ main(int argc, char **argv) cfname = CONF_FILE; JidFile = NULL; - while ((ch = getopt(argc, argv, "cde:f:hiJ:lmn:p:qrRs:u:U:v")) != -1) { + while ((ch = getopt(argc, argv, "cCde:f:hiJ:lmn:p:qrRs:u:U:v")) != -1) { switch (ch) { case 'c': op |= JF_START; break; + case 'C': + op |= JF_CLEANUP; + break; case 'd': dflag = 1; break; @@ -305,7 +326,7 @@ main(int argc, char **argv) note_remove = docf || argc > 1 || wild_jail_name(argv[0]); } else if (argc > 1 || (argc == 1 && strchr(argv[0], '='))) { /* Single jail specified on the command line */ - if (Rflag) + if (Rflag || (op & JF_CLEANUP)) usage(); docf = 0; for (i = 0; i < argc; i++) { @@ -355,7 +376,7 @@ main(int argc, char **argv) /* Find out which jails will be run. */ dep_setup(docf); error = 0; - if (op == JF_STOP) { + if ((op & JF_OP_MASK) == JF_STOP) { for (i = 0; i < argc; i++) if (start_state(argv[i], docf, op, Rflag) < 0) error = 1; @@ -415,22 +436,24 @@ main(int argc, char **argv) * depending on the jail's current status. */ case JF_START_SET: - j->flags = j->jid < 0 ? JF_START : JF_SET; + j->flags = j->jid < 0 + ? (j->flags & JF_CLEANUP) | JF_START : JF_SET; break; case JF_SET_RESTART: - if (j->jid < 0) { + if (j->jid < 0 && !(j->flags & JF_CLEANUP)) { jail_quoted_warnx(j, "not found", "no jail specified"); failed(j); continue; } - j->flags = rdtun_params(j, 0) ? JF_RESTART : JF_SET; + j->flags = rdtun_params(j, 0) + ? (j->flags & JF_CLEANUP) | JF_RESTART : JF_SET; if (j->flags == JF_RESTART) dep_reset(j); break; case JF_START_SET_RESTART: - j->flags = j->jid < 0 ? JF_START - : rdtun_params(j, 0) ? JF_RESTART : JF_SET; + j->flags = j->jid < 0 ? JF_START : rdtun_params(j, 0) + ? (j->flags & JF_CLEANUP) | JF_RESTART : JF_SET; if (j->flags == JF_RESTART) dep_reset(j); } @@ -449,11 +472,18 @@ main(int argc, char **argv) continue; if (j->jid > 0) goto jail_create_done; + if (j->flags & JF_CLEANUP) { + j->flags |= JF_STOP; + j->comparam = cleancommands; + } else + j->comparam = startcommands; j->comparam = startcommands; j->comstring = NULL; } if (next_command(j)) continue; + if (j->flags & JF_STOP) + goto jail_remove_done; jail_create_done: clear_persist(j); if (jfp != NULL) @@ -485,7 +515,10 @@ main(int argc, char **argv) if (j->comparam == NULL) { if (dep_check(j)) continue; - if (j->jid < 0) { + if (j->flags & JF_CLEANUP) { + j->comparam = j->jid < 0 + ? cleancommands : stopcommands; + } else if (j->jid < 0) { if (!(j->flags & (JF_DEPEND|JF_WILD))) { if (verbose >= 0) jail_quoted_warnx(j, @@ -494,7 +527,8 @@ main(int argc, char **argv) } goto jail_remove_done; } - j->comparam = stopcommands; + else + j->comparam = stopcommands; j->comstring = NULL; } else if ((j->flags & JF_FAILED) && j->jid > 0) goto jail_remove_done; @@ -504,7 +538,7 @@ main(int argc, char **argv) dep_done(j, 0); if ((j->flags & (JF_START | JF_FAILED)) == JF_START) { j->comparam = NULL; - j->flags &= ~JF_STOP; + j->flags &= ~(JF_STOP | JF_CLEANUP); dep_reset(j); requeue(j, j->ndeps ? &depend : &ready); } diff --git a/usr.sbin/jail/jailp.h b/usr.sbin/jail/jailp.h index 74ef2a8acab8..ccd96f5f247e 100644 --- a/usr.sbin/jail/jailp.h +++ b/usr.sbin/jail/jailp.h @@ -67,6 +67,7 @@ #define JF_TIMEOUT 0x0200 /* A command (or process kill) timed out */ #define JF_SLEEPQ 0x0400 /* Waiting on a command and/or timeout */ #define JF_FROM_RUNQ 0x0800 /* Has already been on the run queue */ +#define JF_CLEANUP 0x1000 /* -C Run post-removal commands */ #define JF_OP_MASK (JF_START | JF_SET | JF_STOP) #define JF_RESTART (JF_START | JF_STOP) diff --git a/usr.sbin/jail/state.c b/usr.sbin/jail/state.c index 6cbe879acc55..1d200beacef9 100644 --- a/usr.sbin/jail/state.c +++ b/usr.sbin/jail/state.c @@ -306,7 +306,7 @@ start_state(const char *target, int docf, unsigned state, int running) int jid; char namebuf[MAXHOSTNAMELEN]; - if (!target || (!docf && state != JF_STOP) || + if (!target || (!docf && (state & JF_OP_MASK) != JF_STOP) || (!running && !strcmp(target, "*"))) { /* * For a global wildcard (including no target specified), @@ -365,7 +365,7 @@ start_state(const char *target, int docf, unsigned state, int running) } } else { j = find_jail(target); - if (j == NULL && state == JF_STOP) { + if (j == NULL && (state & JF_OP_MASK) == JF_STOP) { /* Allow -[rR] to specify a currently running jail. */ j = running_jail(target, JAIL_DYING); } From nobody Sun Mar 17 07:59:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ty9Nr212Vz4qJ82; Sun, 17 Mar 2024 07:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ty9Nr1gjKz43c0; Sun, 17 Mar 2024 07:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710662348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sH2GJlvaHx7lqKgof9pNkaCvEC0DE23APKk9HJuZSGk=; b=GUNZztiVli/VO6GM+q4rTSU+JuCTmO2lzjfkhw8iqz6Q9Z8rsge39O5E4TKEwVfc6qbRrF 1E4ZW0nSBQcogtz+QYsqRKPY5IFUsWgqN8h5C7T68BFecCZnL6fDyIwePNOx0A66tnkNVs I3n9qBAEmdFqeLTz1haTmyGh3+aoihskcUSlBOMAwBFKeRzR5rhTvNlsDua0KjpDMEqDJ7 GfFzJc0YTMRyCG0iNwr69HBrBnlENi6769VwgFWYidbKvwAj++IfyJWMA0t92EldUJKNmu UblffMSt6NCQQdE5TipX9Gs2Ie2eEpIyjg/yGPO4qNomBhxhEZWFfa4KweAnUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710662348; a=rsa-sha256; cv=none; b=H9mIrfoBPamMuDZfBzVZJskbaFFSPoqi7F+vWm3WynGBWzSVB8j+G3s2n4khFb2MLUHlvN OdFNORSdOIY/Yy+R+0mziq0GfF0f0ybXskJ+4vrrk3JMtjySnghLF4mi2BbFdOhaYgWDdM ukr1PczI8BDYgRRIZzt+Ib7lAl3EEZL3zAq1f7ntysi7Ix0iVmrnq07Xs+b93PGWPyfmX+ aqepnnwyr7REPt+EMrXsRpLIaPBMDJttUGFA/o2BE8q8q6vJANSmIMDDoObynSC2IRlLms 9FTX+G2VfBaYicZbGMzSdMHq/dpE5V7ocQsJZJ+we9GkcJPif9Q0N2y7NGlclA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710662348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sH2GJlvaHx7lqKgof9pNkaCvEC0DE23APKk9HJuZSGk=; b=B94dlOgid3Mr1iEy/rPPyXPOS05ytScnPHfjTk9Bmh4CR5f0vn4V4OGYV7/szgrLz05a4G o5vZebYxtbPFi0FSjeWcV59FfHp2/3IFVMbH9rXbooIuAFPHqrrbAedOuc0VfXYyS0gQRW PqWhkpP8OCouPCmKDhMj0eHy6AZJRPGri7iijWAt6Rl9EHoawrwVzWMcVpEzH1UVr+bx7R hDztDJH+YbTaxijNwnjrGl89oQttuVdo/c11w9riK6wYi98Nj0IAbGEzLVw3CboVPpIEtH S5SpTdyHhwh38RcsdfZ49AAwa+v8/QaEoSiezFrbtMjAGkheBtqhppTFtjLv6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ty9Nr1GYmzWcc; Sun, 17 Mar 2024 07:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42H7x840050485; Sun, 17 Mar 2024 07:59:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42H7x7EZ050470; Sun, 17 Mar 2024 07:59:07 GMT (envelope-from git) Date: Sun, 17 Mar 2024 07:59:07 GMT Message-Id: <202403170759.42H7x7EZ050470@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: b7c0c8c18e0f - main - unbound: Vendor import 1.19.3 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7c0c8c18e0f12bc22e251fbcabad719b364a38a Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=b7c0c8c18e0f12bc22e251fbcabad719b364a38a commit b7c0c8c18e0f12bc22e251fbcabad719b364a38a Merge: d50685b303e3 5a33598e88ad Author: Cy Schubert AuthorDate: 2024-03-17 00:13:09 +0000 Commit: Cy Schubert CommitDate: 2024-03-17 07:57:42 +0000 unbound: Vendor import 1.19.3 Release notes at https://www.nlnetlabs.nl/news/2024/Mar/14/unbound-1.19.3-released/ MFC after: 1 week Merge commit '5a33598e88ad8fbc0affa74dee0a2d8cc4010fbc' into main contrib/unbound/acx_nlnetlabs.m4 | 121 +- contrib/unbound/configure | 350 +- contrib/unbound/configure.ac | 28 +- contrib/unbound/daemon/remote.c | 10 +- contrib/unbound/daemon/worker.c | 28 +- contrib/unbound/dnstap/dnstap.c | 32 +- contrib/unbound/dnstap/dnstap.h | 4 + contrib/unbound/dnstap/dnstap.m4 | 107 +- contrib/unbound/dnstap/dnstap.proto | 82 +- contrib/unbound/doc/Changelog | 140 +- contrib/unbound/doc/README | 11 +- contrib/unbound/doc/example.conf.in | 25 +- contrib/unbound/doc/libunbound.3.in | 4 +- contrib/unbound/doc/unbound-anchor.8.in | 2 +- contrib/unbound/doc/unbound-checkconf.8.in | 2 +- contrib/unbound/doc/unbound-control.8.in | 2 +- contrib/unbound/doc/unbound-host.1.in | 2 +- contrib/unbound/doc/unbound.8.in | 4 +- contrib/unbound/doc/unbound.conf.5.in | 24 +- contrib/unbound/iterator/iter_fwd.c | 1 - contrib/unbound/iterator/iter_hints.c | 5 +- contrib/unbound/iterator/iter_scrub.c | 3 +- contrib/unbound/iterator/iterator.c | 8 +- contrib/unbound/services/authzone.c | 2 +- contrib/unbound/services/cache/dns.c | 12 +- contrib/unbound/services/localzone.c | 6 +- contrib/unbound/services/mesh.c | 10 +- contrib/unbound/services/outside_network.c | 46 +- .../cachedb_no_store.tdir/cachedb_no_store.post | 2 +- .../cachedb_no_store.tdir/cachedb_no_store.test | 14 +- .../unbound/testdata/iter_cname_minimise_nx.rpl | 1 - contrib/unbound/testdata/iter_dname_ttl.rpl | 310 + .../testdata/root_zonemd.tdir/root_zonemd.test | 32 +- contrib/unbound/testdata/rrset_use_cached.rpl | 151 + .../unbound/testdata/serve_expired_0ttl_nodata.rpl | 2 +- .../testdata/serve_expired_0ttl_nxdomain.rpl | 2 +- .../testdata/serve_expired_0ttl_servfail.rpl | 2 +- .../testdata/serve_expired_cached_servfail.rpl | 2 +- .../serve_expired_cached_servfail_refresh.rpl | 2 +- .../unbound/testdata/subnet_scopezero_noedns.crpl | 441 ++ contrib/unbound/util/config_file.c | 3 + contrib/unbound/util/config_file.h | 2 + contrib/unbound/util/configlexer.c | 7627 +++++++++++++++++++ contrib/unbound/util/configlexer.lex | 1 + contrib/unbound/util/configparser.c | 7713 ++++++++++++++++++++ contrib/unbound/util/configparser.h | 781 ++ contrib/unbound/util/configparser.y | 13 +- contrib/unbound/util/data/msgencode.c | 3 + contrib/unbound/util/data/msgreply.c | 53 +- contrib/unbound/util/data/msgreply.h | 6 +- contrib/unbound/util/data/packed_rrset.c | 5 +- contrib/unbound/util/iana_ports.inc | 1 - contrib/unbound/util/netevent.c | 12 +- contrib/unbound/validator/autotrust.c | 8 +- contrib/unbound/validator/val_sigcrypt.c | 2 +- contrib/unbound/validator/val_utils.c | 55 +- contrib/unbound/validator/validator.c | 2 + lib/libunbound/config.h | 6 +- 58 files changed, 18038 insertions(+), 287 deletions(-) diff --cc contrib/unbound/testdata/iter_dname_ttl.rpl index 000000000000,115947af3ab3..115947af3ab3 mode 000000,100644..100644 --- a/contrib/unbound/testdata/iter_dname_ttl.rpl +++ b/contrib/unbound/testdata/iter_dname_ttl.rpl diff --cc contrib/unbound/testdata/rrset_use_cached.rpl index 000000000000,8420ae02afe6..8420ae02afe6 mode 000000,100644..100644 --- a/contrib/unbound/testdata/rrset_use_cached.rpl +++ b/contrib/unbound/testdata/rrset_use_cached.rpl diff --cc contrib/unbound/testdata/subnet_scopezero_noedns.crpl index 000000000000,25df0dd71cf2..25df0dd71cf2 mode 000000,100644..100644 --- a/contrib/unbound/testdata/subnet_scopezero_noedns.crpl +++ b/contrib/unbound/testdata/subnet_scopezero_noedns.crpl diff --cc contrib/unbound/util/config_file.c index 5d3cdfb669af,000000000000..e8de5119ba68 mode 100644,000000..100644 --- a/contrib/unbound/util/config_file.c +++ b/contrib/unbound/util/config_file.c @@@ -1,2721 -1,0 +1,2724 @@@ +/* + * util/config_file.c - reads and stores the config file for unbound. + * + * Copyright (c) 2007, NLnet Labs. All rights reserved. + * + * This software is open source. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of the NLNET LABS nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * \file + * + * This file contains functions for the config file. + */ + +#include "config.h" +#include +#include +#ifdef HAVE_TIME_H +#include +#endif +#include "util/log.h" +#include "util/configyyrename.h" +#include "util/config_file.h" +#include "configparser.h" +#include "util/net_help.h" +#include "util/data/msgparse.h" +#include "util/module.h" +#include "util/regional.h" +#include "util/fptr_wlist.h" +#include "util/data/dname.h" +#include "util/random.h" +#include "util/rtt.h" +#include "services/cache/infra.h" +#include "sldns/wire2str.h" +#include "sldns/parseutil.h" +#include "iterator/iterator.h" +#ifdef HAVE_GLOB_H +# include +#endif +#ifdef CLIENT_SUBNET +#include "edns-subnet/edns-subnet.h" +#endif +#ifdef HAVE_PWD_H +#include +#endif + +/** from cfg username, after daemonize setup performed */ +uid_t cfg_uid = (uid_t)-1; +/** from cfg username, after daemonize setup performed */ +gid_t cfg_gid = (gid_t)-1; +/** for debug allow small timeout values for fast rollovers */ +int autr_permit_small_holddown = 0; +/** size (in bytes) of stream wait buffers max */ +size_t stream_wait_max = 4 * 1024 * 1024; +size_t http2_query_buffer_max = 4 * 1024 * 1024; +size_t http2_response_buffer_max = 4 * 1024 * 1024; + +/** global config during parsing */ +struct config_parser_state* cfg_parser = 0; + +/** init ports possible for use */ +static void init_outgoing_availports(int* array, int num); + +/** init cookie with random data */ +static void init_cookie_secret(uint8_t* cookie_secret, size_t cookie_secret_len); + +struct config_file* +config_create(void) +{ + struct config_file* cfg; + cfg = (struct config_file*)calloc(1, sizeof(struct config_file)); + if(!cfg) + return NULL; + /* the defaults if no config is present */ + cfg->verbosity = 1; + cfg->stat_interval = 0; + cfg->stat_cumulative = 0; + cfg->stat_extended = 0; + cfg->stat_inhibit_zero = 1; + cfg->num_threads = 1; + cfg->port = UNBOUND_DNS_PORT; + cfg->do_ip4 = 1; + cfg->do_ip6 = 1; + cfg->do_udp = 1; + cfg->do_tcp = 1; + cfg->tcp_reuse_timeout = 60 * 1000; /* 60s in milisecs */ + cfg->max_reuse_tcp_queries = 200; + cfg->tcp_upstream = 0; + cfg->udp_upstream_without_downstream = 0; + cfg->tcp_mss = 0; + cfg->outgoing_tcp_mss = 0; + cfg->tcp_idle_timeout = 30 * 1000; /* 30s in millisecs */ + cfg->tcp_auth_query_timeout = 3 * 1000; /* 3s in millisecs */ + cfg->do_tcp_keepalive = 0; + cfg->tcp_keepalive_timeout = 120 * 1000; /* 120s in millisecs */ + cfg->sock_queue_timeout = 0; /* do not check timeout */ + cfg->ssl_service_key = NULL; + cfg->ssl_service_pem = NULL; + cfg->ssl_port = UNBOUND_DNS_OVER_TLS_PORT; + cfg->ssl_upstream = 0; + cfg->tls_cert_bundle = NULL; + cfg->tls_win_cert = 0; + cfg->tls_use_sni = 1; + cfg->https_port = UNBOUND_DNS_OVER_HTTPS_PORT; + if(!(cfg->http_endpoint = strdup("/dns-query"))) goto error_exit; + cfg->http_max_streams = 100; + cfg->http_query_buffer_size = 4*1024*1024; + cfg->http_response_buffer_size = 4*1024*1024; + cfg->http_nodelay = 1; + cfg->use_syslog = 1; + cfg->log_identity = NULL; /* changed later with argv[0] */ + cfg->log_time_ascii = 0; + cfg->log_queries = 0; + cfg->log_replies = 0; + cfg->log_tag_queryreply = 0; + cfg->log_local_actions = 0; + cfg->log_servfail = 0; ++ cfg->log_destaddr = 0; +#ifndef USE_WINSOCK +# ifdef USE_MINI_EVENT + /* select max 1024 sockets */ + cfg->outgoing_num_ports = 960; + cfg->num_queries_per_thread = 512; +# else + /* libevent can use many sockets */ + cfg->outgoing_num_ports = 4096; + cfg->num_queries_per_thread = 1024; +# endif + cfg->outgoing_num_tcp = 10; + cfg->incoming_num_tcp = 10; +#else + cfg->outgoing_num_ports = 48; /* windows is limited in num fds */ + cfg->num_queries_per_thread = 24; + cfg->outgoing_num_tcp = 2; /* leaves 64-52=12 for: 4if,1stop,thread4 */ + cfg->incoming_num_tcp = 2; +#endif + cfg->stream_wait_size = 4 * 1024 * 1024; + cfg->edns_buffer_size = 1232; /* from DNS flagday recommendation */ + cfg->msg_buffer_size = 65552; /* 64 k + a small margin */ + cfg->msg_cache_size = 4 * 1024 * 1024; + cfg->msg_cache_slabs = 4; + cfg->jostle_time = 200; + cfg->rrset_cache_size = 4 * 1024 * 1024; + cfg->rrset_cache_slabs = 4; + cfg->host_ttl = 900; + cfg->bogus_ttl = 60; + cfg->min_ttl = 0; + cfg->max_ttl = 3600 * 24; + cfg->max_negative_ttl = 3600; + cfg->prefetch = 0; + cfg->prefetch_key = 0; + cfg->deny_any = 0; + cfg->infra_cache_slabs = 4; + cfg->infra_cache_numhosts = 10000; + cfg->infra_cache_min_rtt = 50; + cfg->infra_cache_max_rtt = 120000; + cfg->infra_keep_probing = 0; + cfg->delay_close = 0; + cfg->udp_connect = 1; + if(!(cfg->outgoing_avail_ports = (int*)calloc(65536, sizeof(int)))) + goto error_exit; + init_outgoing_availports(cfg->outgoing_avail_ports, 65536); + if(!(cfg->username = strdup(UB_USERNAME))) goto error_exit; +#ifdef HAVE_CHROOT + if(!(cfg->chrootdir = strdup(CHROOT_DIR))) goto error_exit; +#endif + if(!(cfg->directory = strdup(RUN_DIR))) goto error_exit; + if(!(cfg->logfile = strdup(""))) goto error_exit; + if(!(cfg->pidfile = strdup(PIDFILE))) goto error_exit; + if(!(cfg->target_fetch_policy = strdup("3 2 1 0 0"))) goto error_exit; + cfg->fast_server_permil = 0; + cfg->fast_server_num = 3; + cfg->donotqueryaddrs = NULL; + cfg->donotquery_localhost = 1; + cfg->root_hints = NULL; + cfg->use_systemd = 0; + cfg->do_daemonize = 1; + cfg->if_automatic = 0; + cfg->if_automatic_ports = NULL; + cfg->so_rcvbuf = 0; + cfg->so_sndbuf = 0; + cfg->so_reuseport = REUSEPORT_DEFAULT; + cfg->ip_transparent = 0; + cfg->ip_freebind = 0; + cfg->ip_dscp = 0; + cfg->num_ifs = 0; + cfg->ifs = NULL; + cfg->num_out_ifs = 0; + cfg->out_ifs = NULL; + cfg->stubs = NULL; + cfg->forwards = NULL; + cfg->auths = NULL; +#ifdef CLIENT_SUBNET + cfg->client_subnet = NULL; + cfg->client_subnet_zone = NULL; + cfg->client_subnet_opcode = LDNS_EDNS_CLIENT_SUBNET; + cfg->client_subnet_always_forward = 0; + cfg->max_client_subnet_ipv4 = 24; + cfg->max_client_subnet_ipv6 = 56; + cfg->min_client_subnet_ipv4 = 0; + cfg->min_client_subnet_ipv6 = 0; + cfg->max_ecs_tree_size_ipv4 = 100; + cfg->max_ecs_tree_size_ipv6 = 100; +#endif + cfg->views = NULL; + cfg->acls = NULL; + cfg->tcp_connection_limits = NULL; + cfg->harden_short_bufsize = 1; + cfg->harden_large_queries = 0; + cfg->harden_glue = 1; + cfg->harden_dnssec_stripped = 1; + cfg->harden_below_nxdomain = 1; + cfg->harden_referral_path = 0; + cfg->harden_algo_downgrade = 0; + cfg->harden_unknown_additional = 0; + cfg->use_caps_bits_for_id = 0; + cfg->caps_whitelist = NULL; + cfg->private_address = NULL; + cfg->private_domain = NULL; + cfg->unwanted_threshold = 0; + cfg->hide_identity = 0; + cfg->hide_version = 0; + cfg->hide_trustanchor = 0; + cfg->hide_http_user_agent = 0; + cfg->identity = NULL; + cfg->version = NULL; + cfg->http_user_agent = NULL; + cfg->nsid_cfg_str = NULL; + cfg->nsid = NULL; + cfg->nsid_len = 0; + cfg->auto_trust_anchor_file_list = NULL; + cfg->trust_anchor_file_list = NULL; + cfg->trust_anchor_list = NULL; + cfg->trusted_keys_file_list = NULL; + cfg->trust_anchor_signaling = 1; + cfg->root_key_sentinel = 1; + cfg->domain_insecure = NULL; + cfg->val_date_override = 0; + cfg->val_sig_skew_min = 3600; /* at least daylight savings trouble */ + cfg->val_sig_skew_max = 86400; /* at most timezone settings trouble */ + cfg->val_max_restart = 5; + cfg->val_clean_additional = 1; + cfg->val_log_level = 0; + cfg->val_log_squelch = 0; + cfg->val_permissive_mode = 0; + cfg->aggressive_nsec = 1; + cfg->ignore_cd = 0; + cfg->disable_edns_do = 0; + cfg->serve_expired = 0; + cfg->serve_expired_ttl = 0; + cfg->serve_expired_ttl_reset = 0; + cfg->serve_expired_reply_ttl = 30; + cfg->serve_expired_client_timeout = 0; + cfg->ede_serve_expired = 0; + cfg->serve_original_ttl = 0; + cfg->zonemd_permissive_mode = 0; + cfg->add_holddown = 30*24*3600; + cfg->del_holddown = 30*24*3600; + cfg->keep_missing = 366*24*3600; /* one year plus a little leeway */ + cfg->permit_small_holddown = 0; + cfg->key_cache_size = 4 * 1024 * 1024; + cfg->key_cache_slabs = 4; + cfg->neg_cache_size = 1 * 1024 * 1024; + cfg->local_zones = NULL; + cfg->local_zones_nodefault = NULL; +#ifdef USE_IPSET + cfg->local_zones_ipset = NULL; +#endif + cfg->local_zones_disable_default = 0; + cfg->local_data = NULL; + cfg->local_zone_overrides = NULL; + cfg->unblock_lan_zones = 0; + cfg->insecure_lan_zones = 0; + cfg->python_script = NULL; + cfg->dynlib_file = NULL; + cfg->remote_control_enable = 0; + cfg->control_ifs.first = NULL; + cfg->control_ifs.last = NULL; + cfg->control_port = UNBOUND_CONTROL_PORT; + cfg->control_use_cert = 1; + cfg->minimal_responses = 1; + cfg->rrset_roundrobin = 1; + cfg->unknown_server_time_limit = 376; + cfg->max_udp_size = 1232; /* value taken from edns_buffer_size */ + if(!(cfg->server_key_file = strdup(RUN_DIR"/unbound_server.key"))) + goto error_exit; + if(!(cfg->server_cert_file = strdup(RUN_DIR"/unbound_server.pem"))) + goto error_exit; + if(!(cfg->control_key_file = strdup(RUN_DIR"/unbound_control.key"))) + goto error_exit; + if(!(cfg->control_cert_file = strdup(RUN_DIR"/unbound_control.pem"))) + goto error_exit; + +#ifdef CLIENT_SUBNET + if(!(cfg->module_conf = strdup("subnetcache validator iterator"))) goto error_exit; +#else + if(!(cfg->module_conf = strdup("validator iterator"))) goto error_exit; +#endif + if(!(cfg->val_nsec3_key_iterations = + strdup("1024 150 2048 150 4096 150"))) goto error_exit; +#if defined(DNSTAP_SOCKET_PATH) + if(!(cfg->dnstap_socket_path = strdup(DNSTAP_SOCKET_PATH))) + goto error_exit; +#endif + cfg->dnstap_bidirectional = 1; + cfg->dnstap_tls = 1; + cfg->disable_dnssec_lame_check = 0; + cfg->ip_ratelimit_cookie = 0; + cfg->ip_ratelimit = 0; + cfg->ratelimit = 0; + cfg->ip_ratelimit_slabs = 4; + cfg->ratelimit_slabs = 4; + cfg->ip_ratelimit_size = 4*1024*1024; + cfg->ratelimit_size = 4*1024*1024; + cfg->ratelimit_for_domain = NULL; + cfg->ratelimit_below_domain = NULL; + cfg->ip_ratelimit_factor = 10; + cfg->ratelimit_factor = 10; + cfg->ip_ratelimit_backoff = 0; + cfg->ratelimit_backoff = 0; + cfg->outbound_msg_retry = 5; + cfg->max_sent_count = 32; + cfg->max_query_restarts = 11; + cfg->qname_minimisation = 1; + cfg->qname_minimisation_strict = 0; + cfg->shm_enable = 0; + cfg->shm_key = 11777; + cfg->edns_client_strings = NULL; + cfg->edns_client_string_opcode = 65001; + cfg->dnscrypt = 0; + cfg->dnscrypt_port = 0; + cfg->dnscrypt_provider = NULL; + cfg->dnscrypt_provider_cert = NULL; + cfg->dnscrypt_provider_cert_rotated = NULL; + cfg->dnscrypt_secret_key = NULL; + cfg->dnscrypt_shared_secret_cache_size = 4*1024*1024; + cfg->dnscrypt_shared_secret_cache_slabs = 4; + cfg->dnscrypt_nonce_cache_size = 4*1024*1024; + cfg->dnscrypt_nonce_cache_slabs = 4; + cfg->pad_responses = 1; + cfg->pad_responses_block_size = 468; /* from RFC8467 */ + cfg->pad_queries = 1; + cfg->pad_queries_block_size = 128; /* from RFC8467 */ +#ifdef USE_IPSECMOD + cfg->ipsecmod_enabled = 1; + cfg->ipsecmod_ignore_bogus = 0; + cfg->ipsecmod_hook = NULL; + cfg->ipsecmod_max_ttl = 3600; + cfg->ipsecmod_whitelist = NULL; + cfg->ipsecmod_strict = 0; +#endif + cfg->do_answer_cookie = 0; + memset(cfg->cookie_secret, 0, sizeof(cfg->cookie_secret)); + cfg->cookie_secret_len = 16; + init_cookie_secret(cfg->cookie_secret, cfg->cookie_secret_len); +#ifdef USE_CACHEDB + if(!(cfg->cachedb_backend = strdup("testframe"))) goto error_exit; + if(!(cfg->cachedb_secret = strdup("default"))) goto error_exit; + cfg->cachedb_no_store = 0; +#ifdef USE_REDIS + if(!(cfg->redis_server_host = strdup("127.0.0.1"))) goto error_exit; + cfg->redis_server_path = NULL; + cfg->redis_server_password = NULL; + cfg->redis_timeout = 100; + cfg->redis_server_port = 6379; + cfg->redis_expire_records = 0; + cfg->redis_logical_db = 0; +#endif /* USE_REDIS */ +#endif /* USE_CACHEDB */ +#ifdef USE_IPSET + cfg->ipset_name_v4 = NULL; + cfg->ipset_name_v6 = NULL; +#endif + cfg->ede = 0; + return cfg; +error_exit: + config_delete(cfg); + return NULL; +} + +struct config_file* config_create_forlib(void) +{ + struct config_file* cfg = config_create(); + if(!cfg) return NULL; + /* modifications for library use, less verbose, less memory */ + free(cfg->chrootdir); + cfg->chrootdir = NULL; + cfg->verbosity = 0; + cfg->outgoing_num_ports = 16; /* in library use, this is 'reasonable' + and probably within the ulimit(maxfds) of the user */ + cfg->outgoing_num_tcp = 2; + cfg->msg_cache_size = 1024*1024; + cfg->msg_cache_slabs = 1; + cfg->rrset_cache_size = 1024*1024; + cfg->rrset_cache_slabs = 1; + cfg->infra_cache_slabs = 1; + cfg->use_syslog = 0; + cfg->key_cache_size = 1024*1024; + cfg->key_cache_slabs = 1; + cfg->neg_cache_size = 100 * 1024; + cfg->donotquery_localhost = 0; /* allow, so that you can ask a + forward nameserver running on localhost */ + cfg->val_log_level = 2; /* to fill why_bogus with */ + cfg->val_log_squelch = 1; + cfg->minimal_responses = 0; + cfg->harden_short_bufsize = 1; + return cfg; +} + +/** check that the value passed is >= 0 */ +#define IS_NUMBER_OR_ZERO \ + if(atoi(val) == 0 && strcmp(val, "0") != 0) return 0 +/** check that the value passed is > 0 */ +#define IS_NONZERO_NUMBER \ + if(atoi(val) == 0) return 0 +/** check that the value passed is not 0 and a power of 2 */ +#define IS_POW2_NUMBER \ + if(atoi(val) == 0 || !is_pow2((size_t)atoi(val))) return 0 +/** check that the value passed is yes or no */ +#define IS_YES_OR_NO \ + if(strcmp(val, "yes") != 0 && strcmp(val, "no") != 0) return 0 +/** put integer_or_zero into variable */ +#define S_NUMBER_OR_ZERO(str, var) if(strcmp(opt, str) == 0) \ + { IS_NUMBER_OR_ZERO; cfg->var = atoi(val); } +/** put integer_nonzero into variable */ +#define S_NUMBER_NONZERO(str, var) if(strcmp(opt, str) == 0) \ + { IS_NONZERO_NUMBER; cfg->var = atoi(val); } +/** put integer_or_zero into unsigned */ +#define S_UNSIGNED_OR_ZERO(str, var) if(strcmp(opt, str) == 0) \ + { IS_NUMBER_OR_ZERO; cfg->var = (unsigned)atoi(val); } +/** put integer_or_zero into size_t */ +#define S_SIZET_OR_ZERO(str, var) if(strcmp(opt, str) == 0) \ + { IS_NUMBER_OR_ZERO; cfg->var = (size_t)atoi(val); } +/** put integer_nonzero into size_t */ +#define S_SIZET_NONZERO(str, var) if(strcmp(opt, str) == 0) \ + { IS_NONZERO_NUMBER; cfg->var = (size_t)atoi(val); } +/** put yesno into variable */ +#define S_YNO(str, var) if(strcmp(opt, str) == 0) \ + { IS_YES_OR_NO; cfg->var = (strcmp(val, "yes") == 0); } +/** put memsize into variable */ +#define S_MEMSIZE(str, var) if(strcmp(opt, str)==0) \ + { return cfg_parse_memsize(val, &cfg->var); } +/** put pow2 number into variable */ +#define S_POW2(str, var) if(strcmp(opt, str)==0) \ + { IS_POW2_NUMBER; cfg->var = (size_t)atoi(val); } +/** put string into variable */ +#define S_STR(str, var) if(strcmp(opt, str)==0) \ + { free(cfg->var); return (cfg->var = strdup(val)) != NULL; } +/** put string into strlist */ +#define S_STRLIST(str, var) if(strcmp(opt, str)==0) \ + { return cfg_strlist_insert(&cfg->var, strdup(val)); } +/** put string into strlist if not present yet*/ +#define S_STRLIST_UNIQ(str, var) if(strcmp(opt, str)==0) \ + { if(cfg_strlist_find(cfg->var, val)) { return 0;} \ + return cfg_strlist_insert(&cfg->var, strdup(val)); } +/** append string to strlist */ +#define S_STRLIST_APPEND(str, var) if(strcmp(opt, str)==0) \ + { return cfg_strlist_append(&cfg->var, strdup(val)); } + +int config_set_option(struct config_file* cfg, const char* opt, + const char* val) +{ + char buf[64]; + if(!opt) return 0; + if(opt[strlen(opt)-1] != ':' && strlen(opt)+2stat_interval = 0; + else if(atoi(val) == 0) + return 0; + else cfg->stat_interval = atoi(val); + } else if(strcmp(opt, "num-threads:") == 0) { + /* not supported, library must have 1 thread in bgworker */ + return 0; + } else if(strcmp(opt, "outgoing-port-permit:") == 0) { + return cfg_mark_ports(val, 1, + cfg->outgoing_avail_ports, 65536); + } else if(strcmp(opt, "outgoing-port-avoid:") == 0) { + return cfg_mark_ports(val, 0, + cfg->outgoing_avail_ports, 65536); + } else if(strcmp(opt, "local-zone:") == 0) { + return cfg_parse_local_zone(cfg, val); + } else if(strcmp(opt, "val-override-date:") == 0) { + if(strcmp(val, "") == 0 || strcmp(val, "0") == 0) { + cfg->val_date_override = 0; + } else if(strlen(val) == 14) { + cfg->val_date_override = cfg_convert_timeval(val); + return cfg->val_date_override != 0; + } else { + if(atoi(val) == 0) return 0; + cfg->val_date_override = (uint32_t)atoi(val); + } + } else if(strcmp(opt, "local-data-ptr:") == 0) { + char* ptr = cfg_ptr_reverse((char*)opt); + return cfg_strlist_insert(&cfg->local_data, ptr); + } else if(strcmp(opt, "logfile:") == 0) { + cfg->use_syslog = 0; + free(cfg->logfile); + return (cfg->logfile = strdup(val)) != NULL; + } + else if(strcmp(opt, "log-time-ascii:") == 0) + { IS_YES_OR_NO; cfg->log_time_ascii = (strcmp(val, "yes") == 0); + log_set_time_asc(cfg->log_time_ascii); } + else S_SIZET_NONZERO("max-udp-size:", max_udp_size) + else S_YNO("use-syslog:", use_syslog) + else S_STR("log-identity:", log_identity) + else S_YNO("extended-statistics:", stat_extended) + else S_YNO("statistics-inhibit-zero:", stat_inhibit_zero) + else S_YNO("statistics-cumulative:", stat_cumulative) + else S_YNO("shm-enable:", shm_enable) + else S_NUMBER_OR_ZERO("shm-key:", shm_key) + else S_YNO("do-ip4:", do_ip4) + else S_YNO("do-ip6:", do_ip6) + else S_YNO("do-udp:", do_udp) + else S_YNO("do-tcp:", do_tcp) + else S_YNO("prefer-ip4:", prefer_ip4) + else S_YNO("prefer-ip6:", prefer_ip6) + else S_YNO("tcp-upstream:", tcp_upstream) + else S_YNO("udp-upstream-without-downstream:", + udp_upstream_without_downstream) + else S_NUMBER_NONZERO("tcp-mss:", tcp_mss) + else S_NUMBER_NONZERO("outgoing-tcp-mss:", outgoing_tcp_mss) + else S_NUMBER_NONZERO("tcp-auth-query-timeout:", tcp_auth_query_timeout) + else S_NUMBER_NONZERO("tcp-idle-timeout:", tcp_idle_timeout) + else S_NUMBER_NONZERO("max-reuse-tcp-queries:", max_reuse_tcp_queries) + else S_NUMBER_NONZERO("tcp-reuse-timeout:", tcp_reuse_timeout) + else S_YNO("edns-tcp-keepalive:", do_tcp_keepalive) + else S_NUMBER_NONZERO("edns-tcp-keepalive-timeout:", tcp_keepalive_timeout) + else S_NUMBER_OR_ZERO("sock-queue-timeout:", sock_queue_timeout) + else S_YNO("ssl-upstream:", ssl_upstream) + else S_YNO("tls-upstream:", ssl_upstream) + else S_STR("ssl-service-key:", ssl_service_key) + else S_STR("tls-service-key:", ssl_service_key) + else S_STR("ssl-service-pem:", ssl_service_pem) + else S_STR("tls-service-pem:", ssl_service_pem) + else S_NUMBER_NONZERO("ssl-port:", ssl_port) + else S_NUMBER_NONZERO("tls-port:", ssl_port) + else S_STR("ssl-cert-bundle:", tls_cert_bundle) + else S_STR("tls-cert-bundle:", tls_cert_bundle) + else S_YNO("tls-win-cert:", tls_win_cert) + else S_YNO("tls-system-cert:", tls_win_cert) + else S_STRLIST("additional-ssl-port:", tls_additional_port) + else S_STRLIST("additional-tls-port:", tls_additional_port) + else S_STRLIST("tls-additional-ports:", tls_additional_port) + else S_STRLIST("tls-additional-port:", tls_additional_port) + else S_STRLIST_APPEND("tls-session-ticket-keys:", tls_session_ticket_keys) + else S_STR("tls-ciphers:", tls_ciphers) + else S_STR("tls-ciphersuites:", tls_ciphersuites) + else S_YNO("tls-use-sni:", tls_use_sni) + else S_NUMBER_NONZERO("https-port:", https_port) + else S_STR("http-endpoint:", http_endpoint) + else S_NUMBER_NONZERO("http-max-streams:", http_max_streams) + else S_MEMSIZE("http-query-buffer-size:", http_query_buffer_size) + else S_MEMSIZE("http-response-buffer-size:", http_response_buffer_size) + else S_YNO("http-nodelay:", http_nodelay) + else S_YNO("http-notls-downstream:", http_notls_downstream) + else S_YNO("interface-automatic:", if_automatic) + else S_STR("interface-automatic-ports:", if_automatic_ports) + else S_YNO("use-systemd:", use_systemd) + else S_YNO("do-daemonize:", do_daemonize) + else S_NUMBER_NONZERO("port:", port) + else S_NUMBER_NONZERO("outgoing-range:", outgoing_num_ports) + else S_SIZET_OR_ZERO("outgoing-num-tcp:", outgoing_num_tcp) + else S_SIZET_OR_ZERO("incoming-num-tcp:", incoming_num_tcp) + else S_MEMSIZE("stream-wait-size:", stream_wait_size) + else S_SIZET_NONZERO("edns-buffer-size:", edns_buffer_size) + else S_SIZET_NONZERO("msg-buffer-size:", msg_buffer_size) + else S_MEMSIZE("msg-cache-size:", msg_cache_size) + else S_POW2("msg-cache-slabs:", msg_cache_slabs) + else S_SIZET_NONZERO("num-queries-per-thread:",num_queries_per_thread) + else S_SIZET_OR_ZERO("jostle-timeout:", jostle_time) + else S_MEMSIZE("so-rcvbuf:", so_rcvbuf) + else S_MEMSIZE("so-sndbuf:", so_sndbuf) + else S_YNO("so-reuseport:", so_reuseport) + else S_YNO("ip-transparent:", ip_transparent) + else S_YNO("ip-freebind:", ip_freebind) + else S_NUMBER_OR_ZERO("ip-dscp:", ip_dscp) + else S_MEMSIZE("rrset-cache-size:", rrset_cache_size) + else S_POW2("rrset-cache-slabs:", rrset_cache_slabs) + else S_YNO("prefetch:", prefetch) + else S_YNO("prefetch-key:", prefetch_key) + else S_YNO("deny-any:", deny_any) + else if(strcmp(opt, "cache-max-ttl:") == 0) + { IS_NUMBER_OR_ZERO; cfg->max_ttl = atoi(val); MAX_TTL=(time_t)cfg->max_ttl;} + else if(strcmp(opt, "cache-max-negative-ttl:") == 0) + { IS_NUMBER_OR_ZERO; cfg->max_negative_ttl = atoi(val); MAX_NEG_TTL=(time_t)cfg->max_negative_ttl;} + else if(strcmp(opt, "cache-min-ttl:") == 0) + { IS_NUMBER_OR_ZERO; cfg->min_ttl = atoi(val); MIN_TTL=(time_t)cfg->min_ttl;} + else if(strcmp(opt, "infra-cache-min-rtt:") == 0) { + IS_NUMBER_OR_ZERO; cfg->infra_cache_min_rtt = atoi(val); + RTT_MIN_TIMEOUT=cfg->infra_cache_min_rtt; + } + else if(strcmp(opt, "infra-cache-max-rtt:") == 0) { + IS_NUMBER_OR_ZERO; cfg->infra_cache_max_rtt = atoi(val); + RTT_MAX_TIMEOUT=cfg->infra_cache_max_rtt; + USEFUL_SERVER_TOP_TIMEOUT = RTT_MAX_TIMEOUT; + BLACKLIST_PENALTY = USEFUL_SERVER_TOP_TIMEOUT*4; + } + else S_YNO("infra-keep-probing:", infra_keep_probing) + else S_NUMBER_OR_ZERO("infra-host-ttl:", host_ttl) + else S_POW2("infra-cache-slabs:", infra_cache_slabs) + else S_SIZET_NONZERO("infra-cache-numhosts:", infra_cache_numhosts) + else S_NUMBER_OR_ZERO("delay-close:", delay_close) + else S_YNO("udp-connect:", udp_connect) + else S_STR("chroot:", chrootdir) + else S_STR("username:", username) + else S_STR("directory:", directory) + else S_STR("pidfile:", pidfile) + else S_YNO("hide-identity:", hide_identity) + else S_YNO("hide-version:", hide_version) + else S_YNO("hide-trustanchor:", hide_trustanchor) + else S_YNO("hide-http-user-agent:", hide_http_user_agent) + else S_STR("identity:", identity) + else S_STR("version:", version) + else S_STR("http-user-agent:", http_user_agent) + else if(strcmp(opt, "nsid:") == 0) { + free(cfg->nsid_cfg_str); + if (!(cfg->nsid_cfg_str = strdup(val))) + return 0; + /* Empty string is just validly unsetting nsid */ + if (*val == 0) { + free(cfg->nsid); + cfg->nsid = NULL; + cfg->nsid_len = 0; + return 1; + } + cfg->nsid = cfg_parse_nsid(val, &cfg->nsid_len); + return cfg->nsid != NULL; + } + else S_STRLIST("root-hints:", root_hints) + else S_STR("target-fetch-policy:", target_fetch_policy) + else S_YNO("harden-glue:", harden_glue) + else S_YNO("harden-short-bufsize:", harden_short_bufsize) + else S_YNO("harden-large-queries:", harden_large_queries) + else S_YNO("harden-dnssec-stripped:", harden_dnssec_stripped) + else S_YNO("harden-below-nxdomain:", harden_below_nxdomain) + else S_YNO("harden-referral-path:", harden_referral_path) + else S_YNO("harden-algo-downgrade:", harden_algo_downgrade) + else S_YNO("harden-unknown-additional:", harden_unknown_additional) + else S_YNO("use-caps-for-id:", use_caps_bits_for_id) + else S_STRLIST("caps-whitelist:", caps_whitelist) + else S_SIZET_OR_ZERO("unwanted-reply-threshold:", unwanted_threshold) + else S_STRLIST("private-address:", private_address) + else S_STRLIST("private-domain:", private_domain) + else S_YNO("do-not-query-localhost:", donotquery_localhost) + else S_STRLIST("do-not-query-address:", donotqueryaddrs) + else S_STRLIST("auto-trust-anchor-file:", auto_trust_anchor_file_list) + else S_STRLIST("trust-anchor-file:", trust_anchor_file_list) + else S_STRLIST("trust-anchor:", trust_anchor_list) + else S_STRLIST("trusted-keys-file:", trusted_keys_file_list) + else S_YNO("trust-anchor-signaling:", trust_anchor_signaling) + else S_YNO("root-key-sentinel:", root_key_sentinel) + else S_STRLIST("domain-insecure:", domain_insecure) + else S_NUMBER_OR_ZERO("val-bogus-ttl:", bogus_ttl) + else S_YNO("val-clean-additional:", val_clean_additional) + else S_NUMBER_OR_ZERO("val-log-level:", val_log_level) + else S_YNO("val-log-squelch:", val_log_squelch) + else S_YNO("log-queries:", log_queries) + else S_YNO("log-replies:", log_replies) + else S_YNO("log-tag-queryreply:", log_tag_queryreply) + else S_YNO("log-local-actions:", log_local_actions) + else S_YNO("log-servfail:", log_servfail) ++ else S_YNO("log-destaddr:", log_destaddr) + else S_YNO("val-permissive-mode:", val_permissive_mode) + else S_YNO("aggressive-nsec:", aggressive_nsec) + else S_YNO("ignore-cd-flag:", ignore_cd) + else S_YNO("disable-edns-do:", disable_edns_do) + else if(strcmp(opt, "serve-expired:") == 0) + { IS_YES_OR_NO; cfg->serve_expired = (strcmp(val, "yes") == 0); + SERVE_EXPIRED = cfg->serve_expired; } + else if(strcmp(opt, "serve-expired-ttl:") == 0) + { IS_NUMBER_OR_ZERO; cfg->serve_expired_ttl = atoi(val); SERVE_EXPIRED_TTL=(time_t)cfg->serve_expired_ttl;} + else S_YNO("serve-expired-ttl-reset:", serve_expired_ttl_reset) + else if(strcmp(opt, "serve-expired-reply-ttl:") == 0) + { IS_NUMBER_OR_ZERO; cfg->serve_expired_reply_ttl = atoi(val); SERVE_EXPIRED_REPLY_TTL=(time_t)cfg->serve_expired_reply_ttl;} + else S_NUMBER_OR_ZERO("serve-expired-client-timeout:", serve_expired_client_timeout) + else S_YNO("ede:", ede) + else S_YNO("ede-serve-expired:", ede_serve_expired) + else S_YNO("serve-original-ttl:", serve_original_ttl) + else S_STR("val-nsec3-keysize-iterations:", val_nsec3_key_iterations) + else S_YNO("zonemd-permissive-mode:", zonemd_permissive_mode) + else S_UNSIGNED_OR_ZERO("add-holddown:", add_holddown) + else S_UNSIGNED_OR_ZERO("del-holddown:", del_holddown) + else S_UNSIGNED_OR_ZERO("keep-missing:", keep_missing) + else if(strcmp(opt, "permit-small-holddown:") == 0) + { IS_YES_OR_NO; cfg->permit_small_holddown = (strcmp(val, "yes") == 0); + autr_permit_small_holddown = cfg->permit_small_holddown; } + else S_MEMSIZE("key-cache-size:", key_cache_size) + else S_POW2("key-cache-slabs:", key_cache_slabs) + else S_MEMSIZE("neg-cache-size:", neg_cache_size) + else S_YNO("minimal-responses:", minimal_responses) + else S_YNO("rrset-roundrobin:", rrset_roundrobin) + else S_NUMBER_OR_ZERO("unknown-server-time-limit:", unknown_server_time_limit) + else S_STRLIST("local-data:", local_data) + else S_YNO("unblock-lan-zones:", unblock_lan_zones) + else S_YNO("insecure-lan-zones:", insecure_lan_zones) + else S_YNO("control-enable:", remote_control_enable) + else S_STRLIST_APPEND("control-interface:", control_ifs) + else S_NUMBER_NONZERO("control-port:", control_port) + else S_STR("server-key-file:", server_key_file) + else S_STR("server-cert-file:", server_cert_file) + else S_STR("control-key-file:", control_key_file) + else S_STR("control-cert-file:", control_cert_file) + else S_STR("module-config:", module_conf) + else S_STRLIST("python-script:", python_script) + else S_STRLIST("dynlib-file:", dynlib_file) + else S_YNO("disable-dnssec-lame-check:", disable_dnssec_lame_check) +#ifdef CLIENT_SUBNET + /* Can't set max subnet prefix here, since that value is used when + * generating the address tree. */ + /* No client-subnet-always-forward here, module registration depends on + * this option. */ +#endif +#ifdef USE_DNSTAP + else S_YNO("dnstap-enable:", dnstap) + else S_YNO("dnstap-bidirectional:", dnstap_bidirectional) + else S_STR("dnstap-socket-path:", dnstap_socket_path) + else S_STR("dnstap-ip:", dnstap_ip) + else S_YNO("dnstap-tls:", dnstap_tls) + else S_STR("dnstap-tls-server-name:", dnstap_tls_server_name) + else S_STR("dnstap-tls-cert-bundle:", dnstap_tls_cert_bundle) + else S_STR("dnstap-tls-client-key-file:", dnstap_tls_client_key_file) + else S_STR("dnstap-tls-client-cert-file:", + dnstap_tls_client_cert_file) + else S_YNO("dnstap-send-identity:", dnstap_send_identity) + else S_YNO("dnstap-send-version:", dnstap_send_version) + else S_STR("dnstap-identity:", dnstap_identity) + else S_STR("dnstap-version:", dnstap_version) + else S_YNO("dnstap-log-resolver-query-messages:", + dnstap_log_resolver_query_messages) + else S_YNO("dnstap-log-resolver-response-messages:", + dnstap_log_resolver_response_messages) + else S_YNO("dnstap-log-client-query-messages:", + dnstap_log_client_query_messages) + else S_YNO("dnstap-log-client-response-messages:", + dnstap_log_client_response_messages) + else S_YNO("dnstap-log-forwarder-query-messages:", + dnstap_log_forwarder_query_messages) + else S_YNO("dnstap-log-forwarder-response-messages:", + dnstap_log_forwarder_response_messages) +#endif +#ifdef USE_DNSCRYPT + else S_YNO("dnscrypt-enable:", dnscrypt) + else S_NUMBER_NONZERO("dnscrypt-port:", dnscrypt_port) + else S_STR("dnscrypt-provider:", dnscrypt_provider) + else S_STRLIST_UNIQ("dnscrypt-provider-cert:", dnscrypt_provider_cert) + else S_STRLIST("dnscrypt-provider-cert-rotated:", dnscrypt_provider_cert_rotated) + else S_STRLIST_UNIQ("dnscrypt-secret-key:", dnscrypt_secret_key) + else S_MEMSIZE("dnscrypt-shared-secret-cache-size:", + dnscrypt_shared_secret_cache_size) + else S_POW2("dnscrypt-shared-secret-cache-slabs:", + dnscrypt_shared_secret_cache_slabs) + else S_MEMSIZE("dnscrypt-nonce-cache-size:", + dnscrypt_nonce_cache_size) + else S_POW2("dnscrypt-nonce-cache-slabs:", + dnscrypt_nonce_cache_slabs) +#endif + else if(strcmp(opt, "ip-ratelimit-cookie:") == 0) { + IS_NUMBER_OR_ZERO; cfg->ip_ratelimit_cookie = atoi(val); + infra_ip_ratelimit_cookie=cfg->ip_ratelimit_cookie; + } + else if(strcmp(opt, "ip-ratelimit:") == 0) { + IS_NUMBER_OR_ZERO; cfg->ip_ratelimit = atoi(val); + infra_ip_ratelimit=cfg->ip_ratelimit; + } + else if(strcmp(opt, "ratelimit:") == 0) { + IS_NUMBER_OR_ZERO; cfg->ratelimit = atoi(val); + infra_dp_ratelimit=cfg->ratelimit; + } + else S_MEMSIZE("ip-ratelimit-size:", ip_ratelimit_size) + else S_MEMSIZE("ratelimit-size:", ratelimit_size) + else S_POW2("ip-ratelimit-slabs:", ip_ratelimit_slabs) + else S_POW2("ratelimit-slabs:", ratelimit_slabs) + else S_NUMBER_OR_ZERO("ip-ratelimit-factor:", ip_ratelimit_factor) + else S_NUMBER_OR_ZERO("ratelimit-factor:", ratelimit_factor) + else S_YNO("ip-ratelimit-backoff:", ip_ratelimit_backoff) + else S_YNO("ratelimit-backoff:", ratelimit_backoff) + else S_NUMBER_NONZERO("outbound-msg-retry:", outbound_msg_retry) + else S_NUMBER_NONZERO("max-sent-count:", max_sent_count) + else S_NUMBER_NONZERO("max-query-restarts:", max_query_restarts) + else S_SIZET_NONZERO("fast-server-num:", fast_server_num) + else S_NUMBER_OR_ZERO("fast-server-permil:", fast_server_permil) + else S_YNO("qname-minimisation:", qname_minimisation) + else S_YNO("qname-minimisation-strict:", qname_minimisation_strict) + else S_YNO("pad-responses:", pad_responses) + else S_SIZET_NONZERO("pad-responses-block-size:", pad_responses_block_size) + else S_YNO("pad-queries:", pad_queries) + else S_SIZET_NONZERO("pad-queries-block-size:", pad_queries_block_size) + else S_STRLIST("proxy-protocol-port:", proxy_protocol_port) +#ifdef USE_IPSECMOD + else S_YNO("ipsecmod-enabled:", ipsecmod_enabled) + else S_YNO("ipsecmod-ignore-bogus:", ipsecmod_ignore_bogus) + else if(strcmp(opt, "ipsecmod-max-ttl:") == 0) + { IS_NUMBER_OR_ZERO; cfg->ipsecmod_max_ttl = atoi(val); } + else S_YNO("ipsecmod-strict:", ipsecmod_strict) +#endif +#ifdef USE_CACHEDB + else S_YNO("cachedb-no-store:", cachedb_no_store) +#endif /* USE_CACHEDB */ + else if(strcmp(opt, "define-tag:") ==0) { + return config_add_tag(cfg, val); + /* val_sig_skew_min, max and val_max_restart are copied into val_env + * during init so this does not update val_env with set_option */ + } else if(strcmp(opt, "val-sig-skew-min:") == 0) + { IS_NUMBER_OR_ZERO; cfg->val_sig_skew_min = (int32_t)atoi(val); } + else if(strcmp(opt, "val-sig-skew-max:") == 0) + { IS_NUMBER_OR_ZERO; cfg->val_sig_skew_max = (int32_t)atoi(val); } + else if(strcmp(opt, "val-max-restart:") == 0) + { IS_NUMBER_OR_ZERO; cfg->val_max_restart = (int32_t)atoi(val); } + else if (strcmp(opt, "outgoing-interface:") == 0) { + char* d = strdup(val); + char** oi = + (char**)reallocarray(NULL, (size_t)cfg->num_out_ifs+1, sizeof(char*)); + if(!d || !oi) { free(d); free(oi); return -1; } + if(cfg->out_ifs && cfg->num_out_ifs) { + memmove(oi, cfg->out_ifs, cfg->num_out_ifs*sizeof(char*)); + free(cfg->out_ifs); + } + oi[cfg->num_out_ifs++] = d; + cfg->out_ifs = oi; + } else { + /* unknown or unsupported (from the set_option interface): + * interface, outgoing-interface, access-control, + * stub-zone, name, stub-addr, stub-host, stub-prime + * forward-first, stub-first, forward-ssl-upstream, + * stub-ssl-upstream, forward-zone, auth-zone + * name, forward-addr, forward-host, + * ratelimit-for-domain, ratelimit-below-domain, + * local-zone-tag, access-control-view, interface-*, + * send-client-subnet, client-subnet-always-forward, + * max-client-subnet-ipv4, max-client-subnet-ipv6, + * min-client-subnet-ipv4, min-client-subnet-ipv6, + * max-ecs-tree-size-ipv4, max-ecs-tree-size-ipv6, ipsecmod_hook, + * ipsecmod_whitelist. */ + return 0; + } + return 1; +} + +void config_print_func(char* line, void* arg) +{ + FILE* f = (FILE*)arg; + (void)fprintf(f, "%s\n", line); +} + +/** collate func arg */ +struct config_collate_arg { + /** list of result items */ + struct config_strlist_head list; + /** if a malloc error occurred, 0 is OK */ + int status; +}; + +void config_collate_func(char* line, void* arg) +{ *** 3407 LINES SKIPPED *** From nobody Sun Mar 17 10:11:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TyDKX3kFKz5CmqQ; Sun, 17 Mar 2024 10:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TyDKX304Qz4KFX; Sun, 17 Mar 2024 10:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710670288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jMId3PiMSFVPXLu4/m9g0zRCnj8F1Zmxe/gFlBKczeo=; b=MJBODYSPLkC5bDSw4NEmjKoeOp/FGT1NDkOZ0mCiR7166Ey/1whof85emqe7UlM/VmxBt5 6SZQI5ThNgFJILKyP+k+Xi2xoYyB34/uhn3QyUeydaVqW8CzsCMK9wPg/MnkoYHJSeRYR/ lcXmt/rKKJT8F4by6/7agVMNl0IqEpOvpfztia0umaTVXFsI86rAd2htrNs6liRzxcQdcw q/FvCfT4JSUuoFiI7sX9pTbChVHlDfwyGqr1KZmD5i2f+Y3vmUCrr8ESrOTkxzlAVpzG9p 5kSot+LfmR8TwwD6tdfJ3nm7ug3FeCCVFgoxfJ+LsxbumUfaEPXxmzonvZvntg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710670288; a=rsa-sha256; cv=none; b=d7KvZuBtf9A3Zh4gouRVqFqKH2PmcbrzR01APIkzE5YHEHwdyIDaWPWodYVQCMiq/9nWDX 27oRw/mI9uA41ds65vz1S10D2lx9NmdALcvKzWFHMxpPfCKss6KWdQQUaAWo1w0FVgJSfv yJkxjFmGJ/X8AJ5tuz4BgBOMW7Y172OlzuJjcjCvSJdrOEh3yKR0v/8rBQGvvmStUWd0nW XsFt0Ki89VX5MfUzmDEwdjiRJOFRrWJnQoTk6RCQAFhlljKh09flYebp45zu/kRL3qS3rC z/9qs2q7C0RXj+13Lh/MlcyRBuJFEaqZv0YKkHPANU5SIPQzX4D2duYxUO8ARg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710670288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jMId3PiMSFVPXLu4/m9g0zRCnj8F1Zmxe/gFlBKczeo=; b=QIBhu9fg7l5Lt/piJSvkn049FebV4830YZiupf6AF8fhvC6QbqYT8ldszJYBcAfrLQgGwf 0sw3oV41jodERtZxP8NHsZoYmDWgVfqJfSNnarb9f7XpSeveRyy6vNC/0ZlEZCFfnSdX+2 0NG080ZO5j/NGlo4rXdw48UrWyrgm1XN7daZ+szCqHCsQ6fLTA2y/2xhTFj5ZxzLmMgZhE /eUBnocyc92RvhRIuYOik1QU1dbn4RFu6xkxn2qDx3tinATbk57UJAwA/sMRiqHVhnEJdJ VP29Zf+SeFcVTbP4QvLuMZj+WAzQRfNXDQrkfre5+i3nS7qtkjMAVgaazQw95g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TyDKX2bPWzbGh; Sun, 17 Mar 2024 10:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42HABSJ8084596; Sun, 17 Mar 2024 10:11:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42HABSW5084593; Sun, 17 Mar 2024 10:11:28 GMT (envelope-from git) Date: Sun, 17 Mar 2024 10:11:28 GMT Message-Id: <202403171011.42HABSW5084593@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Salychev Subject: git: 65eb09f9d550 - main - Add myself (dsl) to the calendar.freebsd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dsl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65eb09f9d55033ca80336ee3ffd048d238297425 Auto-Submitted: auto-generated The branch main has been updated by dsl: URL: https://cgit.FreeBSD.org/src/commit/?id=65eb09f9d55033ca80336ee3ffd048d238297425 commit 65eb09f9d55033ca80336ee3ffd048d238297425 Author: Dmitry Salychev AuthorDate: 2024-03-17 10:09:52 +0000 Commit: Dmitry Salychev CommitDate: 2024-03-17 10:09:52 +0000 Add myself (dsl) to the calendar.freebsd --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index 20813eb17e09..71371fea5c89 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -126,6 +126,7 @@ 03/17 Alexander Motin born in Simferopol, Ukraine, 1979 03/18 Koop Mast born in Dokkum, the Netherlands, 1981 03/19 Mikhail Teterin born in Kyiv, Ukraine, 1972 +03/19 Dmitry Salychev born in Sverdlovsk, Sverdlovskaya oblast, USSR, 1991 03/20 Joseph S. Atkinson born in Batesville, Arkansas, United States, 1977 03/20 Henrik Brix Andersen born in Aarhus, Denmark, 1978 03/20 MANTANI Nobutaka born in Hiroshima, Japan, 1978 From nobody Sun Mar 17 12:00:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TyGlp62Mfz5CymN; Sun, 17 Mar 2024 12:00:54 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4TyGln0sSkz4W8C; Sun, 17 Mar 2024 12:00:52 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 42HC0dh8029821; Sun, 17 Mar 2024 14:00:42 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 42HC0dh8029821 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 42HC0dJ7029820; Sun, 17 Mar 2024 14:00:39 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 17 Mar 2024 14:00:39 +0200 From: Konstantin Belousov To: "David E. O'Brien" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 87740ff2ace8 - main - diff(1) add FreeBSD HISTORY Message-ID: References: <202403152228.42FMSQIo056979@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202403152228.42FMSQIo056979@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.62 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.62)[-0.621]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none]; ARC_NA(0.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; HAS_XAW(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4TyGln0sSkz4W8C On Fri, Mar 15, 2024 at 10:28:26PM +0000, David E. O'Brien wrote: > The branch main has been updated by obrien: > > URL: https://cgit.FreeBSD.org/src/commit/?id=87740ff2ace86bbf77820c04531507b59a1db17c > > commit 87740ff2ace86bbf77820c04531507b59a1db17c > Author: David E. O'Brien > AuthorDate: 2024-03-15 22:26:12 +0000 > Commit: David E. O'Brien > CommitDate: 2024-03-15 22:26:12 +0000 > > diff(1) add FreeBSD HISTORY > --- > usr.bin/diff/diff.1 | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/usr.bin/diff/diff.1 b/usr.bin/diff/diff.1 > index 6351c58114e0..29ee32cb8d2b 100644 > --- a/usr.bin/diff/diff.1 > +++ b/usr.bin/diff/diff.1 > @@ -748,3 +748,12 @@ A > .Nm > command appeared in > .At v6 . > +The > +.Nm > +implimentation in > +.Fx 1.0 > +until > +.Fx 11.4 > +was GNU diff. This was replaced in > +.Fx 12.0 > +by a BSD licensed diff implimentation. Some GNU'isms were lost in process. New sentences should start at the new line. From nobody Sun Mar 17 12:15:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TyH49325Bz5D12t; Sun, 17 Mar 2024 12:15:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TyH492CCzz4Xmv; Sun, 17 Mar 2024 12:15:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710677705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZahJsrvmsrqjwter2tnuh8UPfGpHg9VtMdaowltdj8=; b=HgYQn1aEcV0CEBO670JDChCyWLjqusFL04zjnsFqe3s/shirQR4trmZT6WK3BqIjXxEPwu 9w4N/SFTOmKik2kXAUwudJaCNxImtnfBSsk7MM5qq0O1UWFp66XnwhbpVqGKpjmZM2zM+i kqew0nLV6LHPoV/CNeomtBqwRwObax/TXv4r5MTGTbqHnNf9pgXiC407CPmRe2FUZoXwwf F3bs143qw1MtcAfUIOhGErv3wTPCDO8nCkY4WzV3vEl4EcEb1SRb1kBVqFkUNqvOo49EQM cpns9VJoEvxzQJ7xVAgLOIaztkL0E5Au1hyRb4Gehl4Fwhl8PxCJoTlK6GYBcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710677705; a=rsa-sha256; cv=none; b=OMmREGwTapvdABOl4XfVejtES0adOeKSGjvrAfFkQZddbWdZwhczYA0XNPqDDIPpLn6dk/ X4PyKcxXX4r/xh+nEnZKyekWvH2N7NPyNVFpRzwymMD2ZnsBT42/W2VKwg+AvXsOM2lZwP IwB0p8y4pPPzxyonVKuqlUznsgfQKQNDJSI9RTPXadToHBEEHrqJbHMfqQo4cWwcXhedhy qjvlBMtlCnk7yAktPMpwHYthfSo01O84PXnEZvS+RRrYRdlibUu0zIKrEoKpISNb1GA480 XvQol28xeiHW3Oxiq5UCOwOvMz2ywTcuwRBRl8AymtN8atWJFPKnorkml0KUig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710677705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZahJsrvmsrqjwter2tnuh8UPfGpHg9VtMdaowltdj8=; b=QfYynGogxoT56VAqIzeHimCfK7AgeybLdlfZA4vSAT38JlTdVRf/WjrMazMjehAUvFnQDI p8r46/zwenIUtWawV+P87+VYCkUN6ioY0mWHx21+FFq83z538k773NUnL8jf1SfONv/UcX R0GSM7fGQUi7vTY1tt0nzknCKhbGT5KtuMOFXO+rXV/llOaN2LyFNPVkEmGv+E3v9tfS5C r7sqORk4f8kq4oum9SViXIsRbWPxI1fginPyWjNNOD/w2CLNRGJMMp8NPeC6uOIpCYm0Uz 5PIihuEc8nvMdA27YWX1jUTgBqlNCbnL3hmomSOEGNbXv+bo15xsKxAVTvQw6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TyH491pj0zf15; Sun, 17 Mar 2024 12:15:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42HCF57j090848; Sun, 17 Mar 2024 12:15:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42HCF5gk090845; Sun, 17 Mar 2024 12:15:05 GMT (envelope-from git) Date: Sun, 17 Mar 2024 12:15:05 GMT Message-Id: <202403171215.42HCF5gk090845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 1e4cd5ed54d7 - main - release: remove binutils package data List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e4cd5ed54d73dcb8e9af92990e7bf005b9a5710 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1e4cd5ed54d73dcb8e9af92990e7bf005b9a5710 commit 1e4cd5ed54d73dcb8e9af92990e7bf005b9a5710 Author: Ed Maste AuthorDate: 2024-03-17 12:09:31 +0000 Commit: Ed Maste CommitDate: 2024-03-17 12:11:57 +0000 release: remove binutils package data GDB was the final GNU binutils component included in the base system, but was removed in 2020. Nothing provides a pkgbase binutils package any longer. Fixes: 1c0ea326aa6d ("Retire obsolete GDB 6.1.1") Sponsored by: The FreeBSD Foundation --- release/packages/binutils.ucl | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/release/packages/binutils.ucl b/release/packages/binutils.ucl deleted file mode 100644 index ff2710862e03..000000000000 --- a/release/packages/binutils.ucl +++ /dev/null @@ -1,17 +0,0 @@ -# -# - -name = "%PKG_NAME_PREFIX%-%PKGNAME%" -origin = "base" -version = "%VERSION%" -comment = "%COMMENT%" -categories = [ base ] -maintainer = "%PKG_MAINTAINER%" -www = "%PKG_WWW%" -prefix = "/" -licenselogic = "single" -licenses = [ GPLv2 ] -desc = < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 4319ccae876a - main - Add myself (zlei) to the calendar List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4319ccae876ad057698e2900ffdb94bf90ac554a Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=4319ccae876ad057698e2900ffdb94bf90ac554a commit 4319ccae876ad057698e2900ffdb94bf90ac554a Author: Zhenlei Huang AuthorDate: 2024-03-17 15:07:53 +0000 Commit: Zhenlei Huang CommitDate: 2024-03-17 15:07:53 +0000 Add myself (zlei) to the calendar Reminded by: mckusick --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index 71371fea5c89..bd085661f576 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -423,6 +423,7 @@ 10/27 Takanori Watanabe born in Numazu, Shizuoka, Japan, 1972 10/30 Olli Hauer born in Sindelfingen, Germany, 1968 10/31 Taras Korenko born in Cherkasy region, Ukraine, 1980 +11/01 Zhenlei Huang born in Jingmen, Hubei, People's Republic of China, 1986 11/03 Ryan Stone born in Ottawa, Ontario, Canada, 1985 11/04 John Hixson born in Burlingame, California, United States, 1974 11/05 M. Warner Losh born in Kansas City, Kansas, United States, 1966 From nobody Sun Mar 17 15:54:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TyMxR40sgz5DdSl; Sun, 17 Mar 2024 15:54:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TyMxR31Zcz44J1; Sun, 17 Mar 2024 15:54:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710690875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y+207ENTlLuHhogzsYJq4thRCix8o7UJ53VjjekJ8XA=; b=CtAqPuSaEufYtoUmZypHNKYqEFM3AgKln/we9W2aFWDTrPBFMz6JHfUOdaLKVpJJwvy2wJ WZT/BVcs93gB2LTwyHUhMIb+eqFW4dZ8iPTOTW1wSuFAw6liS0Y68/hE7k87n2SUs55CKS YzsyOpKKMSCaoaOEh+N/1dbLn71UOlk/4dl6fS8pAM5iHcfU/nEWgF16IaoUZi9iJhcJ73 edO02oSHdSUUEGQ4A2kYHbF9BBjYhWYR2Zyqx4CLHN+4qZ1aJB2FIv9yeUVk2PplgOQ47/ XCE7PENrrJxnO5CdNy2r0Eid8vgGFsPSciYhEa6bKOy8AuzfmSxnNs7ONZZ47Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710690875; a=rsa-sha256; cv=none; b=fLUhbc9Rg0Cqf7ahDM5sR9W0K6to1mRI1VQh8C+R7r+7Dzbxd6DWKNERQZuJlTRksehqck tH164NkniKzM1hrKiO18DT8muQAXG8SIAj3c3F2dEpXJnzvGZSSSifJo5WelhTRti8Rg3e 608Txp4zIprwq2OQlvib6jaT/XadHECqie9lT7Tg7hiCDgzDENLWy9R+xgLiqmUJY8GNzE RsTx3D5sLv56C9LQ39KIyRx2XsSgEhgytrNezALdf/MgQlTZMfPJnQ2TeCvscJCt9jtTXn Yur8waiS5Req1PG85G5HRrICEqrTCHtwxGnp/RXhJtI4zbUPDv51H4mkxc8XtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710690875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y+207ENTlLuHhogzsYJq4thRCix8o7UJ53VjjekJ8XA=; b=VuptCnVF8tI+6b9u3Ylp4S5Cn5vXMbvzSSTeRWTSZNN+hnHdzQ9cQdF3ORuH57A8LvWKI2 zUR5chYfuPjNCNs8nm77eZjECPjqOgMw2KZSLmWiUI5k4znHbOCCgcyqx4LT+vgYLM002B aHoO0nHd+bw8qq+N+DpSIdhbwr9yC52mtzR5F1M2Q+3MK2oOT1R2s4t0THUAYuUz6xGthn e3ekF5Y+ESN1303qY2LnUwVPh4rJ7uCk1//qZvtw7f4JDuhwb+zJq2DRaNQ6ZjuV+lcJPr uZYP4iriMb/LlS1/VOgFDXVxdmqGcc68M5z96ndBxZx6ksCGeJqwj+YfVpTOag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TyMxR2cWwzlhl; Sun, 17 Mar 2024 15:54:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42HFsZSr065157; Sun, 17 Mar 2024 15:54:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42HFsZqp065154; Sun, 17 Mar 2024 15:54:35 GMT (envelope-from git) Date: Sun, 17 Mar 2024 15:54:35 GMT Message-Id: <202403171554.42HFsZqp065154@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 228fc43bcf4f - main - Add myself (vvd) to the calendar List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 228fc43bcf4f108fd6e031ba91254c90118d1a87 Auto-Submitted: auto-generated The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/src/commit/?id=228fc43bcf4f108fd6e031ba91254c90118d1a87 commit 228fc43bcf4f108fd6e031ba91254c90118d1a87 Author: Vladimir Druzenko AuthorDate: 2024-03-17 15:53:07 +0000 Commit: Vladimir Druzenko CommitDate: 2024-03-17 15:53:07 +0000 Add myself (vvd) to the calendar Reported by: mckusick Approved by: mckusick --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index bd085661f576..ad6ff7277b80 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -411,6 +411,7 @@ 10/20 Dmitry Marakasov born in Moscow, Russian Federation, 1984 10/21 Ben Smithurst born in Sheffield, South Yorkshire, United Kingdom, 1981 10/21 Daniel Ebdrup Jensen born in Aalborg, Denmark, 19XX +10/21 Vladimir Vladimirovich Druzenko born in Kishinev, USSR, 1979 10/22 Jean-Sebastien Pedron born in Redon, Ille-et-Vilaine, France, 1980 10/23 Mario Sergio Fujikawa Ferreira born in Brasilia, Distrito Federal, Brazil, 1976 10/23 Romain Tartière born in Clermont-Ferrand, France, 1984 From nobody Sun Mar 17 22:35:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TyXqq3L5Pz5F2tM; Sun, 17 Mar 2024 22:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TyXqq2X8pz4rtd; Sun, 17 Mar 2024 22:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710714919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DIAl03QYIzdz++3YOg31d9F/0GzqwUM7owymIb6Wfqw=; b=Y6/wRKwKNdbDWnUM4CqqXbzVI3NaHUn2dacSuDaNhn5vRb+8jvNptvQPGOCwSjxzvB33Mg 39DKvLmB28mUkgeJtz4cqpfnCdAV4rVYIhVMcUnkkYY+IWqzpIaaeNAQL9zDzL8xzzBes8 jzFOyKjuzT/f5P+lRgsUWy03H7yJQ5/lwn7X5Gf+cTlOv3CZ0226wSHx02t5Qaclw/nK43 Mgmwfdi2qr+qx5uKm9d2cXYgXvWKiluHk9UCboAQfL2sWNoTYdyXJfC66TI4LvNeRKeEs/ VPKI1USYGopScon1Pcd/1DYvyACPCBwZsrtnwFpMULoiQhtRBJCXCvSUSE4b4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710714919; a=rsa-sha256; cv=none; b=Ktc+XWPcLl0DNQIM8UeecLU4KTPYOwkjRe+J8UtjFUgfTg6Y1WGr6HfZ3cT9fEobUkWINM o4cLXeRezGT35bfvtGTWGHICcnB8+VN51eG+kO/PcAacgUiNmV2rsxM32yVY4+AMH3QUPK +rae/wYMPM56uvUlMuNDkNWMbN88SpWOp3DmmvyUC9P8LxKP86dkUjKuwWSW0DNxOimNHK tv6m7jFvdD9SEKj9DVTwNSDq/pvyIIzvV/nHK+RPsZLvg5acGs0rDyH2XY9VGqF6rUwpq8 d2EFVkXSNNFSSaEaKZdJSvVbAg9qwV8Gm4KuV+dvZ9Jo9Pu4c0X00zyME5uUiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710714919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DIAl03QYIzdz++3YOg31d9F/0GzqwUM7owymIb6Wfqw=; b=b4u8YWLAowbTc/xAB4mHE2PK23NH3fmTQj2Kry23fIA4K/e+WlC2WYfj5NQMgPggByiugM M3f15vFf2yyhKvl7SIH6eR8JdkAujt/x56JQ8DDNKbU1BUoLUtt9cfTE2yko4J5Yd38UdT 9eTAZHXwyGy7zgAfV81MxARocP21D0uRWIo9rFxhbBP76vli35guXdFmEe7VBvnJOoUKFF +GW948RGimoBX+lCeKOiWUM+v4mGe8qnhe4vq9njcSlwTyRKwnCr9Rs9rEpoPZzs4KInwJ J8a5En/LZuVyCFM6PVXluKnc7BKyhX3jrjush+qT2jAPiLc0eYI2E3hCnhIhcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TyXqq27Ymzwqp; Sun, 17 Mar 2024 22:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42HMZJXH040502; Sun, 17 Mar 2024 22:35:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42HMZJmX040499; Sun, 17 Mar 2024 22:35:19 GMT (envelope-from git) Date: Sun, 17 Mar 2024 22:35:19 GMT Message-Id: <202403172235.42HMZJmX040499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Neel Chauhan Subject: git: f526590a78c1 - main - Add myself (nc) to the calendar List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f526590a78c1529d078f7845ffa54bf3b885719c Auto-Submitted: auto-generated The branch main has been updated by nc: URL: https://cgit.FreeBSD.org/src/commit/?id=f526590a78c1529d078f7845ffa54bf3b885719c commit f526590a78c1529d078f7845ffa54bf3b885719c Author: Neel Chauhan AuthorDate: 2024-03-17 22:34:59 +0000 Commit: Neel Chauhan CommitDate: 2024-03-17 22:34:59 +0000 Add myself (nc) to the calendar Reminded by: mckusick --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index ad6ff7277b80..fe4f7cb285a8 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -140,6 +140,7 @@ 03/26 Jonathan Anderson born in Ottawa, Ontario, Canada, 1983 03/27 Josef El-Rayes born in Linz, Austria, 1982 03/28 Sean C. Farley born in Indianapolis, Indiana, United States, 1970 +03/29 Neel Chauhan born in Williamsville, New York, United States, 1997 03/29 Dave Cottlehuber born in Christchurch, New Zealand, 1973 03/29 Thierry Thomas born in Luxeuil les Bains, France, 1961 03/30 Po-Chuan Hsieh born in Taipei, Taiwan, Republic of China, 1978 From nobody Sun Mar 17 23:11:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TyYdr5kxRz5F5VZ; Sun, 17 Mar 2024 23:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TyYdr5By0z4vRd; Sun, 17 Mar 2024 23:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710717104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gSaaiZp6s/HwdAUM1Nwuogs1gbsnr8T9+YhQVOsWSKI=; b=uZubnslkvrUm+ibGcL7XvJ3LzQVi8UU3I6U0HkvGAqrARG7Fc/yc+MDlpo3OlzQiy+k9wH VIPp4xCO3KXqumTu+GU3jm1sVKvVyOD38AMmdylbRbYCBsr0v9qkJFPVFh+5qtZzoHZBRK OFwVmTBY3UCwffWjW799bqofYx3Xsw6jl1vBIPb1Zkh4FtUgX6w7j+avtKdlE01QmKXE3Z ksqTV2ld1KimRDo7RAVDhUZ3S+pUbT3dFFKhDF5p1gQ0959QVJZ1JozCdN0iQGOj+nbD3c 6xA2FWXL+ugoNjftSEF62GOJSh1MBOJ9z+6OIiUgTOQPFXJEpipiM6Yt7wK4sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1710717104; a=rsa-sha256; cv=none; b=hcXmChACBJA1b2UAtkdTTQoK5M2VEeqIu7mJEvjajJjfL1KDtGJrAv4UDg51BiYq2y8Hx7 2fwF4rJewNy0/7ffwk8PSh/jhT2ztlksojpxbHwfbtaA3Fvej8gdfTGpi1fyZKcBPxZfQt 3znLz3PoXRr859e8fdJnoGPM48d2YQV5d8rqq4fdp2u3uTpqcvqpmkhfQFXBvJDI+vw10n YAQn7FcJMzCapNPLMH57BAjd6d+X2saDyzQdv8CDsMA7las2521I5pPdYNcdZmyeX7GiLP SvpJPxUOExEn0IyMobS+Prj+aMkDJCJQPKV4JVg3sbVht4ZORVmvUEtQFmiH6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1710717104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gSaaiZp6s/HwdAUM1Nwuogs1gbsnr8T9+YhQVOsWSKI=; b=WXaPv+hKuQULh7es+5ISRugSXIzy6b8pDcy4SVehS1OKD2MeqjCxcgjO6K8pRXFCTC1bED 6e7dNRlFUoNL1z4DECAUw+3tkz3393nwvV9SLIT4T/9cc2VQoQxexhzfTqCnANPvz63BjS 3v2UAVPGuaTPcC0q8Gm3lV72iI4JG9tFlHXhRXONPrGZ7CB8/4MH5Sp8vF2p6NwIwNZ3x6 J9yUE7XHMcUykcGQLgqMFjxzZJ/z1WSLHOfjQenfNJNBqqpTJGgl7TPABkJG4TuxBH7Guj XhFR5u0iOrho0Aslaj5a0FhILREiRT7RAB75xjG35xV4J8aQ41wJQbr+kCoGxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TyYdr4pcLzy4b; Sun, 17 Mar 2024 23:11:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42HNBiiA006591; Sun, 17 Mar 2024 23:11:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42HNBiEt006588; Sun, 17 Mar 2024 23:11:44 GMT (envelope-from git) Date: Sun, 17 Mar 2024 23:11:44 GMT Message-Id: <202403172311.42HNBiEt006588@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 04473cfc4d07 - main - Add myself (jfree) to calendar.freebsd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04473cfc4d07815cd286900327219dad45923dc2 Auto-Submitted: auto-generated The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=04473cfc4d07815cd286900327219dad45923dc2 commit 04473cfc4d07815cd286900327219dad45923dc2 Author: Jake Freeland AuthorDate: 2024-03-17 22:41:26 +0000 Commit: Jake Freeland CommitDate: 2024-03-17 23:10:42 +0000 Add myself (jfree) to calendar.freebsd Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44400 --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index fe4f7cb285a8..59945b13daa2 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -275,6 +275,7 @@ 07/02 Vasil Venelinov Dimov born in Shumen, Bulgaria, 1982 07/04 Motoyuki Konno born in Musashino, Tokyo, Japan, 1969 07/04 Florent Thoumie born in Montmorency, Val d'Oise, France, 1982 +07/04 Jake Freeland born in St. Paul, Minnesota, United States, 2003 07/05 Olivier Cochard-Labbe born in Brest, France, 1977 07/05 Sergey Kandaurov born in Gubkin, Russian Federation, 1985 07/07 Andrew Thompson born in Lower Hutt, Wellington, New Zealand, 1979