From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 09:04:12 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1CFF14BD03E; Thu, 24 Dec 2020 09:04:12 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1kf40J2Kz3Plf; Thu, 24 Dec 2020 09:04:12 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 F10E75A4D; Thu, 24 Dec 2020 09:04:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BO94B0G022152; Thu, 24 Dec 2020 09:04:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BO94BOS022151; Thu, 24 Dec 2020 09:04:11 GMT (envelope-from git) Date: Thu, 24 Dec 2020 09:04:11 GMT Message-Id: <202012240904.0BO94BOS022151@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: d16dac42b641 - Apply upstream fix 08968baec1122a58bb90d8f97ad948a75f8a5d69: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: d16dac42b641980ffdc112d1e3715e79fd8ba161 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 09:04:12 -0000 The branch stable/12 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=d16dac42b641980ffdc112d1e3715e79fd8ba161 commit d16dac42b641980ffdc112d1e3715e79fd8ba161 Author: Xin LI AuthorDate: 2020-12-18 04:23:20 +0000 Commit: Xin LI CommitDate: 2020-12-23 18:34:51 +0000 Apply upstream fix 08968baec1122a58bb90d8f97ad948a75f8a5d69: Fix error cases when udp-connect is set and send() returns an error Obtained from: unbound git (cherry picked from commit 7341cb0cd1cb6a5bf03c955ce04107b86b186613) --- contrib/unbound/services/authzone.c | 2 +- contrib/unbound/services/outside_network.c | 15 ++++----------- contrib/unbound/util/netevent.c | 29 +++++++++++++++++++---------- contrib/unbound/util/netevent.h | 3 ++- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/contrib/unbound/services/authzone.c b/contrib/unbound/services/authzone.c index 8fa69d27aa21..a43a25def993 100644 --- a/contrib/unbound/services/authzone.c +++ b/contrib/unbound/services/authzone.c @@ -6093,7 +6093,7 @@ xfr_probe_send_probe(struct auth_xfer* xfr, struct module_env* env, /* send udp packet */ if(!comm_point_send_udp_msg(xfr->task_probe->cp, env->scratch_buffer, - (struct sockaddr*)&addr, addrlen)) { + (struct sockaddr*)&addr, addrlen, 0)) { char zname[255+1], as[256]; dname_str(xfr->name, zname); addr_to_str(&addr, addrlen, as, sizeof(as)); diff --git a/contrib/unbound/services/outside_network.c b/contrib/unbound/services/outside_network.c index 11951adea7bc..e87aba893d98 100644 --- a/contrib/unbound/services/outside_network.c +++ b/contrib/unbound/services/outside_network.c @@ -1870,17 +1870,10 @@ randomize_and_send_udp(struct pending* pend, sldns_buffer* packet, int timeout) log_assert(pend->pc && pend->pc->cp); /* send it over the commlink */ - if(outnet->udp_connect) { - if(!comm_point_send_udp_msg(pend->pc->cp, packet, NULL, 0)) { - portcomm_loweruse(outnet, pend->pc); - return 0; - } - } else { - if(!comm_point_send_udp_msg(pend->pc->cp, packet, - (struct sockaddr*)&pend->addr, pend->addrlen)) { - portcomm_loweruse(outnet, pend->pc); - return 0; - } + if(!comm_point_send_udp_msg(pend->pc->cp, packet, + (struct sockaddr*)&pend->addr, pend->addrlen, outnet->udp_connect)) { + portcomm_loweruse(outnet, pend->pc); + return 0; } /* system calls to set timeout after sending UDP to make roundtrip diff --git a/contrib/unbound/util/netevent.c b/contrib/unbound/util/netevent.c index 8bbad15920a2..3525af39aa30 100644 --- a/contrib/unbound/util/netevent.c +++ b/contrib/unbound/util/netevent.c @@ -333,7 +333,7 @@ int tcp_connect_errno_needs_log(struct sockaddr* addr, socklen_t addrlen) /* send a UDP reply */ int comm_point_send_udp_msg(struct comm_point *c, sldns_buffer* packet, - struct sockaddr* addr, socklen_t addrlen) + struct sockaddr* addr, socklen_t addrlen, int is_connected) { ssize_t sent; log_assert(c->fd != -1); @@ -341,8 +341,8 @@ comm_point_send_udp_msg(struct comm_point *c, sldns_buffer* packet, if(sldns_buffer_remaining(packet) == 0) log_err("error: send empty UDP packet"); #endif - if(addr) { - log_assert(addr && addrlen > 0); + log_assert(addr && addrlen > 0); + if(!is_connected) { sent = sendto(c->fd, (void*)sldns_buffer_begin(packet), sldns_buffer_remaining(packet), 0, addr, addrlen); @@ -367,9 +367,14 @@ comm_point_send_udp_msg(struct comm_point *c, sldns_buffer* packet, #endif int e; fd_set_block(c->fd); - sent = sendto(c->fd, (void*)sldns_buffer_begin(packet), - sldns_buffer_remaining(packet), 0, - addr, addrlen); + if (!is_connected) { + sent = sendto(c->fd, (void*)sldns_buffer_begin(packet), + sldns_buffer_remaining(packet), 0, + addr, addrlen); + } else { + sent = send(c->fd, (void*)sldns_buffer_begin(packet), + sldns_buffer_remaining(packet), 0); + } e = errno; fd_set_nonblock(c->fd); errno = e; @@ -378,8 +383,12 @@ comm_point_send_udp_msg(struct comm_point *c, sldns_buffer* packet, if(sent == -1) { if(!udp_send_errno_needs_log(addr, addrlen)) return 0; - verbose(VERB_OPS, "sendto failed: %s", sock_strerror(errno)); - log_addr(VERB_OPS, "remote address is", + if (!is_connected) { + verbose(VERB_OPS, "sendto failed: %s", sock_strerror(errno)); + } else { + verbose(VERB_OPS, "send failed: %s", sock_strerror(errno)); + } + log_addr(VERB_OPS, "remote address is", (struct sockaddr_storage*)addr, addrlen); return 0; } else if((size_t)sent != sldns_buffer_remaining(packet)) { @@ -754,7 +763,7 @@ comm_point_udp_callback(int fd, short event, void* arg) buffer = rep.c->buffer; #endif (void)comm_point_send_udp_msg(rep.c, buffer, - (struct sockaddr*)&rep.addr, rep.addrlen); + (struct sockaddr*)&rep.addr, rep.addrlen, 0); } if(!rep.c || rep.c->fd != fd) /* commpoint closed to -1 or reused for another UDP port. Note rep.c cannot be reused with TCP fd. */ @@ -3901,7 +3910,7 @@ comm_point_send_reply(struct comm_reply *repinfo) repinfo->addrlen, repinfo); else comm_point_send_udp_msg(repinfo->c, buffer, - (struct sockaddr*)&repinfo->addr, repinfo->addrlen); + (struct sockaddr*)&repinfo->addr, repinfo->addrlen, 0); #ifdef USE_DNSTAP if(repinfo->c->dtenv != NULL && repinfo->c->dtenv->log_client_response_messages) diff --git a/contrib/unbound/util/netevent.h b/contrib/unbound/util/netevent.h index daa954b6492f..4c1d9c15b2f2 100644 --- a/contrib/unbound/util/netevent.h +++ b/contrib/unbound/util/netevent.h @@ -633,10 +633,11 @@ void comm_point_drop_reply(struct comm_reply* repinfo); * @param addr: where to send it to. If NULL, send is performed, * for connected sockets, to the connected address. * @param addrlen: length of addr. + * @param is_connected: if the UDP socket is connect()ed. * @return: false on a failure. */ int comm_point_send_udp_msg(struct comm_point* c, struct sldns_buffer* packet, - struct sockaddr* addr, socklen_t addrlen); + struct sockaddr* addr, socklen_t addrlen,int is_connected); /** * Stop listening for input on the commpoint. No callbacks will happen. From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 11:13:14 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C084E4C014D; Thu, 24 Dec 2020 11:13: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1nVy52VMz3ml3; Thu, 24 Dec 2020 11:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 9FBA079B4; Thu, 24 Dec 2020 11:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BOBDE53065988; Thu, 24 Dec 2020 11:13:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BOBDEs5065987; Thu, 24 Dec 2020 11:13:14 GMT (envelope-from git) Date: Thu, 24 Dec 2020 11:13:14 GMT Message-Id: <202012241113.0BOBDEs5065987@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 7688c099fc21 - MFC r368735: Fix a race in tty_signal_sessleader() with unlocked read of s_leader. 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 7688c099fc21d20fe0cf1bc3097b4a0ce5178753 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 11:13:14 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7688c099fc21d20fe0cf1bc3097b4a0ce5178753 commit 7688c099fc21d20fe0cf1bc3097b4a0ce5178753 Author: Konstantin Belousov AuthorDate: 2020-12-17 19:51:39 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-24 10:56:35 +0000 MFC r368735: Fix a race in tty_signal_sessleader() with unlocked read of s_leader. (cherry picked from commit 551e205f6dfa469f4f32a166ee3fb691201d27a7) --- sys/kern/tty.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 3cd0262d6042..f82c1feca021 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -1462,6 +1462,7 @@ void tty_signal_sessleader(struct tty *tp, int sig) { struct proc *p; + struct session *s; tty_assert_locked(tp); MPASS(sig >= 1 && sig < NSIG); @@ -1469,8 +1470,14 @@ tty_signal_sessleader(struct tty *tp, int sig) /* Make signals start output again. */ tp->t_flags &= ~TF_STOPPED; - if (tp->t_session != NULL && tp->t_session->s_leader != NULL) { - p = tp->t_session->s_leader; + /* + * Load s_leader exactly once to avoid race where s_leader is + * set to NULL by a concurrent invocation of killjobc() by the + * session leader. Note that we are not holding t_session's + * lock for the read. + */ + if ((s = tp->t_session) != NULL && + (p = atomic_load_ptr(&s->s_leader)) != NULL) { PROC_LOCK(p); kern_psignal(p, sig); PROC_UNLOCK(p); From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 11:13:14 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D54444C014F; Thu, 24 Dec 2020 11:13: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1nVy5bxkz3mft; Thu, 24 Dec 2020 11:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 B37787891; Thu, 24 Dec 2020 11:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BOBDEnB066005; Thu, 24 Dec 2020 11:13:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BOBDEQn066004; Thu, 24 Dec 2020 11:13:14 GMT (envelope-from git) Date: Thu, 24 Dec 2020 11:13:14 GMT Message-Id: <202012241113.0BOBDEQn066004@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1b5f91f4ca68 - MFC r357940 (by mjg), r365932 (by jrtc27): Make atomic_load_ptr type-aware atomic_common.h: Fix the volatile qualifier placement in atomic_load_ptr 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 1b5f91f4ca689e3ea1ddbc28d7c4ad9ccc751dbc Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 11:13:14 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1b5f91f4ca689e3ea1ddbc28d7c4ad9ccc751dbc commit 1b5f91f4ca689e3ea1ddbc28d7c4ad9ccc751dbc Author: Konstantin Belousov AuthorDate: 2020-12-24 10:56:16 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-24 10:56:16 +0000 MFC r357940 (by mjg), r365932 (by jrtc27): Make atomic_load_ptr type-aware atomic_common.h: Fix the volatile qualifier placement in atomic_load_ptr (cherry picked from commit 082a6b2a92888cf799c7a0408a78e2d7ad9320bb) (cherry picked from commit 7d54cc9165a3990849b60835c85ddb388905e1b7) --- sys/amd64/amd64/pmap.c | 6 +++--- sys/sys/atomic_common.h | 2 +- sys/x86/x86/mp_x86.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index ed9398f4da83..4a4c50385ca2 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -746,7 +746,7 @@ again: PV_STAT(i = 0); for (p = &pmap_invl_gen_head;; p = prev.next) { PV_STAT(i++); - prevl = atomic_load_ptr(&p->next); + prevl = (uintptr_t)atomic_load_ptr(&p->next); if ((prevl & PMAP_INVL_GEN_NEXT_INVALID) != 0) { PV_STAT(atomic_add_long(&invl_start_restart, 1)); lock_delay(&lda); @@ -853,7 +853,7 @@ pmap_delayed_invl_finish_u(void) again: for (p = &pmap_invl_gen_head; p != NULL; p = (void *)prevl) { - prevl = atomic_load_ptr(&p->next); + prevl = (uintptr_t)atomic_load_ptr(&p->next); if ((prevl & PMAP_INVL_GEN_NEXT_INVALID) != 0) { PV_STAT(atomic_add_long(&invl_finish_restart, 1)); lock_delay(&lda); @@ -904,7 +904,7 @@ DB_SHOW_COMMAND(di_queue, pmap_di_queue) for (p = &pmap_invl_gen_head, first = true; p != NULL; p = pn, first = false) { - nextl = atomic_load_ptr(&p->next); + nextl = (uintptr_t)atomic_load_ptr(&p->next); pn = (void *)(nextl & ~PMAP_INVL_GEN_NEXT_INVALID); td = first ? NULL : __containerof(p, struct thread, td_md.md_invl_gen); diff --git a/sys/sys/atomic_common.h b/sys/sys/atomic_common.h index 9aa30fa24a27..16db4a81eb28 100644 --- a/sys/sys/atomic_common.h +++ b/sys/sys/atomic_common.h @@ -41,7 +41,7 @@ #define atomic_load_short(p) (*(volatile u_short *)(p)) #define atomic_load_int(p) (*(volatile u_int *)(p)) #define atomic_load_long(p) (*(volatile u_long *)(p)) -#define atomic_load_ptr(p) (*(volatile uintptr_t*)(p)) +#define atomic_load_ptr(p) (*(volatile __typeof(*p) *)(p)) #define atomic_load_8(p) (*(volatile uint8_t *)(p)) #define atomic_load_16(p) (*(volatile uint16_t *)(p)) #define atomic_load_32(p) (*(volatile uint32_t *)(p)) diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c index f24e406a52b4..984edb43dd22 100644 --- a/sys/x86/x86/mp_x86.c +++ b/sys/x86/x86/mp_x86.c @@ -1095,7 +1095,7 @@ smp_after_idle_runnable(void *arg __unused) for (cpu = 1; cpu < mp_ncpus; cpu++) { pc = pcpu_find(cpu); - while (atomic_load_ptr(&pc->pc_curpcb) == (uintptr_t)NULL) + while (atomic_load_ptr(&pc->pc_curpcb) == NULL) cpu_spinwait(); kmem_free((vm_offset_t)bootstacks[cpu], kstack_pages * PAGE_SIZE); From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 19:38:11 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 563DD4CE47B; Thu, 24 Dec 2020 19:38:11 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D20jb1tgkz3Cc8; Thu, 24 Dec 2020 19:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 2F7EC160AC; Thu, 24 Dec 2020 19:38:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BOJcBVs007276; Thu, 24 Dec 2020 19:38:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BOJcBKR007275; Thu, 24 Dec 2020 19:38:11 GMT (envelope-from git) Date: Thu, 24 Dec 2020 19:38:11 GMT Message-Id: <202012241938.0BOJcBKR007275@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 99e169aa276b - MFC: 0ebcbcc0efdd (svn r368734: 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 99e169aa276b85d7ecf7698db4a32769dedf68f2 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 19:38:11 -0000 The branch stable/12 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=99e169aa276b85d7ecf7698db4a32769dedf68f2 commit 99e169aa276b85d7ecf7698db4a32769dedf68f2 Author: Cy Schubert AuthorDate: 2020-12-17 19:50:41 +0000 Commit: Cy Schubert CommitDate: 2020-12-24 19:37:37 +0000 MFC: 0ebcbcc0efdd (svn r368734: Update the unbound version number from r368478. Updating the version number is an extra manual step. Pointy hat to: cy Reported by: Herbert J. Skuhra (cherry picked from commit 0ebcbcc0efdd733b11311c840c47cc22f83c7408) --- usr.sbin/unbound/config.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/unbound/config.h b/usr.sbin/unbound/config.h index 931ec624bfe6..00cbae8dd622 100644 --- a/usr.sbin/unbound/config.h +++ b/usr.sbin/unbound/config.h @@ -731,7 +731,7 @@ #define PACKAGE_NAME "unbound" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "unbound 1.12.0" +#define PACKAGE_STRING "unbound 1.13.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "unbound" @@ -740,7 +740,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.12.0" +#define PACKAGE_VERSION "1.13.0" /* default pidfile location */ #define PIDFILE "/var/unbound/unbound.pid" @@ -762,7 +762,7 @@ #define ROOT_CERT_FILE "/var/unbound/icannbundle.pem" /* version number for resource files */ -#define RSRC_PACKAGE_VERSION 1,12,0,0 +#define RSRC_PACKAGE_VERSION 1,13,0,0 /* Directory to chdir to */ #define RUN_DIR "/var/unbound" From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 19:39:14 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5C9C04CEAB9; Thu, 24 Dec 2020 19:39: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D20kp28Fpz3Cd6; Thu, 24 Dec 2020 19:39:14 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 3C981160AD; Thu, 24 Dec 2020 19:39:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BOJdEfW007372; Thu, 24 Dec 2020 19:39:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BOJdE6d007371; Thu, 24 Dec 2020 19:39:14 GMT (envelope-from git) Date: Thu, 24 Dec 2020 19:39:14 GMT Message-Id: <202012241939.0BOJdE6d007371@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 75cf00c726f1 - MFC: 0ebcbcc0efdd (svn r368734: 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/stable/11 X-Git-Reftype: branch X-Git-Commit: 75cf00c726f1788c39fe2fc2a62959352e613db9 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 19:39:14 -0000 The branch stable/11 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=75cf00c726f1788c39fe2fc2a62959352e613db9 commit 75cf00c726f1788c39fe2fc2a62959352e613db9 Author: Cy Schubert AuthorDate: 2020-12-17 19:50:41 +0000 Commit: Cy Schubert CommitDate: 2020-12-24 19:35:59 +0000 MFC: 0ebcbcc0efdd (svn r368734: Update the unbound version number from r368478. Updating the version number is an extra manual step. Pointy hat to: cy Reported by: Herbert J. Skuhra (cherry picked from commit 0ebcbcc0efdd733b11311c840c47cc22f83c7408) --- usr.sbin/unbound/config.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/unbound/config.h b/usr.sbin/unbound/config.h index 350d0670cb68..156323ad54ec 100644 --- a/usr.sbin/unbound/config.h +++ b/usr.sbin/unbound/config.h @@ -731,7 +731,7 @@ #define PACKAGE_NAME "unbound" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "unbound 1.12.0" +#define PACKAGE_STRING "unbound 1.13.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "unbound" @@ -740,7 +740,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.12.0" +#define PACKAGE_VERSION "1.13.0" /* default pidfile location */ #define PIDFILE "/var/unbound/unbound.pid" @@ -762,7 +762,7 @@ #define ROOT_CERT_FILE "/var/unbound/icannbundle.pem" /* version number for resource files */ -#define RSRC_PACKAGE_VERSION 1,12,0,0 +#define RSRC_PACKAGE_VERSION 1,13,0,0 /* Directory to chdir to */ #define RUN_DIR "/var/unbound" From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 23:34:18 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4AD584D53F7; Thu, 24 Dec 2020 23:34:18 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D25y21f56z3jvl; Thu, 24 Dec 2020 23:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 2B68D191C7; Thu, 24 Dec 2020 23:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BONYIMV065619; Thu, 24 Dec 2020 23:34:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BONYIE8065618; Thu, 24 Dec 2020 23:34:18 GMT (envelope-from git) Date: Thu, 24 Dec 2020 23:34:18 GMT Message-Id: <202012242334.0BONYIE8065618@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Yuri Pankov Subject: git: 708c0a585e9b - xargs: compile yesexpr as ERE MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 708c0a585e9b60276ec8c81a04805898c7a0da4f Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 23:34:18 -0000 The branch stable/12 has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=708c0a585e9b60276ec8c81a04805898c7a0da4f commit 708c0a585e9b60276ec8c81a04805898c7a0da4f Author: Yuri Pankov AuthorDate: 2020-12-12 15:38:32 +0000 Commit: Yuri Pankov CommitDate: 2020-12-24 23:33:18 +0000 xargs: compile yesexpr as ERE yesexpr is an extended regular expression for quite some time now, use appropriate flag when compiling it. PR: 238762 (cherry picked from commit 0d2dcf2166f77fab2af39d9e89bff157ffc0ca5b) --- usr.bin/xargs/xargs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/xargs/xargs.c b/usr.bin/xargs/xargs.c index e69314e58fa3..2825a26f4dfa 100644 --- a/usr.bin/xargs/xargs.c +++ b/usr.bin/xargs/xargs.c @@ -782,7 +782,7 @@ prompt(void) (void)fprintf(stderr, "?..."); (void)fflush(stderr); if ((response = fgetln(ttyfp, &rsize)) == NULL || - regcomp(&cre, nl_langinfo(YESEXPR), REG_BASIC) != 0) { + regcomp(&cre, nl_langinfo(YESEXPR), REG_EXTENDED) != 0) { (void)fclose(ttyfp); return (0); } From owner-dev-commits-src-branches@freebsd.org Thu Dec 24 23:43:29 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 76B824D5A20; Thu, 24 Dec 2020 23:43: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D268d2s1pz3kdV; Thu, 24 Dec 2020 23:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 54F74192A1; Thu, 24 Dec 2020 23:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BONhTcn076358; Thu, 24 Dec 2020 23:43:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BONhT59076357; Thu, 24 Dec 2020 23:43:29 GMT (envelope-from git) Date: Thu, 24 Dec 2020 23:43:29 GMT Message-Id: <202012242343.0BONhT59076357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Yuri Pankov Subject: git: 73655764e5fb - nl_langinfo(3): document recognized item names MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 73655764e5fb330e513a9057f1cfe5477c749c87 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Dec 2020 23:43:29 -0000 The branch stable/12 has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=73655764e5fb330e513a9057f1cfe5477c749c87 commit 73655764e5fb330e513a9057f1cfe5477c749c87 Author: Yuri Pankov AuthorDate: 2020-12-17 02:33:52 +0000 Commit: Yuri Pankov CommitDate: 2020-12-24 23:42:03 +0000 nl_langinfo(3): document recognized item names While here, remove .Tn macro usage (prompted by mandoc lint). PR: 251468 (cherry picked from commit 3cd6e2390cae6395f0a873612818cb7ee4a1749e) --- lib/libc/locale/nl_langinfo.3 | 102 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 94 insertions(+), 8 deletions(-) diff --git a/lib/libc/locale/nl_langinfo.3 b/lib/libc/locale/nl_langinfo.3 index d8c01b2f135f..73cba4c18084 100644 --- a/lib/libc/locale/nl_langinfo.3 +++ b/lib/libc/locale/nl_langinfo.3 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 30, 2012 +.Dd December 14, 2020 .Dt NL_LANGINFO 3 .Os .Sh NAME @@ -46,10 +46,6 @@ the particular language or cultural area defined in the program or thread's locale, or in the case of .Fn nl_langinfo_l , the locale passed as the second argument. -The manifest constant names and values of -.Fa item -are defined in -.In langinfo.h . .Pp Calls to .Fn setlocale @@ -59,12 +55,102 @@ or to the category .Dv LC_ALL , may overwrite the buffer pointed to by the return value. +.Pp +The manifest constant names and values of +.Fa item +are defined in +.In langinfo.h . +.Pp +The following standard constants are recognized: +.Bl -column "Constant" "Category" +.It Sy Constant Ta Sy Category Ta Sy Description +.It Dv CODESET Ta Dv LC_CTYPE Ta codeset name +.It Dv D_T_FMT Ta Dv LC_TIME Ta string for formatting date and time +.It Dv D_FMT Ta Dv LC_TIME Ta date format string +.It Dv T_FMT Ta Dv LC_TIME Ta time format string +.It Dv T_FMT_AMPM Ta Dv LC_TIME Ta a.m. or p.m. time format string +.It Dv AM_STR Ta Dv LC_TIME Ta ante-meridiem affix +.It Dv PM_STR Ta Dv LC_TIME Ta post-meridiem affix +.It Dv DAY_1 Ta Dv LC_TIME Ta name of the first day of the week +.It Dv DAY_2 Ta Dv LC_TIME Ta name of the second day of the week +.It Dv DAY_3 Ta Dv LC_TIME Ta name of the third day of the week +.It Dv DAY_4 Ta Dv LC_TIME Ta name of the fourth day of the week +.It Dv DAY_5 Ta Dv LC_TIME Ta name of the fifth day of the week +.It Dv DAY_6 Ta Dv LC_TIME Ta name of the sixth day of the week +.It Dv DAY_7 Ta Dv LC_TIME Ta name of the seventh day of the week +.It Dv ABDAY_1 Ta Dv LC_TIME Ta abbreviated name of the first day of the week +.It Dv ABDAY_2 Ta Dv LC_TIME Ta abbreviated name of the second day of the week +.It Dv ABDAY_3 Ta Dv LC_TIME Ta abbreviated name of the third day of the week +.It Dv ABDAY_4 Ta Dv LC_TIME Ta abbreviated name of the fourth day of the week +.It Dv ABDAY_5 Ta Dv LC_TIME Ta abbreviated name of the fifth day of the week +.It Dv ABDAY_6 Ta Dv LC_TIME Ta abbreviated name of the sixth day of the week +.It Dv ABDAY_7 Ta Dv LC_TIME Ta abbreviated name of the seventh day of the week +.It Dv MON_1 Ta Dv LC_TIME Ta name of the first month of the year +.It Dv MON_2 Ta Dv LC_TIME Ta name of the second month +.It Dv MON_3 Ta Dv LC_TIME Ta name of the third month +.It Dv MON_4 Ta Dv LC_TIME Ta name of the fourth month +.It Dv MON_5 Ta Dv LC_TIME Ta name of the fifth month +.It Dv MON_6 Ta Dv LC_TIME Ta name of the sixth month +.It Dv MON_7 Ta Dv LC_TIME Ta name of the seventh month +.It Dv MON_8 Ta Dv LC_TIME Ta name of the eighth month +.It Dv MON_9 Ta Dv LC_TIME Ta name of the ninth month +.It Dv MON_10 Ta Dv LC_TIME Ta name of the tenth month +.It Dv MON_11 Ta Dv LC_TIME Ta name of the eleventh month +.It Dv MON_12 Ta Dv LC_TIME Ta name of the twelfth month +.It Dv ABMON_1 Ta Dv LC_TIME Ta abbreviated name of the first month +.It Dv ABMON_2 Ta Dv LC_TIME Ta abbreviated name of the second month +.It Dv ABMON_3 Ta Dv LC_TIME Ta abbreviated name of the third month +.It Dv ABMON_4 Ta Dv LC_TIME Ta abbreviated name of the fourth month +.It Dv ABMON_5 Ta Dv LC_TIME Ta abbreviated name of the fifth month +.It Dv ABMON_6 Ta Dv LC_TIME Ta abbreviated name of the sixth month +.It Dv ABMON_7 Ta Dv LC_TIME Ta abbreviated name of the seventh month +.It Dv ABMON_8 Ta Dv LC_TIME Ta abbreviated name of the eighth month +.It Dv ABMON_9 Ta Dv LC_TIME Ta abbreviated name of the ninth month +.It Dv ABMON_10 Ta Dv LC_TIME Ta abbreviated name of the tenth month +.It Dv ABMON_11 Ta Dv LC_TIME Ta abbreviated name of the eleventh month +.It Dv ABMON_12 Ta Dv LC_TIME Ta abbreviated name of the twelfth month +.It Dv ERA Ta Dv LC_TIME Ta era description segments +.It Dv ERA_D_FMT Ta Dv LC_TIME Ta era date format string +.It Dv ERA_D_T_FMT Ta Dv LC_TIME Ta era date and time format string +.It Dv ERA_T_FMT Ta Dv LC_TIME Ta era time format string +.It Dv ALT_DIGITS Ta Dv LC_TIME Ta alternative symbols for digits +.It Dv RADIXCHAR Ta Dv LC_NUMERIC Ta radix character +.It Dv THOUSEP Ta Dv LC_NUMERIC Ta separator for thousands +.It Dv YESEXPR Ta Dv LC_MESSAGES Ta affirmative response extended regular +expression +.It Dv NOEXPR Ta Dv LC_MESSAGES Ta negative response extended regular expression +.It Dv CRNCYSTR Ta Dv LC_MONETARY Ta local currency symbol, preceded by '-' if the +symbol should appear before the value, '+' if the symbol should appear after the +value, or '.' if the symbol should replace the radix character; if the local +currency symbol is the empty string, implementations may return the empty string +.Pq Qq +.El +.Pp +The following non-standard +.Fx +extensions are recognized: +.Bl -column "Constant" "Category" +.It Sy Constant Ta Sy Category Ta Sy Description +.It Dv D_MD_ORDER Ta Dv LC_TIME Ta month/day order +.It Dv ALTMON_1 Ta Dv LC_TIME Ta standalone name of the first month +.It Dv ALTMON_2 Ta Dv LC_TIME Ta standalone name of the second month +.It Dv ALTMON_3 Ta Dv LC_TIME Ta standalone name of the third month +.It Dv ALTMON_4 Ta Dv LC_TIME Ta standalone name of the fourth month +.It Dv ALTMON_5 Ta Dv LC_TIME Ta standalone name of the fifth month +.It Dv ALTMON_6 Ta Dv LC_TIME Ta standalone name of the sixth month +.It Dv ALTMON_7 Ta Dv LC_TIME Ta standalone name of the seventh month +.It Dv ALTMON_8 Ta Dv LC_TIME Ta standalone name of the eighth month +.It Dv ALTMON_9 Ta Dv LC_TIME Ta standalone name of the ninth month +.It Dv ALTMON_10 Ta Dv LC_TIME Ta standalone name of the tenth month +.It Dv ALTMON_11 Ta Dv LC_TIME Ta standalone name of the eleventh month +.It Dv ALTMON_12 Ta Dv LC_TIME Ta standalone name of the twelfth month +.It Dv YESSTR Ta Dv LC_MESSAGES Ta affirmative response string +.It Dv NOSTR Ta Dv LC_MESSAGES Ta negative response string +.El .Sh RETURN VALUES In a locale where langinfo data is not defined, .Fn nl_langinfo -returns a pointer to the corresponding string in the -.Tn POSIX -locale. +returns a pointer to the corresponding string in the POSIX locale. .Fn nl_langinfo_l returns the same values as .Fn nl_langinfo . From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 13:47:38 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9F9E64C1FF4; Fri, 25 Dec 2020 13:47: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2Stf2nBqz3FHW; Fri, 25 Dec 2020 13:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 4E12C23B96; Fri, 25 Dec 2020 13:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPDlcbp082271; Fri, 25 Dec 2020 13:47:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPDlcE4082270; Fri, 25 Dec 2020 13:47:38 GMT (envelope-from git) Date: Fri, 25 Dec 2020 13:47:38 GMT Message-Id: <202012251347.0BPDlcE4082270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 88a502a77b8f - MFC r368749: pci_iov: When pci_iov_detach(9) is called, destroy VF children instead of bailing out with EBUSY if there are any. 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 88a502a77b8fb48475e02205153c15580c98fc9e Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 13:47:38 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=88a502a77b8fb48475e02205153c15580c98fc9e commit 88a502a77b8fb48475e02205153c15580c98fc9e Author: Konstantin Belousov AuthorDate: 2020-12-18 03:46:50 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-25 13:22:37 +0000 MFC r368749: pci_iov: When pci_iov_detach(9) is called, destroy VF children instead of bailing out with EBUSY if there are any. (cherry picked from commit 94f5c1cc7186ae555b962d2450cc17e06fd4fda0) --- sys/dev/pci/pci_iov.c | 53 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/sys/dev/pci/pci_iov.c b/sys/dev/pci/pci_iov.c index db8a035f21aa..1173ed15addc 100644 --- a/sys/dev/pci/pci_iov.c +++ b/sys/dev/pci/pci_iov.c @@ -94,6 +94,7 @@ static void pci_iov_build_pf_schema(nvlist_t *schema, nvlist_t **driver_schema); static void pci_iov_build_vf_schema(nvlist_t *schema, nvlist_t **driver_schema); +static int pci_iov_delete_iov_children(struct pci_devinfo *dinfo); static nvlist_t *pci_iov_get_pf_subsystem_schema(void); static nvlist_t *pci_iov_get_vf_subsystem_schema(void); @@ -190,6 +191,7 @@ pci_iov_detach_method(device_t bus, device_t dev) { struct pci_devinfo *dinfo; struct pcicfg_iov *iov; + int error; mtx_lock(&Giant); dinfo = device_get_ivars(dev); @@ -200,11 +202,17 @@ pci_iov_detach_method(device_t bus, device_t dev) return (0); } - if (iov->iov_num_vfs != 0 || iov->iov_flags & IOV_BUSY) { + if ((iov->iov_flags & IOV_BUSY) != 0) { mtx_unlock(&Giant); return (EBUSY); } + error = pci_iov_delete_iov_children(dinfo); + if (error != 0) { + mtx_unlock(&Giant); + return (error); + } + dinfo->cfg.iov = NULL; if (iov->iov_cdev) { @@ -822,31 +830,20 @@ pci_iov_is_child_vf(struct pcicfg_iov *pf, device_t child) } static int -pci_iov_delete(struct cdev *cdev) +pci_iov_delete_iov_children(struct pci_devinfo *dinfo) { device_t bus, dev, vf, *devlist; - struct pci_devinfo *dinfo; struct pcicfg_iov *iov; int i, error, devcount; uint32_t iov_ctl; - mtx_lock(&Giant); - dinfo = cdev->si_drv1; + mtx_assert(&Giant, MA_OWNED); + iov = dinfo->cfg.iov; dev = dinfo->cfg.dev; bus = device_get_parent(dev); devlist = NULL; - if (iov->iov_flags & IOV_BUSY) { - mtx_unlock(&Giant); - return (EBUSY); - } - - if (iov->iov_num_vfs == 0) { - mtx_unlock(&Giant); - return (ECHILD); - } - iov->iov_flags |= IOV_BUSY; error = device_get_children(bus, &devlist, &devcount); @@ -904,6 +901,32 @@ pci_iov_delete(struct cdev *cdev) out: free(devlist, M_TEMP); iov->iov_flags &= ~IOV_BUSY; + return (error); +} + +static int +pci_iov_delete(struct cdev *cdev) +{ + struct pci_devinfo *dinfo; + struct pcicfg_iov *iov; + int error; + + mtx_lock(&Giant); + dinfo = cdev->si_drv1; + iov = dinfo->cfg.iov; + + if ((iov->iov_flags & IOV_BUSY) != 0) { + error = EBUSY; + goto out; + } + if (iov->iov_num_vfs == 0) { + error = ECHILD; + goto out; + } + + error = pci_iov_delete_iov_children(dinfo); + +out: mtx_unlock(&Giant); return (error); } From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 13:47:38 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A26AC4C22A9; Fri, 25 Dec 2020 13:47: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2Stf2Ndyz3FF6; Fri, 25 Dec 2020 13:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 3574F23A3C; Fri, 25 Dec 2020 13:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPDlcNW082237; Fri, 25 Dec 2020 13:47:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPDlc8U082236; Fri, 25 Dec 2020 13:47:38 GMT (envelope-from git) Date: Fri, 25 Dec 2020 13:47:38 GMT Message-Id: <202012251347.0BPDlc8U082236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: ed52452d6e52 - MFC r368772: Add ELF flag to disable ASLR stack gap. 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/stable/12 X-Git-Reftype: branch X-Git-Commit: ed52452d6e52a37409c15b13c0efca8d0b28c44e Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 13:47:38 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ed52452d6e52a37409c15b13c0efca8d0b28c44e commit ed52452d6e52a37409c15b13c0efca8d0b28c44e Author: Konstantin Belousov AuthorDate: 2020-12-18 23:14:39 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-25 13:44:33 +0000 MFC r368772: Add ELF flag to disable ASLR stack gap. PR: 239873 (cherry picked from commit 673e2dd652156342009930cf1f7d15623e4a543a) --- sys/compat/freebsd32/freebsd32_misc.c | 3 +-- sys/kern/imgact_elf.c | 2 -- sys/kern/kern_exec.c | 14 ++++++++++++-- sys/sys/elf_common.h | 1 + sys/sys/imgact.h | 1 + usr.bin/elfctl/elfctl.c | 1 + 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 76054c8046a0..6c9ede34c1dc 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -3224,9 +3224,8 @@ freebsd32_copyout_strings(struct image_params *imgp) destp -= ARG_MAX - imgp->args->stringspace; destp = rounddown2(destp, sizeof(uint32_t)); + exec_stackgap(imgp, &destp); vectp = (uint32_t *)destp; - if (imgp->sysent->sv_stackgap != NULL) - imgp->sysent->sv_stackgap(imgp, (u_long *)&vectp); if (imgp->auxargs) { /* diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index b1828591fc33..e436c34d1d1b 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -2757,8 +2757,6 @@ __elfN(stackgap)(struct image_params *imgp, u_long *stack_base) u_long range, rbase, gap; int pct; - if ((imgp->map_flags & MAP_ASLR) == 0) - return; pct = __elfN(aslr_stack_gap); if (pct == 0) return; diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index cd6c231479bb..812d5e827093 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1497,6 +1497,17 @@ exec_free_args(struct image_args *args) fdescfree_remapped(args->fdp); } +void +exec_stackgap(struct image_params *imgp, uintptr_t *dp) +{ + if (imgp->sysent->sv_stackgap == NULL || + (imgp->proc->p_fctl0 & (NT_FREEBSD_FCTL_ASLR_DISABLE | + NT_FREEBSD_FCTL_ASG_DISABLE)) != 0 || + (imgp->map_flags & MAP_ASLR) == 0) + return; + imgp->sysent->sv_stackgap(imgp, dp); +} + /* * Copy strings out to the new process address space, constructing new arg * and env vector tables. Return a pointer to the base so that it can be used @@ -1574,9 +1585,8 @@ exec_copyout_strings(struct image_params *imgp) destp -= ARG_MAX - imgp->args->stringspace; destp = rounddown2(destp, sizeof(void *)); + exec_stackgap(imgp, &destp); vectp = (char **)destp; - if (imgp->sysent->sv_stackgap != NULL) - imgp->sysent->sv_stackgap(imgp, (u_long *)&vectp); if (imgp->auxargs) { /* diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index b31ee6db7179..c469557a96e1 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -791,6 +791,7 @@ typedef struct { #define NT_FREEBSD_FCTL_STKGAP_DISABLE 0x00000004 #define NT_FREEBSD_FCTL_WXNEEDED 0x00000008 #define NT_FREEBSD_FCTL_LA48 0x00000010 +#define NT_FREEBSD_FCTL_ASG_DISABLE 0x00000020 /* ASLR STACK GAP Disable */ /* Values for n_type. Used in core files. */ #define NT_PRSTATUS 1 /* Process status. */ diff --git a/sys/sys/imgact.h b/sys/sys/imgact.h index a89907e7b60d..44bf8a1359c9 100644 --- a/sys/sys/imgact.h +++ b/sys/sys/imgact.h @@ -110,6 +110,7 @@ int exec_copyin_args(struct image_args *, char *, enum uio_seg, char **, char **); int exec_copyin_data_fds(struct thread *, struct image_args *, const void *, size_t, const int *, size_t); +void exec_stackgap(struct image_params *imgp, uintptr_t *dp); int pre_execve(struct thread *td, struct vmspace **oldvmspace); void post_execve(struct thread *td, int error, struct vmspace *oldvmspace); #endif diff --git a/usr.bin/elfctl/elfctl.c b/usr.bin/elfctl/elfctl.c index ccc1c85007ce..d18d828e151c 100644 --- a/usr.bin/elfctl/elfctl.c +++ b/usr.bin/elfctl/elfctl.c @@ -70,6 +70,7 @@ static struct ControlFeatures featurelist[] = { #ifdef NT_FREEBSD_FCTL_LA48 { "la48", NT_FREEBSD_FCTL_LA48, "amd64: Limit user VA to 48bit" }, #endif + { "aslrstkgap", NT_FREEBSD_FCTL_ASG_DISABLE, "Disable ASLR stack gap" }, }; static struct option long_opts[] = { From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 13:47:38 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A006D4C2152; Fri, 25 Dec 2020 13:47: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2Stf2SyYz3FF7; Fri, 25 Dec 2020 13:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 4249B23B95; Fri, 25 Dec 2020 13:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPDlc99082254; Fri, 25 Dec 2020 13:47:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPDlcQg082253; Fri, 25 Dec 2020 13:47:38 GMT (envelope-from git) Date: Fri, 25 Dec 2020 13:47:38 GMT Message-Id: <202012251347.0BPDlcQg082253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 80a8c57e58ba - MFC r368771: proc.h: Reformat P_ and P2_ definitions. 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 80a8c57e58ba09416f28e342c9d7757ede50a8f8 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 13:47:38 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=80a8c57e58ba09416f28e342c9d7757ede50a8f8 commit 80a8c57e58ba09416f28e342c9d7757ede50a8f8 Author: Konstantin Belousov AuthorDate: 2020-12-18 23:11:27 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-25 13:28:57 +0000 MFC r368771: proc.h: Reformat P_ and P2_ definitions. (cherry picked from commit c5354d593df9a5b97b6c4b1d9999915d93c8e103) --- sys/sys/proc.h | 105 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 62 insertions(+), 43 deletions(-) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 10cf8b8bce4b..2c3227be7460 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -719,55 +719,74 @@ struct proc { #define PROC_PROFLOCK_ASSERT(p, type) mtx_assert(&(p)->p_profmtx, (type)) /* These flags are kept in p_flag. */ -#define P_ADVLOCK 0x00001 /* Process may hold a POSIX advisory lock. */ -#define P_CONTROLT 0x00002 /* Has a controlling terminal. */ -#define P_KPROC 0x00004 /* Kernel process. */ -#define P_UNUSED3 0x00008 /* --available-- */ -#define P_PPWAIT 0x00010 /* Parent is waiting for child to exec/exit. */ -#define P_PROFIL 0x00020 /* Has started profiling. */ -#define P_STOPPROF 0x00040 /* Has thread requesting to stop profiling. */ -#define P_HADTHREADS 0x00080 /* Has had threads (no cleanup shortcuts) */ -#define P_SUGID 0x00100 /* Had set id privileges since last exec. */ -#define P_SYSTEM 0x00200 /* System proc: no sigs, stats or swapping. */ -#define P_SINGLE_EXIT 0x00400 /* Threads suspending should exit, not wait. */ -#define P_TRACED 0x00800 /* Debugged process being traced. */ -#define P_WAITED 0x01000 /* Someone is waiting for us. */ -#define P_WEXIT 0x02000 /* Working on exiting. */ -#define P_EXEC 0x04000 /* Process called exec. */ -#define P_WKILLED 0x08000 /* Killed, go to kernel/user boundary ASAP. */ -#define P_CONTINUED 0x10000 /* Proc has continued from a stopped state. */ -#define P_STOPPED_SIG 0x20000 /* Stopped due to SIGSTOP/SIGTSTP. */ -#define P_STOPPED_TRACE 0x40000 /* Stopped because of tracing. */ -#define P_STOPPED_SINGLE 0x80000 /* Only 1 thread can continue (not to user). */ -#define P_PROTECTED 0x100000 /* Do not kill on memory overcommit. */ -#define P_SIGEVENT 0x200000 /* Process pending signals changed. */ -#define P_SINGLE_BOUNDARY 0x400000 /* Threads should suspend at user boundary. */ -#define P_HWPMC 0x800000 /* Process is using HWPMCs */ -#define P_JAILED 0x1000000 /* Process is in jail. */ -#define P_TOTAL_STOP 0x2000000 /* Stopped in stop_all_proc. */ -#define P_INEXEC 0x4000000 /* Process is in execve(). */ -#define P_STATCHILD 0x8000000 /* Child process stopped or exited. */ -#define P_INMEM 0x10000000 /* Loaded into memory. */ -#define P_SWAPPINGOUT 0x20000000 /* Process is being swapped out. */ -#define P_SWAPPINGIN 0x40000000 /* Process is being swapped in. */ -#define P_PPTRACE 0x80000000 /* PT_TRACEME by vforked child. */ +#define P_ADVLOCK 0x00000001 /* Process may hold a POSIX advisory + lock. */ +#define P_CONTROLT 0x00000002 /* Has a controlling terminal. */ +#define P_KPROC 0x00000004 /* Kernel process. */ +#define P_UNUSED3 0x00000008 /* --available-- */ +#define P_PPWAIT 0x00000010 /* Parent is waiting for child to + exec/exit. */ +#define P_PROFIL 0x00000020 /* Has started profiling. */ +#define P_STOPPROF 0x00000040 /* Has thread requesting to stop + profiling. */ +#define P_HADTHREADS 0x00000080 /* Has had threads (no cleanup + shortcuts) */ +#define P_SUGID 0x00000100 /* Had set id privileges since last + exec. */ +#define P_SYSTEM 0x00000200 /* System proc: no sigs, stats or + swapping. */ +#define P_SINGLE_EXIT 0x00000400 /* Threads suspending should exit, + not wait. */ +#define P_TRACED 0x00000800 /* Debugged process being traced. */ +#define P_WAITED 0x00001000 /* Someone is waiting for us. */ +#define P_WEXIT 0x00002000 /* Working on exiting. */ +#define P_EXEC 0x00004000 /* Process called exec. */ +#define P_WKILLED 0x00008000 /* Killed, go to kernel/user boundary + ASAP. */ +#define P_CONTINUED 0x00010000 /* Proc has continued from a stopped + state. */ +#define P_STOPPED_SIG 0x00020000 /* Stopped due to SIGSTOP/SIGTSTP. */ +#define P_STOPPED_TRACE 0x00040000 /* Stopped because of tracing. */ +#define P_STOPPED_SINGLE 0x00080000 /* Only 1 thread can continue (not to + user). */ +#define P_PROTECTED 0x00100000 /* Do not kill on memory overcommit. */ +#define P_SIGEVENT 0x00200000 /* Process pending signals changed. */ +#define P_SINGLE_BOUNDARY 0x00400000 /* Threads should suspend at user + boundary. */ +#define P_HWPMC 0x00800000 /* Process is using HWPMCs */ +#define P_JAILED 0x01000000 /* Process is in jail. */ +#define P_TOTAL_STOP 0x02000000 /* Stopped in stop_all_proc. */ +#define P_INEXEC 0x04000000 /* Process is in execve(). */ +#define P_STATCHILD 0x08000000 /* Child process stopped or exited. */ +#define P_INMEM 0x10000000 /* Loaded into memory. */ +#define P_SWAPPINGOUT 0x20000000 /* Process is being swapped out. */ +#define P_SWAPPINGIN 0x40000000 /* Process is being swapped in. */ +#define P_PPTRACE 0x80000000 /* PT_TRACEME by vforked child. */ #define P_STOPPED (P_STOPPED_SIG|P_STOPPED_SINGLE|P_STOPPED_TRACE) #define P_SHOULDSTOP(p) ((p)->p_flag & P_STOPPED) #define P_KILLED(p) ((p)->p_flag & P_WKILLED) /* These flags are kept in p_flag2. */ -#define P2_INHERIT_PROTECTED 0x00000001 /* New children get P_PROTECTED. */ -#define P2_NOTRACE 0x00000002 /* No ptrace(2) attach or coredumps. */ -#define P2_NOTRACE_EXEC 0x00000004 /* Keep P2_NOPTRACE on exec(2). */ -#define P2_AST_SU 0x00000008 /* Handles SU ast for kthreads. */ -#define P2_PTRACE_FSTP 0x00000010 /* SIGSTOP from PT_ATTACH not yet handled. */ -#define P2_TRAPCAP 0x00000020 /* SIGTRAP on ENOTCAPABLE */ -#define P2_ASLR_ENABLE 0x00000040 /* Force enable ASLR. */ -#define P2_ASLR_DISABLE 0x00000080 /* Force disable ASLR. */ -#define P2_ASLR_IGNSTART 0x00000100 /* Enable ASLR to consume sbrk area. */ -#define P2_STKGAP_DISABLE 0x00000800 /* Disable stack gap for MAP_STACK */ -#define P2_STKGAP_DISABLE_EXEC 0x00001000 /* Stack gap disabled after exec */ +#define P2_INHERIT_PROTECTED 0x00000001 /* New children get + P_PROTECTED. */ +#define P2_NOTRACE 0x00000002 /* No ptrace(2) attach or + coredumps. */ +#define P2_NOTRACE_EXEC 0x00000004 /* Keep P2_NOPTRACE on + exec(2). */ +#define P2_AST_SU 0x00000008 /* Handles SU ast for + kthreads. */ +#define P2_PTRACE_FSTP 0x00000010 /* SIGSTOP from PT_ATTACH not + yet handled. */ +#define P2_TRAPCAP 0x00000020 /* SIGTRAP on ENOTCAPABLE */ +#define P2_ASLR_ENABLE 0x00000040 /* Force enable ASLR. */ +#define P2_ASLR_DISABLE 0x00000080 /* Force disable ASLR. */ +#define P2_ASLR_IGNSTART 0x00000100 /* Enable ASLR to consume sbrk + area. */ +#define P2_STKGAP_DISABLE 0x00000800 /* Disable stack gap for + MAP_STACK */ +#define P2_STKGAP_DISABLE_EXEC 0x00001000 /* Stack gap disabled + after exec */ /* Flags protected by proctree_lock, kept in p_treeflags. */ #define P_TREE_ORPHANED 0x00000001 /* Reparented, on orphan list */ From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 15:23:50 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 33B8D4C4903; Fri, 25 Dec 2020 15:23: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2W1f0wQwz3LtN; Fri, 25 Dec 2020 15:23:50 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 1223824B51; Fri, 25 Dec 2020 15:23:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPFNoPH096869; Fri, 25 Dec 2020 15:23:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPFNoxb096868; Fri, 25 Dec 2020 15:23:50 GMT (envelope-from git) Date: Fri, 25 Dec 2020 15:23:50 GMT Message-Id: <202012251523.0BPFNoxb096868@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 1a8f8af03320 - MFC: contrib/tzdata: import tzdata 2020e MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 1a8f8af03320165b33526d44de4f12360aa5440a Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 15:23:50 -0000 The branch stable/12 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=1a8f8af03320165b33526d44de4f12360aa5440a commit 1a8f8af03320165b33526d44de4f12360aa5440a Author: Philip Paeps AuthorDate: 2020-12-25 15:16:38 +0000 Commit: Philip Paeps CommitDate: 2020-12-25 15:23:23 +0000 MFC: contrib/tzdata: import tzdata 2020e Changes: https://github.com/eggert/tz/blob/2020e/NEWS (cherry picked from commit dc505d53dcc15636aea9df8c03298f8c32147fa9) --- contrib/tzdata/Makefile | 57 ++++++--- contrib/tzdata/NEWS | 46 +++++++ contrib/tzdata/africa | 236 ++++++++++++++++++++++++++++++----- contrib/tzdata/asia | 274 +++++++++++++++++++++++++++++++---------- contrib/tzdata/australasia | 106 ++++++++++++---- contrib/tzdata/backward | 1 + contrib/tzdata/backzone | 6 + contrib/tzdata/etcetera | 11 +- contrib/tzdata/europe | 16 ++- contrib/tzdata/leapseconds | 4 + contrib/tzdata/leapseconds.awk | 4 + contrib/tzdata/northamerica | 202 ++++++++++++++++++++++++++++-- contrib/tzdata/theory.html | 5 +- contrib/tzdata/version | 2 +- contrib/tzdata/zone.tab | 9 +- contrib/tzdata/zone1970.tab | 9 +- 16 files changed, 816 insertions(+), 172 deletions(-) diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index 40b81d18b0d5..5064a190c5a5 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -583,11 +583,19 @@ INSTALL: ALL install date.1 cp date '$(DESTDIR)$(BINDIR)/.' cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.' +# Calculate version number from git, if available. +# Otherwise, use $(VERSION) unless it is "unknown" and there is already +# a 'version' file, in which case reuse the existing 'version' contents +# and append "-dirty" if the contents do not already end in "-dirty". version: $(VERSION_DEPS) { (type git) >/dev/null 2>&1 && \ V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ --abbrev=7 --dirty` || \ - V='$(VERSION)'; } && \ + if test '$(VERSION)' = unknown && V=`cat $@`; then \ + case $$V in *-dirty);; *) V=$$V-dirty;; esac; \ + else \ + V='$(VERSION)'; \ + fi; } && \ printf '%s\n' "$$V" >$@.out mv $@.out $@ @@ -872,11 +880,34 @@ $(MANTXTS): workman.sh LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out mv $@.out $@ +# Set file timestamps deterministically if possible, +# so that tarballs containing the timestamps are reproducible. +# +# '$(SET_TIMESTAMP_N) N DEST A B C ...' sets the timestamp of the +# file DEST to the maximum of the timestamps of the files A B C ..., +# plus N if GNU ls and touch are available. +SET_TIMESTAMP_N = sh -c '\ + n=$$0 dest=$$1; shift; \ + touch -cmr `ls -t "$$@" | sed 1q` "$$dest" && \ + if test $$n != 0 && \ + lsout=`ls -n --time-style="+%s" "$$dest" 2>/dev/null`; then \ + set x $$lsout && \ + touch -cmd @`expr $$7 + $$n` "$$dest"; \ + else :; fi' +# If DEST depends on A B C ... in this Makefile, callers should use +# $(SET_TIMESTAMP_DEP) DEST A B C ..., for the benefit of any +# downstream 'make' that considers equal timestamps to be out of date. +# POSIX allows this 'make' behavior, and HP-UX 'make' does it. +# If all that matters is that the timestamp be reproducible +# and plausible, use $(SET_TIMESTAMP). +SET_TIMESTAMP = $(SET_TIMESTAMP_N) 0 +SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1 + # Set the timestamps to those of the git repository, if available, # and if the files have not changed since then. -# This uses GNU 'touch' syntax 'touch -d@N FILE', -# where N is the number of seconds since 1970. -# If git or GNU 'touch' is absent, don't bother to sync with git timestamps. +# This uses GNU 'ls --time-style=+%s', which outputs the seconds count, +# and GNU 'touch -d@N FILE', where N is the number of seconds since 1970. +# If git or GNU is absent, don't bother to sync with git timestamps. # Also, set the timestamp of each prebuilt file like 'leapseconds' # to be the maximum of the files it depends on. set-timestamps.out: $(EIGHT_YARDS) @@ -894,16 +925,16 @@ set-timestamps.out: $(EIGHT_YARDS) fi || exit; \ done; \ fi - touch -cmr `ls -t $(LEAP_DEPS) | sed 1q` leapseconds + $(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS) for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \ - touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \ + $(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \ exit; \ done - touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi - touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version + $(SET_TIMESTAMP_DEP) version $(VERSION_DEPS) + $(SET_TIMESTAMP_DEP) tzdata.zi $(TZDATA_ZI_DEPS) touch $@ set-tzs-timestamp.out: $(TZS) - touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS) + $(SET_TIMESTAMP_DEP) $(TZS) $(TZS_DEPS) touch $@ # The zics below ensure that each data file can stand on its own. @@ -981,7 +1012,7 @@ tarballs rearguard_tarballs traditional_tarballs \ signatures rearguard_signatures traditional_signatures: \ version set-timestamps.out rearguard.zi VERSION=`cat version` && \ - $(MAKE) VERSION="$$VERSION" $@_version + $(MAKE) AWK='$(AWK)' VERSION="$$VERSION" $@_version # These *_version rules are intended for use if VERSION is set by some # other means. Ordinarily these rules are used only by the above @@ -1018,7 +1049,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out for f in $(TDATA) $(PACKRATDATA); do \ rearf=tzdata$(VERSION)-rearguard.dir/$$f; \ $(AWK) -v DATAFORM=rearguard -f ziguard.awk $$f >$$rearf && \ - touch -cmr `ls -t ziguard.awk $$f` $$rearf || exit; \ + $(SET_TIMESTAMP_DEP) $$rearf ziguard.awk $$f || exit; \ done sed '1s/$$/-rearguard/' \ tzdata$(VERSION)-rearguard.dir/version @@ -1037,7 +1068,7 @@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out rm -fr tzdb-$(VERSION) mkdir tzdb-$(VERSION) ln $(ENCHILADA) tzdb-$(VERSION) - touch -cmr `ls -t tzdb-$(VERSION)/* | sed 1q` tzdb-$(VERSION) + $(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/* LC_ALL=C && export LC_ALL && \ tar $(TARFLAGS) -cf - tzdb-$(VERSION) | lzip -9 >$@.out mv $@.out $@ @@ -1079,8 +1110,6 @@ strftime.o: private.h tzfile.h zdump.o: version.h zic.o: private.h tzfile.h version.h -.KEEP_STATE: - .PHONY: ALL INSTALL all .PHONY: check check_time_t_alternatives .PHONY: check_web check_zishrink diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS index 328face24016..6014b45a0b4a 100644 --- a/contrib/tzdata/NEWS +++ b/contrib/tzdata/NEWS @@ -1,5 +1,51 @@ News for the tz database +Release 2020e - 2020-12-22 15:14:34 -0800 + + Briefly: + Volgograd switches to Moscow time on 2020-12-27 at 02:00. + + Changes to future timestamps + + Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00. + (Thanks to Alexander Krivenyshev and Stepan Golosunov.) + + Changes to past timestamps + + Correct many pre-1986 transitions, fixing entries originally + derived from Shanks. The fixes include: + - Australia: several 1917 through 1971 transitions + - Bahamas: several 1941 through 1945 transitions + - Bermuda: several 1917 through 1956 transitions + - Belize: several 1942 through 1968 transitions + - Ghana: several 1915 through 1956 transitions + - Israel and Palestine: several 1940 through 1985 transitions + - Kenya and adjacent: several 1908 through 1960 transitions + - Nigeria and adjacent: correcting LMT in Lagos, and several 1905 + through 1919 transitions + - Seychelles: the introduction of standard time in 1907, not 1906 + - Vanuatu: DST in 1973-1974, and a corrected 1984 transition + (Thanks to P Chan.) + + Because of the Australia change, Australia/Currie (King Island) is + no longer needed, as it is identical to Australia/Hobart for all + timestamps since 1970 and was therefore created by mistake. + Australia/Currie has been moved to the 'backward' file and its + corrected data moved to the 'backzone' file. + + Changes to past time zone abbreviations and DST flags + + To better match legislation in Turks and Caicos, the 2015 shift to + year-round observance of -04 is now modeled as AST throughout before + returning to Eastern Time with US DST in 2018, rather than as + maintaining EDT until 2015-11-01. (Thanks to P Chan.) + + Changes to documentation + + The zic man page now documents zic's coalescing of transitions + when a zone falls back just before DST springs forward. + + Release 2020d - 2020-10-21 11:24:13 -0700 Briefly: diff --git a/contrib/tzdata/africa b/contrib/tzdata/africa index 566436b319e4..59cf501ec954 100644 --- a/contrib/tzdata/africa +++ b/contrib/tzdata/africa @@ -386,36 +386,87 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct # Ghana -# From Paul Eggert (2018-01-30): -# Whitman says DST was observed from 1931 to "the present"; -# Shanks & Pottenger say 1936 to 1942 with 20 minutes of DST, -# with transitions on 09-01 and 12-31 at 00:00. -# Page 33 of Parish GCB, Colonial Reports - Annual. No. 1066. Gold -# Coast. Report for 1919. (March 1921), OCLC 784024077 -# http://libsysdigi.library.illinois.edu/ilharvest/africana/books2011-05/5530214/5530214_1919/5530214_1919_opt.pdf -# lists the Determination of the Time Ordinance, 1919, No. 18, -# "to advance the time observed locally by the space of twenty minutes -# during the last four months of each year; the object in view being -# to extend during those months the period of daylight-time available -# for evening recreation after office hours." -# Vanessa Ogle, The Global Transformation of Time, 1870-1950 (2015), p 33, -# writes "In 1919, the Gold Coast (Ghana as of 1957) made Greenwich -# time its legal time and simultaneously legalized a summer time of -# UTC - 00:20 minutes from March to October."; a footnote lists -# the ordinance as being dated 1919-11-24. -# The Crown Colonist, Volume 12 (1942), p 176, says "the Government -# intend advancing Gold Coast time half an hour ahead of G.M.T. -# The actual date of the alteration has not yet been announced." -# These sources are incomplete and contradictory. Possibly what is -# now Ghana observed different DST regimes in different years. For -# lack of better info, use Shanks except treat the minus sign as a -# typo, and assume DST started in 1920 not 1936. +# From P Chan (2020-11-20): +# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02] +# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71 +# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70 +# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the +# Interpretation Ordinance, 1876. +# +# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24] +# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76 +# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75 +# This Ordinance removed the previous definition of time and introduced DST. +# +# Time Determination Ordinance (Cap. 214) +# The Laws of the Gold Coast (including Togoland Under British Mandate) +# Vol. II (1937), p 2328 +# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328 +# Revised edition of the 1919 Ordinance. +# +# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1940, p 22 +# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22 +# This Ordinance changed the forward transition from September to May. +# +# Defence (Time Determination Ordinance Amendment) Regulations, 1942 +# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1942, p 48 +# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48 +# These regulations advanced the [standard] time by thirty minutes. +# +# Defence (Time Determination Ordinance Amendment (No.2)) Regulations, +# 1942 (Regulations No. 28 of 1942) [1942-04-25] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1942, p 87 +# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87 +# These regulations abolished DST and changed the time to GMT+0:30. +# +# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of +# 1945) [1945-10-24, commenced on 1946-01-06] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1945, p 256 +# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256 +# These regulations revoked the previous two sets of Regulations. +# +# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1945, p 69 +# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69 +# This Ordinance abolished DST. +# +# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1950, p 35 +# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35 +# This Ordinance restored DST but with thirty minutes offset. +# +# Time Determination Ordinance (Cap. 264) +# The Laws of the Gold Coast, Vol. V (1954), p 380 +# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380 +# Revised edition of the Time Determination Ordinance. +# +# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29] +# Annual Volume of the Ordinances of the Gold Coast Enacted During the +# Year 1956, p 83 +# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83 +# This Ordinance abolished DST. + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Ghana 1920 1942 - Sep 1 0:00 0:20 - -Rule Ghana 1920 1942 - Dec 31 0:00 0 - +Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020 +Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT +Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020 +Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020 +Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030 +Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Accra -0:00:52 - LMT 1918 - 0:00 Ghana GMT/+0020 +Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2 + 0:00 Ghana %s 1942 Feb 8 + 0:30 - +0030 1946 Jan 6 + 0:00 Ghana %s # Guinea # See Africa/Abidjan. @@ -433,11 +484,54 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u 0:00 - GMT # Kenya + +# From P Chan (2020-10-24): +# +# The standard time of GMT+2:30 was adopted in the East Africa Protectorate.... +# [The Official Gazette, 1908-05-01, p 274] +# https://books.google.com/books?id=e-cAC-sjPSEC&pg=PA274 +# +# At midnight on 30 June 1928 the clocks throughout Kenya was put forward +# half an hour by the Alteration of Time Ordinance, 1928. +# https://gazettes.africa/archive/ke/1928/ke-government-gazette-dated-1928-05-11-no-28.pdf +# [Ordinance No. 11 of 1928, The Offical Gazette, 1928-06-26, p 813] +# https://books.google.com/books?id=2S0S6os32ZUC&pg=PA813 +# +# The 1928 ordinance was repealed by the Alteration of Time (repeal) Ordinance, +# 1929 and the time was restored to GMT+2:30 at midnight on 4 January 1930. +# [Ordinance No. 97 of 1929, The Official Gazette, 1929-12-31, p 2701] +# https://books.google.com/books?id=_g18jIZQlwwC&pg=PA2701 +# +# The Alteration of Time Ordinance, 1936 changed the time to GMT+2:45 +# and repealed the previous ordinance at midnight on 31 December 1936. +# [The Official Gazette, 1936-07-21, p 705] +# https://books.google.com/books?id=K7j41z0aC5wC&pg=PA705 +# +# The Defence (Amendment of Laws No. 120) Regulations changed the time +# to GMT+3 at midnight on 31 July 1942. +# [Kenya Official Gazette Supplement No. 32, 1942-07-21, p 331] +# https://books.google.com/books?hl=zh-TW&id=c_E-AQAAIAAJ&pg=PA331 +# The provision of the 1936 ordinance was not repealed and was later +# incorporated in the Interpretation and General Clauses Ordinance in 1948. +# Although it was overridden by the 1942 regulations. +# [The Laws of Kenya in force on 1948-09-21, Title I, Chapter 1, 31] +# https://dds.crl.edu/item/217517 (p.101) +# In 1950 the Interpretation and General Clauses Ordinance was amended to adopt +# GMT+3 permanently as the 1942 regulations were due to expire on 10 December. +# https://books.google.com/books?id=jvR8mUDAwR0C&pg=PA787 +# [Ordinance No. 44 of 1950, Kenya Ordinances 1950, Vol. XXIX, p 294] +# https://books.google.com/books?id=-_dQAQAAMAAJ&pg=PA294 + +# From Paul Eggert (2020-10-24): +# The 1908-05-01 announcement does not give an effective date, +# so just say "1908 May". + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul - 3:00 - EAT 1930 - 2:30 - +0230 1940 - 2:45 - +0245 1960 +Zone Africa/Nairobi 2:27:16 - LMT 1908 May + 2:30 - +0230 1928 Jun 30 24:00 + 3:00 - EAT 1930 Jan 4 24:00 + 2:30 - +0230 1936 Dec 31 24:00 + 2:45 - +0245 1942 Jul 31 24:00 3:00 - EAT Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia Link Africa/Nairobi Africa/Asmara # Eritrea @@ -1224,8 +1318,69 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 # See Africa/Lagos. # Nigeria + +# From P Chan (2020-12-03): +# GMT was adopted as the standard time of Lagos on 1905-07-01. +# Lagos Weekly Record, 1905-06-24, p 3 +# http://ddsnext.crl.edu/titles/31558#?c=0&m=668&s=0&cv=2&r=0&xywh=1446%2C5221%2C1931%2C1235 +# says "It is officially notified that on and after the 1st of July 1905 +# Greenwich Mean Solar Time will be adopted thought the Colony and +# Protectorate, and that it will be necessary to put all clocks 13 minutes and +# 35 seconds back, recording local mean time." +# +# It seemed that Lagos returned to LMT on 1908-07-01. +# [The Lagos Standard], 1908-07-01, p 5 +# http://ddsnext.crl.edu/titles/31556#?c=0&m=78&s=0&cv=4&r=0&xywh=-92%2C3590%2C3944%2C2523 +# says "Scarcely have the people become accustomed to this new time, when +# another official notice has now appeared announcing that from and after the +# 1st July next, return will be made to local mean time." +# +# From P Chan (2020-11-27): +# On 1914-01-01, standard time of GMT+0:30 was adopted for the unified Nigeria. +# Colonial Reports - Annual. No. 878. Nigeria. Report for 1914. (April 1916), +# p 27 +# https://libsysdigi.library.illinois.edu/ilharvest/Africana/Books2011-05/3064634/3064634_1914/3064634_1914_opt.pdf#page=27 +# "On January 1st [1914], a universal standard time for Nigeria was adopted, +# viz., half an hour fast on Greenwich mean time, corresponding to the meridian +# 7 [degrees] 30' E. long." +# Lloyd's Register of Shipping (1915) says "Hitherto the time observed in Lagos +# was the local mean time. On 1st January, 1914, standard time for the whole of +# Nigeria was introduced ... Lagos time has been advanced about 16 minutes +# accordingly." +# +# In 1919, standard time was changed to GMT+1. +# Interpretation Ordinance (Cap 2) +# The Laws of Nigeria, Containing the Ordinances of Nigeria, in Force on the +# 1st Day of January, 1923, Vol.I [p 16] +# https://books.google.com/books?id=BOMrAQAAMAAJ&pg=PA16 +# "The expression 'Standard time' means standard time as used in Nigeria: +# namely, 60 minutes in advance of Greenwich mean time. (As amended by 18 of +# 1919, s. 2.)" +# From Tim Parenti (2020-12-10): +# The Lagos Weekly Record, 1919-09-20, p 3 details discussion on the first +# reading of this Bill by the Legislative Council of the Colony of Nigeria on +# Thursday 1919-08-28: +# http://ddsnext.crl.edu/titles/31558?terms&item_id=303484#?m=1118&c=1&s=0&cv=2&r=0&xywh=1261%2C3408%2C2994%2C1915 +# "The proposal is that the Globe should be divided into twelve zones East and +# West of Greenwich, of one hour each, Nigeria falling into the zone with a +# standard of one hour fast on Greenwich Mean Time. Nigeria standard time is +# now 30 minutes in advance of Greenwich Mean Time ... according to the new +# proposal, standard time will be advanced another 30 minutes". It was further +# proposed that the firing of the time guns likewise be adjusted by 30 minutes +# to compensate. +# From Tim Parenti (2020-12-10), per P Chan (2020-12-11): +# The text of Ordinance 18 of 1919, published in Nigeria Gazette, Vol 6, No 52, +# shows that the change was assented to the following day and took effect "on +# the 1st day of September, 1919." +# Nigeria Gazette and Supplements 1919 Jan-Dec, Reference: 73266B-40, +# img 245-246 +# https://microform.digital/boa/collections/77/volumes/539/nigeria-lagos-1887-1919 + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Lagos 0:13:36 - LMT 1919 Sep +Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1 + 0:00 - GMT 1908 Jul 1 + 0:13:35 - LMT 1914 Jan 1 + 0:30 - +0030 1919 Sep 1 1:00 - WAT Link Africa/Lagos Africa/Bangui # Central African Republic Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo @@ -1298,8 +1453,21 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884 # See Africa/Abidjan. # Seychelles + +# From P Chan (2020-11-27): +# Standard Time was adopted on 1907-01-01. +# +# Standard Time Ordinance (Chapter 237) +# The Laws of Seychelles in Force on the 31st December, 1971, Vol. 6, p 571 +# https://books.google.com/books?id=efE-AQAAIAAJ&pg=PA571 +# +# From Tim Parenti (2020-12-05): +# A footnote on https://books.google.com/books?id=DYdDAQAAMAAJ&pg=PA1689 +# confirms that Ordinance No. 9 of 1906 "was brought into force on the 1st +# January, 1907." + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria +Zone Indian/Mahe 3:41:48 - LMT 1907 Jan 1 # Victoria 4:00 - +04 # From Paul Eggert (2001-05-30): # Aldabra, Farquhar, and Desroches, originally dependencies of the diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia index 3ebfcb409fce..ed944130e99f 100644 --- a/contrib/tzdata/asia +++ b/contrib/tzdata/asia @@ -1723,40 +1723,180 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890 # high on my favorite-country list (and not only because my wife's # family is from India). -# From Shanks & Pottenger: +# From P Chan (2020-10-27), with corrections: +# +# 1940-1946 Supplement No. 2 to the Palestine Gazette +# # issue page Order No. dated start end note +# 1 1010 729 67 of 1940 1940-05-22 1940-05-31* 1940-09-30* revoked by #2 +# 2 1013 758 73 of 1940 1940-05-31 1940-05-31 1940-09-30 +# 3 1055 1574 196 of 1940 1940-11-06 1940-11-16 1940-12-31 +# 4 1066 1811 208 of 1940 1940-12-17 1940-12-31 1941-12-31 +# 5 1156 1967 116 of 1941 1941-12-16 1941-12-31 1942-12-31* amended by #6 +# 6 1228 1608 86 of 1942 1942-10-14 1941-12-31 1942-10-31 +# 7 1256 279 21 of 1943 1943-03-18 1943-03-31 1943-10-31 +# 8 1323 249 19 of 1944 1944-03-13 1944-03-31 1944-10-31 +# 9 1402 328 20 of 1945 1945-04-05 1945-04-15 1945-10-31 +#10 1487 596 14 of 1946 1946-04-04 1946-04-15 1946-10-31 +# +# 1948 Iton Rishmi (Official Gazette of the Provisional Government) +# # issue page dated start end +#11 2 7 1948-05-20 1948-05-22 1948-10-31* +# ^This moved timezone to +04, replaced by #12 from 1948-08-31 24:00 GMT. +#12 17 (Annex B) 84 1948-08-22 1948-08-31 1948-10-31 +# +# 1949-2000 Kovetz HaTakanot (Collection of Regulations) +# # issue page dated start end note +#13 6 133 1949-03-23 1949-04-30 1949-10-31 +#14 80 755 1950-03-17 1950-04-15 1950-09-14 +#15 164 782 1951-03-22 1951-03-31 1951-09-29* amended by #16 +#16 206 1940 1951-09-23 ---------- 1951-10-22* amended by #17 +#17 212 78 1951-10-19 ---------- 1951-11-10 +#18 254 652 1952-03-03 1952-04-19 1952-09-27* amended by #19 +#19 300 11 1952-09-15 ---------- 1952-10-18 +#20 348 817 1953-03-03 1953-04-11 1953-09-12 +#21 420 385 1954-02-17 1954-06-12 1954-09-11 +#22 497 548 1955-01-14 1955-06-11 1955-09-10 +#23 591 608 1956-03-12 1956-06-02 1956-09-29 +#24 680 957 1957-02-08 1957-04-27 1957-09-21 +#25 3192 1418 1974-06-28 1974-07-06 1974-10-12 +#26 3322 1389 1975-04-03 1975-04-19 1975-08-30 +#27 4146 2089 1980-07-15 1980-08-02 1980-09-13 +#28 4604 1081 1984-02-22 1984-05-05* 1984-08-25* revoked by #29 +#29 4619 1312 1984-04-06 1984-05-05 1984-08-25 +#30 4744 475 1984-12-23 1985-04-13 1985-09-14* amended by #31 +#31 4851 1848 1985-08-18 ---------- 1985-08-31 +#32 4932 899 1986-04-22 1986-05-17 1986-09-06 +#33 5013 580 1987-02-15 1987-04-18* 1987-08-22* revoked by #34 +#34 5021 744 1987-03-30 1987-04-14 1987-09-12 +#35 5096 659 1988-02-14 1988-04-09 1988-09-03 +#36 5167 514 1989-02-03 1989-04-29 1989-09-02 +#37 5248 375 1990-01-23 1990-03-24 1990-08-25 +#38 5335 612 1991-02-10 1991-03-09* 1991-08-31 amended by #39 +# 1992-03-28 1992-09-05 +#39 5339 709 1991-03-04 1991-03-23 ---------- +#40 5506 503 1993-02-18 1993-04-02 1993-09-05 +# 1994-04-01 1994-08-28 +# 1995-03-31 1995-09-03 +#41 5731 438 1996-01-01 1996-03-14 1996-09-15 +# 1997-03-13* 1997-09-18* overridden by 1997 Temp Prov +# 1998-03-19* 1998-09-17* revoked by #42 +#42 5853 1243 1997-09-18 1998-03-19 1998-09-05 +#43 5937 77 1998-10-18 1999-04-02 1999-09-03 +# 2000-04-14* 2000-09-15* revoked by #44 +# 2001-04-13* 2001-09-14* revoked by #44 +#44 6024 39 2000-03-14 2000-04-14 2000-10-22* overridden by 2000 Temp Prov +# 2001-04-06* 2001-10-10* overridden by 2000 Temp Prov +# 2002-03-29* 2002-10-29* overridden by 2000 Temp Prov +# +# These are laws enacted by the Knesset since the Minister could only alter the +# transition dates at least six months in advanced under the 1992 Law. +# dated start end +# 1997 Temporary Provisions 1997-03-06 1997-03-20 1997-09-13 +# 2000 Temporary Provisions 2000-07-28 ---------- 2000-10-06 +# 2001-04-09 2001-09-24 +# 2002-03-29 2002-10-07 +# 2003-03-28 2003-10-03 +# 2004-04-07 2004-09-22 +# Note: +# Transition times in 1940-1957 (#1-#24) were midnight GMT, +# in 1974-1998 (#25-#42 and the 1997 Temporary Provisions) were midnight, +# in 1999-April 2000 (#43,#44) were 02:00, +# in the 2000 Temporary Provisions were 01:00. +# +# ----------------------------------------------------------------------------- +# Links: +# 1 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=687 +# 2 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=716 +# 3 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=721 +# 4 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=958 +# 5 https://findit.library.yale.edu/images_layout/view?parentoid=15537502&increment=558 +# 6 https://findit.library.yale.edu/images_layout/view?parentoid=15537511&increment=105 +# 7 https://findit.library.yale.edu/images_layout/view?parentoid=15537516&increment=278 +# 8 https://findit.library.yale.edu/images_layout/view?parentoid=15537522&increment=248 +# 9 https://findit.library.yale.edu/images_layout/view?parentoid=15537530&increment=329 +#10 https://findit.library.yale.edu/images_layout/view?parentoid=15537537&increment=601 +#11 https://www.nevo.co.il/law_word/law12/er-002.pdf#page=3 +#12 https://www.nevo.co.il/law_word/law12/er-017-t2.pdf#page=4 +#13 https://www.nevo.co.il/law_word/law06/tak-0006.pdf#page=3 +#14 https://www.nevo.co.il/law_word/law06/tak-0080.pdf#page=7 +#15 https://www.nevo.co.il/law_word/law06/tak-0164.pdf#page=10 +#16 https://www.nevo.co.il/law_word/law06/tak-0206.pdf#page=4 +#17 https://www.nevo.co.il/law_word/law06/tak-0212.pdf#page=2 +#18 https://www.nevo.co.il/law_word/law06/tak-0254.pdf#page=4 +#19 https://www.nevo.co.il/law_word/law06/tak-0300.pdf#page=5 +#20 https://www.nevo.co.il/law_word/law06/tak-0348.pdf#page=3 +#21 https://www.nevo.co.il/law_word/law06/tak-0420.pdf#page=5 +#22 https://www.nevo.co.il/law_word/law06/tak-0497.pdf#page=10 +#23 https://www.nevo.co.il/law_word/law06/tak-0591.pdf#page=6 +#24 https://www.nevo.co.il/law_word/law06/tak-0680.pdf#page=3 +#25 https://www.nevo.co.il/law_word/law06/tak-3192.pdf#page=2 +#26 https://www.nevo.co.il/law_word/law06/tak-3322.pdf#page=5 +#27 https://www.nevo.co.il/law_word/law06/tak-4146.pdf#page=2 +#28 https://www.nevo.co.il/law_word/law06/tak-4604.pdf#page=7 +#29 https://www.nevo.co.il/law_word/law06/tak-4619.pdf#page=2 +#30 https://www.nevo.co.il/law_word/law06/tak-4744.pdf#page=11 +#31 https://www.nevo.co.il/law_word/law06/tak-4851.pdf#page=2 +#32 https://www.nevo.co.il/law_word/law06/tak-4932.pdf#page=19 +#33 https://www.nevo.co.il/law_word/law06/tak-5013.pdf#page=8 +#34 https://www.nevo.co.il/law_word/law06/tak-5021.pdf#page=8 +#35 https://www.nevo.co.il/law_word/law06/tak-5096.pdf#page=3 +#36 https://www.nevo.co.il/law_word/law06/tak-5167.pdf#page=2 +#37 https://www.nevo.co.il/law_word/law06/tak-5248.pdf#page=7 +#38 https://www.nevo.co.il/law_word/law06/tak-5335.pdf#page=6 +#39 https://www.nevo.co.il/law_word/law06/tak-5339.pdf#page=7 +#40 https://www.nevo.co.il/law_word/law06/tak-5506.pdf#page=19 +#41 https://www.nevo.co.il/law_word/law06/tak-5731.pdf#page=2 +#42 https://www.nevo.co.il/law_word/law06/tak-5853.pdf#page=3 +#43 https://www.nevo.co.il/law_word/law06/tak-5937.pdf#page=9 +#44 https://www.nevo.co.il/law_word/law06/tak-6024.pdf#page=4 +# +# Time Determination (Temporary Provisions) Law, 1997 +# https://www.nevo.co.il/law_html/law19/p201_003.htm +# +# Time Determination (Temporary Provisions) Law, 2000 +# https://www.nevo.co.il/law_html/law19/p201_004.htm +# +# Time Determination Law, 1992 and amendments +# https://www.nevo.co.il/law_html/law01/p201_002.htm +# https://main.knesset.gov.il/Activity/Legislation/Laws/Pages/LawPrimary.aspx?lawitemid=2001174 + +# From Paul Eggert (2020-10-27): +# Several of the midnight transitions mentioned above are ambiguous; +# are they 00:00, 00:00s, 24:00, or 24:00s? When resolving these ambiguities, +# try to minimize changes from previous tzdb versions, for lack of better info. +# Commentary from previous versions is included below, to help explain this. + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Zion 1940 only - Jun 1 0:00 1:00 D -Rule Zion 1942 1944 - Nov 1 0:00 0 S -Rule Zion 1943 only - Apr 1 2:00 1:00 D -Rule Zion 1944 only - Apr 1 0:00 1:00 D -Rule Zion 1945 only - Apr 16 0:00 1:00 D -Rule Zion 1945 only - Nov 1 2:00 0 S -Rule Zion 1946 only - Apr 16 2:00 1:00 D -Rule Zion 1946 only - Nov 1 0:00 0 S -Rule Zion 1948 only - May 23 0:00 2:00 DD -Rule Zion 1948 only - Sep 1 0:00 1:00 D -Rule Zion 1948 1949 - Nov 1 2:00 0 S -Rule Zion 1949 only - May 1 0:00 1:00 D -Rule Zion 1950 only - Apr 16 0:00 1:00 D -Rule Zion 1950 only - Sep 15 3:00 0 S -Rule Zion 1951 only - Apr 1 0:00 1:00 D -Rule Zion 1951 only - Nov 11 3:00 0 S -Rule Zion 1952 only - Apr 20 2:00 1:00 D -Rule Zion 1952 only - Oct 19 3:00 0 S -Rule Zion 1953 only - Apr 12 2:00 1:00 D -Rule Zion 1953 only - Sep 13 3:00 0 S -Rule Zion 1954 only - Jun 13 0:00 1:00 D -Rule Zion 1954 only - Sep 12 0:00 0 S -Rule Zion 1955 only - Jun 11 2:00 1:00 D -Rule Zion 1955 only - Sep 11 0:00 0 S -Rule Zion 1956 only - Jun 3 0:00 1:00 D -Rule Zion 1956 only - Sep 30 3:00 0 S -Rule Zion 1957 only - Apr 29 2:00 1:00 D -Rule Zion 1957 only - Sep 22 0:00 0 S -Rule Zion 1974 only - Jul 7 0:00 1:00 D -Rule Zion 1974 only - Oct 13 0:00 0 S -Rule Zion 1975 only - Apr 20 0:00 1:00 D -Rule Zion 1975 only - Aug 31 0:00 0 S +Rule Zion 1940 only - May 31 24:00u 1:00 D +Rule Zion 1940 only - Sep 30 24:00u 0 S +Rule Zion 1940 only - Nov 16 24:00u 1:00 D +Rule Zion 1942 1946 - Oct 31 24:00u 0 S +Rule Zion 1943 1944 - Mar 31 24:00u 1:00 D +Rule Zion 1945 1946 - Apr 15 24:00u 1:00 D +Rule Zion 1948 only - May 22 24:00u 2:00 DD +Rule Zion 1948 only - Aug 31 24:00u 1:00 D +Rule Zion 1948 1949 - Oct 31 24:00u 0 S +Rule Zion 1949 only - Apr 30 24:00u 1:00 D +Rule Zion 1950 only - Apr 15 24:00u 1:00 D +Rule Zion 1950 only - Sep 14 24:00u 0 S +Rule Zion 1951 only - Mar 31 24:00u 1:00 D +Rule Zion 1951 only - Nov 10 24:00u 0 S +Rule Zion 1952 only - Apr 19 24:00u 1:00 D +Rule Zion 1952 only - Oct 18 24:00u 0 S +Rule Zion 1953 only - Apr 11 24:00u 1:00 D +Rule Zion 1953 only - Sep 12 24:00u 0 S +Rule Zion 1954 only - Jun 12 24:00u 1:00 D +Rule Zion 1954 only - Sep 11 24:00u 0 S +Rule Zion 1955 only - Jun 11 24:00u 1:00 D +Rule Zion 1955 only - Sep 10 24:00u 0 S +Rule Zion 1956 only - Jun 2 24:00u 1:00 D +Rule Zion 1956 only - Sep 29 24:00u 0 S +Rule Zion 1957 only - Apr 27 24:00u 1:00 D +Rule Zion 1957 only - Sep 21 24:00u 0 S +Rule Zion 1974 only - Jul 6 24:00 1:00 D +Rule Zion 1974 only - Oct 12 24:00 0 S +Rule Zion 1975 only - Apr 19 24:00 1:00 D +Rule Zion 1975 only - Aug 30 24:00 0 S # From Alois Treindl (2019-03-06): # http://www.moin.gov.il/Documents/שעון%20קיץ/clock-50-years-7-2014.pdf @@ -1769,25 +1909,24 @@ Rule Zion 1975 only - Aug 31 0:00 0 S # From Paul Eggert (2019-03-06): # Also see this thread about the moin.gov.il URL: # https://mm.icann.org/pipermail/tz/2018-November/027194.html -Rule Zion 1980 only - Aug 2 0:00 1:00 D -Rule Zion 1980 only - Sep 13 1:00 0 S -Rule Zion 1984 only - May 5 0:00 1:00 D -Rule Zion 1984 only - Aug 25 1:00 0 S - -# From Shanks & Pottenger: -Rule Zion 1985 only - Apr 14 0:00 1:00 D -Rule Zion 1985 only - Sep 15 0:00 0 S -Rule Zion 1986 only - May 18 0:00 1:00 D -Rule Zion 1986 only - Sep 7 0:00 0 S -Rule Zion 1987 only - Apr 15 0:00 1:00 D -Rule Zion 1987 only - Sep 13 0:00 0 S +Rule Zion 1980 only - Aug 2 24:00s 1:00 D +Rule Zion 1980 only - Sep 13 24:00s 0 S +Rule Zion 1984 only - May 5 24:00s 1:00 D +Rule Zion 1984 only - Aug 25 24:00s 0 S + +Rule Zion 1985 only - Apr 13 24:00 1:00 D +Rule Zion 1985 only - Aug 31 24:00 0 S +Rule Zion 1986 only - May 17 24:00 1:00 D +Rule Zion 1986 only - Sep 6 24:00 0 S +Rule Zion 1987 only - Apr 14 24:00 1:00 D +Rule Zion 1987 only - Sep 12 24:00 0 S # From Avigdor Finkelstein (2014-03-05): # I check the Parliament (Knesset) records and there it's stated that the # [1988] transition should take place on Saturday night, when the Sabbath # ends and changes to Sunday. -Rule Zion 1988 only - Apr 10 0:00 1:00 D -Rule Zion 1988 only - Sep 4 0:00 0 S +Rule Zion 1988 only - Apr 9 24:00 1:00 D +Rule Zion 1988 only - Sep 3 24:00 0 S # From Ephraim Silverberg # (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17, 2000-07-25, 2004-12-22, @@ -1817,14 +1956,14 @@ Rule Zion 1988 only - Sep 4 0:00 0 S # (the eve of the 7th of Tishrei in the lunar Hebrew calendar). # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Zion 1989 only - Apr 30 0:00 1:00 D -Rule Zion 1989 only - Sep 3 0:00 0 S -Rule Zion 1990 only - Mar 25 0:00 1:00 D -Rule Zion 1990 only - Aug 26 0:00 0 S -Rule Zion 1991 only - Mar 24 0:00 1:00 D -Rule Zion 1991 only - Sep 1 0:00 0 S -Rule Zion 1992 only - Mar 29 0:00 1:00 D -Rule Zion 1992 only - Sep 6 0:00 0 S +Rule Zion 1989 only - Apr 29 24:00 1:00 D +Rule Zion 1989 only - Sep 2 24:00 0 S +Rule Zion 1990 only - Mar 24 24:00 1:00 D +Rule Zion 1990 only - Aug 25 24:00 0 S +Rule Zion 1991 only - Mar 23 24:00 1:00 D +Rule Zion 1991 only - Aug 31 24:00 0 S +Rule Zion 1992 only - Mar 28 24:00 1:00 D +Rule Zion 1992 only - Sep 5 24:00 0 S Rule Zion 1993 only - Apr 2 0:00 1:00 D Rule Zion 1993 only - Sep 5 0:00 0 S @@ -1853,10 +1992,10 @@ Rule Zion 1995 only - Sep 3 0:00 0 S # where YYYY is the relevant year. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Zion 1996 only - Mar 15 0:00 1:00 D -Rule Zion 1996 only - Sep 16 0:00 0 S -Rule Zion 1997 only - Mar 21 0:00 1:00 D -Rule Zion 1997 only - Sep 14 0:00 0 S +Rule Zion 1996 only - Mar 14 24:00 1:00 D +Rule Zion 1996 only - Sep 15 24:00 0 S +Rule Zion 1997 only - Mar 20 24:00 1:00 D +Rule Zion 1997 only - Sep 13 24:00 0 S Rule Zion 1998 only - Mar 20 0:00 1:00 D Rule Zion 1998 only - Sep 6 0:00 0 S Rule Zion 1999 only - Apr 2 2:00 1:00 D @@ -1908,14 +2047,15 @@ Rule Zion 2010 only - Sep 12 2:00 0 S Rule Zion 2011 only - Oct 2 2:00 0 S Rule Zion 2012 only - Sep 23 2:00 0 S -# From Ephraim Silverberg (2013-06-27): -# On June 23, 2013, the Israeli government approved changes to the -# Time Decree Law. The next day, the changes passed the First Reading -# in the Knesset. The law is expected to pass the Second and Third -# (final) Readings by the beginning of September 2013. -# -# As of 2013, DST starts at 02:00 on the Friday before the last Sunday -# in March. DST ends at 02:00 on the last Sunday of October. +# From Ephraim Silverberg (2020-10-26): +# The current time law (2013) from the State of Israel can be viewed +# (in Hebrew) at: +# ftp://ftp.cs.huji.ac.il/pub/tz/israel/announcements/2013+law.pdf +# It translates to: +# Every year, in the period from the Friday before the last Sunday in +# the month of March at 02:00 a.m. until the last Sunday of the month +# of October at 02:00 a.m., Israel Time will be advanced an additional +# hour such that it will be UTC+3. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia index aa7ab7f23a08..cf8a0638f831 100644 --- a/contrib/tzdata/australasia +++ b/contrib/tzdata/australasia @@ -14,16 +14,13 @@ # Please see the notes below for the controversy about "EST" versus "AEST" etc. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Aus 1917 only - Jan 1 0:01 1:00 D -Rule Aus 1917 only - Mar 25 2:00 0 S -Rule Aus 1942 only - Jan 1 2:00 1:00 D -Rule Aus 1942 only - Mar 29 2:00 0 S -Rule Aus 1942 only - Sep 27 2:00 1:00 D -Rule Aus 1943 1944 - Mar lastSun 2:00 0 S -Rule Aus 1943 only - Oct 3 2:00 1:00 D -# Go with Whitman and the Australian National Standards Commission, which -# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that -# 1944/1945 was just like 1943/1944. +Rule Aus 1917 only - Jan 1 2:00s 1:00 D +Rule Aus 1917 only - Mar lastSun 2:00s 0 S +Rule Aus 1942 only - Jan 1 2:00s 1:00 D +Rule Aus 1942 only - Mar lastSun 2:00s 0 S +Rule Aus 1942 only - Sep 27 2:00s 1:00 D +Rule Aus 1943 1944 - Mar lastSun 2:00s 0 S +Rule Aus 1943 only - Oct 3 2:00s 1:00 D # Zone NAME STDOFF RULES FORMAT [UNTIL] # Northern Territory @@ -115,8 +112,12 @@ Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb # says King Island didn't observe DST from WWII until late 1971. # # Rule NAME FROM TO - IN ON AT SAVE LETTER/S +Rule AT 1916 only - Oct Sun>=1 2:00s 1:00 D +Rule AT 1917 only - Mar lastSun 2:00s 0 S +Rule AT 1917 1918 - Oct Sun>=22 2:00s 1:00 D +Rule AT 1918 1919 - Mar Sun>=1 2:00s 0 S Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 D -Rule AT 1968 only - Mar lastSun 2:00s 0 S +Rule AT 1968 only - Mar Sun>=29 2:00s 0 S Rule AT 1968 1985 - Oct lastSun 2:00s 1:00 D Rule AT 1969 1971 - Mar Sun>=8 2:00s 0 S Rule AT 1972 only - Feb lastSun 2:00s 0 S @@ -136,15 +137,9 @@ Rule AT 2007 only - Mar lastSun 2:00s 0 S Rule AT 2008 max - Apr Sun>=1 2:00s 0 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Australia/Hobart 9:49:16 - LMT 1895 Sep - 10:00 - AEST 1916 Oct 1 2:00 - 10:00 1:00 AEDT 1917 Feb + 10:00 AT AE%sT 1919 Oct 24 10:00 Aus AE%sT 1967 10:00 AT AE%sT -Zone Australia/Currie 9:35:28 - LMT 1895 Sep - 10:00 - AEST 1916 Oct 1 2:00 - 10:00 1:00 AEDT 1917 Feb - 10:00 Aus AE%sT 1971 Jul - 10:00 AT AE%sT # Victoria # Rule NAME FROM TO - IN ON AT SAVE LETTER/S @@ -873,13 +868,36 @@ Zone Pacific/Wake 11:06:28 - LMT 1901 # Vanuatu + +# From P Chan (2020-11-27): +# Joint Daylight Saving Regulation No 59 of 1973 +# New Hebrides Condominium Gazette No 336. December 1973 +# http://www.paclii.org/vu/other/VUNHGovGaz//1973/11.pdf#page=15 +# +# Joint Daylight Saving (Repeal) Regulation No 10 of 1974 +# New Hebrides Condominium Gazette No 336. March 1974 +# http://www.paclii.org/vu/other/VUNHGovGaz//1974/3.pdf#page=11 +# +# Summer Time Act No. 35 of 1982 [commenced 1983-09-01] +# http://www.paclii.org/vu/other/VUGovGaz/1982/32.pdf#page=48 +# +# Summer Time Act (Cap 157) +# Laws of the Republic of Vanuatu Revised Edition 1988 +# http://www.paclii.org/cgi-bin/sinodisp/vu/legis/consol_act1988/sta147/sta147.html +# +# Summer Time (Amendment) Act No. 6 of 1991 [commenced 1991-11-11] +# http://www.paclii.org/vu/legis/num_act/sta1991227/ +# +# Summer Time (Repeal) Act No. 4 of 1993 [commenced 1993-05-03] +# http://www.paclii.org/vu/other/VUGovGaz/1993/15.pdf#page=59 + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Vanuatu 1983 only - Sep 25 0:00 1:00 - -Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 - -Rule Vanuatu 1984 only - Oct 23 0:00 1:00 - -Rule Vanuatu 1985 1991 - Sep Sun>=23 0:00 1:00 - -Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 - -Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 - +Rule Vanuatu 1973 only - Dec 22 12:00u 1:00 - +Rule Vanuatu 1974 only - Mar 30 12:00u 0 - +Rule Vanuatu 1983 1991 - Sep Sat>=22 24:00 1:00 - +Rule Vanuatu 1984 1991 - Mar Sat>=22 24:00 0 - +Rule Vanuatu 1992 1993 - Jan Sat>=22 24:00 0 - +Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 - # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila 11:00 Vanuatu +11/+12 @@ -958,6 +976,25 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Electronic Journal of Australian and New Zealand History (1997-03-03) # http://www.jcu.edu.au/aff/history/reviews/davison.htm +# From P Chan (2020-11-20): +# Daylight Saving Act 1916 (No. 40 of 1916) [1916-12-21, commenced 1917-01-01] +# http://classic.austlii.edu.au/au/legis/cth/num_act/dsa1916401916192/ +# +# Daylight Saving Repeal Act 1917 (No. 35 of 1917) [1917-09-25] +# http://classic.austlii.edu.au/au/legis/cth/num_act/dsra1917351917243/ +# +# Statutory Rules 1941, No. 323 [1941-12-24] +# https://www.legislation.gov.au/Details/C1941L00323 +# +# Statutory Rules 1942, No. 392 [1942-09-10] +# https://www.legislation.gov.au/Details/C1942L00392 +# +# Statutory Rules 1943, No. 241 [1943-09-29] +# https://www.legislation.gov.au/Details/C1943L00241 +# +# All transition times should be 02:00 standard time. + + # From Paul Eggert (2005-12-08): # Implementation Dates of Daylight Saving Time within Australia # http://www.bom.gov.au/climate/averages/tables/dst_times.shtml @@ -1350,6 +1387,27 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Tasmania +# From P Chan (2020-11-20): +# Tasmania observed DST in 1916-1919. +# +# Daylight Saving Act, 1916 (7 Geo V, No 2) [1916-09-22] +# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsa19167gvn2267/ +# +# Daylight Saving Amendment Act, 1917 (8 Geo V, No 5) [1917-10-01] +# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsaa19178gvn5347/ +# +# Daylight Saving Act Repeal Act, 1919 (10 Geo V, No 9) [1919-10-24] +# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsara191910gvn9339/ +# +# King Island is mentioned in the 1967 Act but not the 1968 Act. +# Therefore it possibly observed DST from 1968/69. +# +# Daylight Saving Act 1967 (No. 33 of 1967) [1967-09-22] +# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196733o1967211/ +# +# Daylight Saving Act 1968 (No. 42 of 1968) [1968-10-15] +# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196842o1968211/ + # The rules for 1967 through 1991 were reported by George Shepherd # via Simon Woodhead via Robert Elz (1991-03-06): # # The state of TASMANIA.. [Courtesy Tasmanian Dept of Premier + Cabinet ] diff --git a/contrib/tzdata/backward b/contrib/tzdata/backward index e13ae527a9e8..0c55be221df1 100644 --- a/contrib/tzdata/backward +++ b/contrib/tzdata/backward @@ -49,6 +49,7 @@ Link Atlantic/Faroe Atlantic/Faeroe Link Europe/Oslo Atlantic/Jan_Mayen Link Australia/Sydney Australia/ACT Link Australia/Sydney Australia/Canberra +Link Australia/Hobart Australia/Currie Link Australia/Lord_Howe Australia/LHI Link Australia/Sydney Australia/NSW Link Australia/Darwin Australia/North diff --git a/contrib/tzdata/backzone b/contrib/tzdata/backzone index 563aff606155..3ce7277314c0 100644 --- a/contrib/tzdata/backzone +++ b/contrib/tzdata/backzone @@ -623,6 +623,12 @@ Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown -0:22:48 - JMT 1951 # Jamestown Mean Time 0:00 - GMT +# King Island +Zone Australia/Currie 9:35:28 - LMT 1895 Sep + 10:00 AT AE%sT 1919 Oct 24 + 10:00 Aus AE%sT 1968 Oct 15 + 10:00 AT AE%sT + # Northern Ireland Zone Europe/Belfast -0:23:40 - LMT 1880 Aug 2 *** 468 LINES SKIPPED *** From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 15:26:53 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CAE014C489E for ; Fri, 25 Dec 2020 15:26:53 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from dec.sakura.ne.jp (dec.sakura.ne.jp [210.188.226.8]) (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 4D2W584vW2z3M5B; Fri, 25 Dec 2020 15:26:52 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from kalamity.joker.local (115-38-187-204.shizuoka1.commufa.jp [115.38.187.204]) (authenticated bits=0) by dec.sakura.ne.jp (8.15.2/8.15.2/[SAKURA-WEB]/20080708) with ESMTPA id 0BPFQlTw073828; Sat, 26 Dec 2020 00:26:47 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) Date: Sat, 26 Dec 2020 00:26:46 +0900 From: Tomoaki AOKI To: dev-commits-src-branches@freebsd.org Cc: kib@FreeBSD.org Subject: Re: git: 80a8c57e58ba - MFC r368771: proc.h: Reformat P_ and P2_ definitions. Message-Id: <20201226002646.19cb7a427cc401d7047d1db0@dec.sakura.ne.jp> Reply-To: junchoon@dec.sakura.ne.jp Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd12.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4D2W584vW2z3M5B X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of junchoon@dec.sakura.ne.jp has no SPF policy when checking 210.188.226.8) smtp.mailfrom=junchoon@dec.sakura.ne.jp X-Spamd-Result: default: False [0.35 / 15.00]; HAS_REPLYTO(0.00)[junchoon@dec.sakura.ne.jp]; RCVD_VIA_SMTP_AUTH(0.00)[]; MV_CASE(0.50)[]; REPLYTO_ADDR_EQ_FROM(0.00)[]; TO_DN_NONE(0.00)[]; HAS_ORG_HEADER(0.00)[]; NEURAL_HAM_SHORT(-0.05)[-0.054]; RCPT_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_DBL_DONT_QUERY_IPS(0.00)[210.188.226.8:from]; ASN(0.00)[asn:9370, ipnet:210.188.224.0/19, country:JP]; R_DKIM_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[115.38.187.204:received]; FAKE_REPLY(1.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[sakura.ne.jp]; AUTH_NA(1.00)[]; SPAMHAUS_ZRD(0.00)[210.188.226.8:from:127.0.2.255]; R_SPF_NA(0.00)[no SPF record]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[dev-commits-src-branches] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 15:26:53 -0000 This should be MFC'ed with r368775 not to break build. > The branch stable/12 has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=80a8c57e58ba09416f28e342c9d7757ede50a8f8 > > commit 80a8c57e58ba09416f28e342c9d7757ede50a8f8 > Author: Konstantin Belousov > AuthorDate: 2020-12-18 23:11:27 +0000 > Commit: Konstantin Belousov > CommitDate: 2020-12-25 13:28:57 +0000 > > MFC r368771: > proc.h: Reformat P_ and P2_ definitions. > > (cherry picked from commit c5354d593df9a5b97b6c4b1d9999915d93c8e103) > --- > sys/sys/proc.h | 105 ++++++++++++++++++++++++++++++++++----------------------- > 1 file changed, 62 insertions(+), 43 deletions(-) > > diff --git a/sys/sys/proc.h b/sys/sys/proc.h > index 10cf8b8bce4b..2c3227be7460 100644 > --- a/sys/sys/proc.h > +++ b/sys/sys/proc.h > @@ -719,55 +719,74 @@ struct proc { > #define PROC_PROFLOCK_ASSERT(p, type) mtx_assert(&(p)->p_profmtx, (type)) > > /* These flags are kept in p_flag. */ > -#define P_ADVLOCK 0x00001 /* Process may hold a POSIX advisory lock. */ > -#define P_CONTROLT 0x00002 /* Has a controlling terminal. */ > -#define P_KPROC 0x00004 /* Kernel process. */ (snip) > + MAP_STACK */ > +#define P2_STKGAP_DISABLE_EXEC 0x00001000 /* Stack gap disabled > + after exec */ > > /* Flags protected by proctree_lock, kept in p_treeflags. */ > #define P_TREE_ORPHANED 0x00000001 /* Reparented, on orphan list */ -- Tomoaki AOKI From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 15:29:04 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A40404C48A8; Fri, 25 Dec 2020 15:29: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2W7h3q9kz3LmK; Fri, 25 Dec 2020 15:29:04 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 7183624FD0; Fri, 25 Dec 2020 15:29:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPFT4PV097007; Fri, 25 Dec 2020 15:29:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPFT4I0097006; Fri, 25 Dec 2020 15:29:04 GMT (envelope-from git) Date: Fri, 25 Dec 2020 15:29:04 GMT Message-Id: <202012251529.0BPFT4I0097006@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Philip Paeps Subject: git: 57d2cb51419c - MFC: contrib/tzdata: import tzdata 2020e MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: src X-Git-Refname: refs/heads/stable/11 X-Git-Reftype: branch X-Git-Commit: 57d2cb51419cbd7a92214cc57c2145340946efc7 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 15:29:04 -0000 The branch stable/11 has been updated by philip: URL: https://cgit.FreeBSD.org/src/commit/?id=57d2cb51419cbd7a92214cc57c2145340946efc7 commit 57d2cb51419cbd7a92214cc57c2145340946efc7 Author: Philip Paeps AuthorDate: 2020-12-25 15:16:38 +0000 Commit: Philip Paeps CommitDate: 2020-12-25 15:28:32 +0000 MFC: contrib/tzdata: import tzdata 2020e Changes: https://github.com/eggert/tz/blob/2020e/NEWS (cherry picked from commit dc505d53dcc15636aea9df8c03298f8c32147fa9) --- contrib/tzdata/Makefile | 57 ++++++--- contrib/tzdata/NEWS | 46 +++++++ contrib/tzdata/africa | 236 ++++++++++++++++++++++++++++++----- contrib/tzdata/asia | 274 +++++++++++++++++++++++++++++++---------- contrib/tzdata/australasia | 106 ++++++++++++---- contrib/tzdata/backward | 1 + contrib/tzdata/backzone | 6 + contrib/tzdata/etcetera | 11 +- contrib/tzdata/europe | 16 ++- contrib/tzdata/leapseconds | 4 + contrib/tzdata/leapseconds.awk | 4 + contrib/tzdata/northamerica | 202 ++++++++++++++++++++++++++++-- contrib/tzdata/theory.html | 5 +- contrib/tzdata/version | 2 +- contrib/tzdata/zone.tab | 9 +- contrib/tzdata/zone1970.tab | 9 +- 16 files changed, 816 insertions(+), 172 deletions(-) diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile index 40b81d18b0d5..5064a190c5a5 100644 --- a/contrib/tzdata/Makefile +++ b/contrib/tzdata/Makefile @@ -583,11 +583,19 @@ INSTALL: ALL install date.1 cp date '$(DESTDIR)$(BINDIR)/.' cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.' +# Calculate version number from git, if available. +# Otherwise, use $(VERSION) unless it is "unknown" and there is already +# a 'version' file, in which case reuse the existing 'version' contents +# and append "-dirty" if the contents do not already end in "-dirty". version: $(VERSION_DEPS) { (type git) >/dev/null 2>&1 && \ V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ --abbrev=7 --dirty` || \ - V='$(VERSION)'; } && \ + if test '$(VERSION)' = unknown && V=`cat $@`; then \ + case $$V in *-dirty);; *) V=$$V-dirty;; esac; \ + else \ + V='$(VERSION)'; \ + fi; } && \ printf '%s\n' "$$V" >$@.out mv $@.out $@ @@ -872,11 +880,34 @@ $(MANTXTS): workman.sh LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out mv $@.out $@ +# Set file timestamps deterministically if possible, +# so that tarballs containing the timestamps are reproducible. +# +# '$(SET_TIMESTAMP_N) N DEST A B C ...' sets the timestamp of the +# file DEST to the maximum of the timestamps of the files A B C ..., +# plus N if GNU ls and touch are available. +SET_TIMESTAMP_N = sh -c '\ + n=$$0 dest=$$1; shift; \ + touch -cmr `ls -t "$$@" | sed 1q` "$$dest" && \ + if test $$n != 0 && \ + lsout=`ls -n --time-style="+%s" "$$dest" 2>/dev/null`; then \ + set x $$lsout && \ + touch -cmd @`expr $$7 + $$n` "$$dest"; \ + else :; fi' +# If DEST depends on A B C ... in this Makefile, callers should use +# $(SET_TIMESTAMP_DEP) DEST A B C ..., for the benefit of any +# downstream 'make' that considers equal timestamps to be out of date. +# POSIX allows this 'make' behavior, and HP-UX 'make' does it. +# If all that matters is that the timestamp be reproducible +# and plausible, use $(SET_TIMESTAMP). +SET_TIMESTAMP = $(SET_TIMESTAMP_N) 0 +SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1 + # Set the timestamps to those of the git repository, if available, # and if the files have not changed since then. -# This uses GNU 'touch' syntax 'touch -d@N FILE', -# where N is the number of seconds since 1970. -# If git or GNU 'touch' is absent, don't bother to sync with git timestamps. +# This uses GNU 'ls --time-style=+%s', which outputs the seconds count, +# and GNU 'touch -d@N FILE', where N is the number of seconds since 1970. +# If git or GNU is absent, don't bother to sync with git timestamps. # Also, set the timestamp of each prebuilt file like 'leapseconds' # to be the maximum of the files it depends on. set-timestamps.out: $(EIGHT_YARDS) @@ -894,16 +925,16 @@ set-timestamps.out: $(EIGHT_YARDS) fi || exit; \ done; \ fi - touch -cmr `ls -t $(LEAP_DEPS) | sed 1q` leapseconds + $(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS) for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \ - touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \ + $(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \ exit; \ done - touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi - touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version + $(SET_TIMESTAMP_DEP) version $(VERSION_DEPS) + $(SET_TIMESTAMP_DEP) tzdata.zi $(TZDATA_ZI_DEPS) touch $@ set-tzs-timestamp.out: $(TZS) - touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS) + $(SET_TIMESTAMP_DEP) $(TZS) $(TZS_DEPS) touch $@ # The zics below ensure that each data file can stand on its own. @@ -981,7 +1012,7 @@ tarballs rearguard_tarballs traditional_tarballs \ signatures rearguard_signatures traditional_signatures: \ version set-timestamps.out rearguard.zi VERSION=`cat version` && \ - $(MAKE) VERSION="$$VERSION" $@_version + $(MAKE) AWK='$(AWK)' VERSION="$$VERSION" $@_version # These *_version rules are intended for use if VERSION is set by some # other means. Ordinarily these rules are used only by the above @@ -1018,7 +1049,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out for f in $(TDATA) $(PACKRATDATA); do \ rearf=tzdata$(VERSION)-rearguard.dir/$$f; \ $(AWK) -v DATAFORM=rearguard -f ziguard.awk $$f >$$rearf && \ - touch -cmr `ls -t ziguard.awk $$f` $$rearf || exit; \ + $(SET_TIMESTAMP_DEP) $$rearf ziguard.awk $$f || exit; \ done sed '1s/$$/-rearguard/' \ tzdata$(VERSION)-rearguard.dir/version @@ -1037,7 +1068,7 @@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out rm -fr tzdb-$(VERSION) mkdir tzdb-$(VERSION) ln $(ENCHILADA) tzdb-$(VERSION) - touch -cmr `ls -t tzdb-$(VERSION)/* | sed 1q` tzdb-$(VERSION) + $(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/* LC_ALL=C && export LC_ALL && \ tar $(TARFLAGS) -cf - tzdb-$(VERSION) | lzip -9 >$@.out mv $@.out $@ @@ -1079,8 +1110,6 @@ strftime.o: private.h tzfile.h zdump.o: version.h zic.o: private.h tzfile.h version.h -.KEEP_STATE: - .PHONY: ALL INSTALL all .PHONY: check check_time_t_alternatives .PHONY: check_web check_zishrink diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS index 328face24016..6014b45a0b4a 100644 --- a/contrib/tzdata/NEWS +++ b/contrib/tzdata/NEWS @@ -1,5 +1,51 @@ News for the tz database +Release 2020e - 2020-12-22 15:14:34 -0800 + + Briefly: + Volgograd switches to Moscow time on 2020-12-27 at 02:00. + + Changes to future timestamps + + Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00. + (Thanks to Alexander Krivenyshev and Stepan Golosunov.) + + Changes to past timestamps + + Correct many pre-1986 transitions, fixing entries originally + derived from Shanks. The fixes include: + - Australia: several 1917 through 1971 transitions + - Bahamas: several 1941 through 1945 transitions + - Bermuda: several 1917 through 1956 transitions + - Belize: several 1942 through 1968 transitions + - Ghana: several 1915 through 1956 transitions + - Israel and Palestine: several 1940 through 1985 transitions + - Kenya and adjacent: several 1908 through 1960 transitions + - Nigeria and adjacent: correcting LMT in Lagos, and several 1905 + through 1919 transitions + - Seychelles: the introduction of standard time in 1907, not 1906 + - Vanuatu: DST in 1973-1974, and a corrected 1984 transition + (Thanks to P Chan.) + + Because of the Australia change, Australia/Currie (King Island) is + no longer needed, as it is identical to Australia/Hobart for all + timestamps since 1970 and was therefore created by mistake. + Australia/Currie has been moved to the 'backward' file and its + corrected data moved to the 'backzone' file. + + Changes to past time zone abbreviations and DST flags + + To better match legislation in Turks and Caicos, the 2015 shift to + year-round observance of -04 is now modeled as AST throughout before + returning to Eastern Time with US DST in 2018, rather than as + maintaining EDT until 2015-11-01. (Thanks to P Chan.) + + Changes to documentation + + The zic man page now documents zic's coalescing of transitions + when a zone falls back just before DST springs forward. + + Release 2020d - 2020-10-21 11:24:13 -0700 Briefly: diff --git a/contrib/tzdata/africa b/contrib/tzdata/africa index 566436b319e4..59cf501ec954 100644 --- a/contrib/tzdata/africa +++ b/contrib/tzdata/africa @@ -386,36 +386,87 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct # Ghana -# From Paul Eggert (2018-01-30): -# Whitman says DST was observed from 1931 to "the present"; -# Shanks & Pottenger say 1936 to 1942 with 20 minutes of DST, -# with transitions on 09-01 and 12-31 at 00:00. -# Page 33 of Parish GCB, Colonial Reports - Annual. No. 1066. Gold -# Coast. Report for 1919. (March 1921), OCLC 784024077 -# http://libsysdigi.library.illinois.edu/ilharvest/africana/books2011-05/5530214/5530214_1919/5530214_1919_opt.pdf -# lists the Determination of the Time Ordinance, 1919, No. 18, -# "to advance the time observed locally by the space of twenty minutes -# during the last four months of each year; the object in view being -# to extend during those months the period of daylight-time available -# for evening recreation after office hours." -# Vanessa Ogle, The Global Transformation of Time, 1870-1950 (2015), p 33, -# writes "In 1919, the Gold Coast (Ghana as of 1957) made Greenwich -# time its legal time and simultaneously legalized a summer time of -# UTC - 00:20 minutes from March to October."; a footnote lists -# the ordinance as being dated 1919-11-24. -# The Crown Colonist, Volume 12 (1942), p 176, says "the Government -# intend advancing Gold Coast time half an hour ahead of G.M.T. -# The actual date of the alteration has not yet been announced." -# These sources are incomplete and contradictory. Possibly what is -# now Ghana observed different DST regimes in different years. For -# lack of better info, use Shanks except treat the minus sign as a -# typo, and assume DST started in 1920 not 1936. +# From P Chan (2020-11-20): +# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02] +# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71 +# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70 +# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the +# Interpretation Ordinance, 1876. +# +# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24] +# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76 +# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75 +# This Ordinance removed the previous definition of time and introduced DST. +# +# Time Determination Ordinance (Cap. 214) +# The Laws of the Gold Coast (including Togoland Under British Mandate) +# Vol. II (1937), p 2328 +# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328 +# Revised edition of the 1919 Ordinance. +# +# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1940, p 22 +# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22 +# This Ordinance changed the forward transition from September to May. +# +# Defence (Time Determination Ordinance Amendment) Regulations, 1942 +# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1942, p 48 +# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48 +# These regulations advanced the [standard] time by thirty minutes. +# +# Defence (Time Determination Ordinance Amendment (No.2)) Regulations, +# 1942 (Regulations No. 28 of 1942) [1942-04-25] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1942, p 87 +# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87 +# These regulations abolished DST and changed the time to GMT+0:30. +# +# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of +# 1945) [1945-10-24, commenced on 1946-01-06] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1945, p 256 +# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256 +# These regulations revoked the previous two sets of Regulations. +# +# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1945, p 69 +# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69 +# This Ordinance abolished DST. +# +# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22] +# Annual Volume of the Laws of the Gold Coast: +# Containing All Legislation Enacted During Year 1950, p 35 +# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35 +# This Ordinance restored DST but with thirty minutes offset. +# +# Time Determination Ordinance (Cap. 264) +# The Laws of the Gold Coast, Vol. V (1954), p 380 +# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380 +# Revised edition of the Time Determination Ordinance. +# +# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29] +# Annual Volume of the Ordinances of the Gold Coast Enacted During the +# Year 1956, p 83 +# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83 +# This Ordinance abolished DST. + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Ghana 1920 1942 - Sep 1 0:00 0:20 - -Rule Ghana 1920 1942 - Dec 31 0:00 0 - +Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020 +Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT +Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020 +Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020 +Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030 +Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Accra -0:00:52 - LMT 1918 - 0:00 Ghana GMT/+0020 +Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2 + 0:00 Ghana %s 1942 Feb 8 + 0:30 - +0030 1946 Jan 6 + 0:00 Ghana %s # Guinea # See Africa/Abidjan. @@ -433,11 +484,54 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u 0:00 - GMT # Kenya + +# From P Chan (2020-10-24): +# +# The standard time of GMT+2:30 was adopted in the East Africa Protectorate.... +# [The Official Gazette, 1908-05-01, p 274] +# https://books.google.com/books?id=e-cAC-sjPSEC&pg=PA274 +# +# At midnight on 30 June 1928 the clocks throughout Kenya was put forward +# half an hour by the Alteration of Time Ordinance, 1928. +# https://gazettes.africa/archive/ke/1928/ke-government-gazette-dated-1928-05-11-no-28.pdf +# [Ordinance No. 11 of 1928, The Offical Gazette, 1928-06-26, p 813] +# https://books.google.com/books?id=2S0S6os32ZUC&pg=PA813 +# +# The 1928 ordinance was repealed by the Alteration of Time (repeal) Ordinance, +# 1929 and the time was restored to GMT+2:30 at midnight on 4 January 1930. +# [Ordinance No. 97 of 1929, The Official Gazette, 1929-12-31, p 2701] +# https://books.google.com/books?id=_g18jIZQlwwC&pg=PA2701 +# +# The Alteration of Time Ordinance, 1936 changed the time to GMT+2:45 +# and repealed the previous ordinance at midnight on 31 December 1936. +# [The Official Gazette, 1936-07-21, p 705] +# https://books.google.com/books?id=K7j41z0aC5wC&pg=PA705 +# +# The Defence (Amendment of Laws No. 120) Regulations changed the time +# to GMT+3 at midnight on 31 July 1942. +# [Kenya Official Gazette Supplement No. 32, 1942-07-21, p 331] +# https://books.google.com/books?hl=zh-TW&id=c_E-AQAAIAAJ&pg=PA331 +# The provision of the 1936 ordinance was not repealed and was later +# incorporated in the Interpretation and General Clauses Ordinance in 1948. +# Although it was overridden by the 1942 regulations. +# [The Laws of Kenya in force on 1948-09-21, Title I, Chapter 1, 31] +# https://dds.crl.edu/item/217517 (p.101) +# In 1950 the Interpretation and General Clauses Ordinance was amended to adopt +# GMT+3 permanently as the 1942 regulations were due to expire on 10 December. +# https://books.google.com/books?id=jvR8mUDAwR0C&pg=PA787 +# [Ordinance No. 44 of 1950, Kenya Ordinances 1950, Vol. XXIX, p 294] +# https://books.google.com/books?id=-_dQAQAAMAAJ&pg=PA294 + +# From Paul Eggert (2020-10-24): +# The 1908-05-01 announcement does not give an effective date, +# so just say "1908 May". + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul - 3:00 - EAT 1930 - 2:30 - +0230 1940 - 2:45 - +0245 1960 +Zone Africa/Nairobi 2:27:16 - LMT 1908 May + 2:30 - +0230 1928 Jun 30 24:00 + 3:00 - EAT 1930 Jan 4 24:00 + 2:30 - +0230 1936 Dec 31 24:00 + 2:45 - +0245 1942 Jul 31 24:00 3:00 - EAT Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia Link Africa/Nairobi Africa/Asmara # Eritrea @@ -1224,8 +1318,69 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 # See Africa/Lagos. # Nigeria + +# From P Chan (2020-12-03): +# GMT was adopted as the standard time of Lagos on 1905-07-01. +# Lagos Weekly Record, 1905-06-24, p 3 +# http://ddsnext.crl.edu/titles/31558#?c=0&m=668&s=0&cv=2&r=0&xywh=1446%2C5221%2C1931%2C1235 +# says "It is officially notified that on and after the 1st of July 1905 +# Greenwich Mean Solar Time will be adopted thought the Colony and +# Protectorate, and that it will be necessary to put all clocks 13 minutes and +# 35 seconds back, recording local mean time." +# +# It seemed that Lagos returned to LMT on 1908-07-01. +# [The Lagos Standard], 1908-07-01, p 5 +# http://ddsnext.crl.edu/titles/31556#?c=0&m=78&s=0&cv=4&r=0&xywh=-92%2C3590%2C3944%2C2523 +# says "Scarcely have the people become accustomed to this new time, when +# another official notice has now appeared announcing that from and after the +# 1st July next, return will be made to local mean time." +# +# From P Chan (2020-11-27): +# On 1914-01-01, standard time of GMT+0:30 was adopted for the unified Nigeria. +# Colonial Reports - Annual. No. 878. Nigeria. Report for 1914. (April 1916), +# p 27 +# https://libsysdigi.library.illinois.edu/ilharvest/Africana/Books2011-05/3064634/3064634_1914/3064634_1914_opt.pdf#page=27 +# "On January 1st [1914], a universal standard time for Nigeria was adopted, +# viz., half an hour fast on Greenwich mean time, corresponding to the meridian +# 7 [degrees] 30' E. long." +# Lloyd's Register of Shipping (1915) says "Hitherto the time observed in Lagos +# was the local mean time. On 1st January, 1914, standard time for the whole of +# Nigeria was introduced ... Lagos time has been advanced about 16 minutes +# accordingly." +# +# In 1919, standard time was changed to GMT+1. +# Interpretation Ordinance (Cap 2) +# The Laws of Nigeria, Containing the Ordinances of Nigeria, in Force on the +# 1st Day of January, 1923, Vol.I [p 16] +# https://books.google.com/books?id=BOMrAQAAMAAJ&pg=PA16 +# "The expression 'Standard time' means standard time as used in Nigeria: +# namely, 60 minutes in advance of Greenwich mean time. (As amended by 18 of +# 1919, s. 2.)" +# From Tim Parenti (2020-12-10): +# The Lagos Weekly Record, 1919-09-20, p 3 details discussion on the first +# reading of this Bill by the Legislative Council of the Colony of Nigeria on +# Thursday 1919-08-28: +# http://ddsnext.crl.edu/titles/31558?terms&item_id=303484#?m=1118&c=1&s=0&cv=2&r=0&xywh=1261%2C3408%2C2994%2C1915 +# "The proposal is that the Globe should be divided into twelve zones East and +# West of Greenwich, of one hour each, Nigeria falling into the zone with a +# standard of one hour fast on Greenwich Mean Time. Nigeria standard time is +# now 30 minutes in advance of Greenwich Mean Time ... according to the new +# proposal, standard time will be advanced another 30 minutes". It was further +# proposed that the firing of the time guns likewise be adjusted by 30 minutes +# to compensate. +# From Tim Parenti (2020-12-10), per P Chan (2020-12-11): +# The text of Ordinance 18 of 1919, published in Nigeria Gazette, Vol 6, No 52, +# shows that the change was assented to the following day and took effect "on +# the 1st day of September, 1919." +# Nigeria Gazette and Supplements 1919 Jan-Dec, Reference: 73266B-40, +# img 245-246 +# https://microform.digital/boa/collections/77/volumes/539/nigeria-lagos-1887-1919 + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Africa/Lagos 0:13:36 - LMT 1919 Sep +Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1 + 0:00 - GMT 1908 Jul 1 + 0:13:35 - LMT 1914 Jan 1 + 0:30 - +0030 1919 Sep 1 1:00 - WAT Link Africa/Lagos Africa/Bangui # Central African Republic Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo @@ -1298,8 +1453,21 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884 # See Africa/Abidjan. # Seychelles + +# From P Chan (2020-11-27): +# Standard Time was adopted on 1907-01-01. +# +# Standard Time Ordinance (Chapter 237) +# The Laws of Seychelles in Force on the 31st December, 1971, Vol. 6, p 571 +# https://books.google.com/books?id=efE-AQAAIAAJ&pg=PA571 +# +# From Tim Parenti (2020-12-05): +# A footnote on https://books.google.com/books?id=DYdDAQAAMAAJ&pg=PA1689 +# confirms that Ordinance No. 9 of 1906 "was brought into force on the 1st +# January, 1907." + # Zone NAME STDOFF RULES FORMAT [UNTIL] -Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria +Zone Indian/Mahe 3:41:48 - LMT 1907 Jan 1 # Victoria 4:00 - +04 # From Paul Eggert (2001-05-30): # Aldabra, Farquhar, and Desroches, originally dependencies of the diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia index 3ebfcb409fce..ed944130e99f 100644 --- a/contrib/tzdata/asia +++ b/contrib/tzdata/asia @@ -1723,40 +1723,180 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890 # high on my favorite-country list (and not only because my wife's # family is from India). -# From Shanks & Pottenger: +# From P Chan (2020-10-27), with corrections: +# +# 1940-1946 Supplement No. 2 to the Palestine Gazette +# # issue page Order No. dated start end note +# 1 1010 729 67 of 1940 1940-05-22 1940-05-31* 1940-09-30* revoked by #2 +# 2 1013 758 73 of 1940 1940-05-31 1940-05-31 1940-09-30 +# 3 1055 1574 196 of 1940 1940-11-06 1940-11-16 1940-12-31 +# 4 1066 1811 208 of 1940 1940-12-17 1940-12-31 1941-12-31 +# 5 1156 1967 116 of 1941 1941-12-16 1941-12-31 1942-12-31* amended by #6 +# 6 1228 1608 86 of 1942 1942-10-14 1941-12-31 1942-10-31 +# 7 1256 279 21 of 1943 1943-03-18 1943-03-31 1943-10-31 +# 8 1323 249 19 of 1944 1944-03-13 1944-03-31 1944-10-31 +# 9 1402 328 20 of 1945 1945-04-05 1945-04-15 1945-10-31 +#10 1487 596 14 of 1946 1946-04-04 1946-04-15 1946-10-31 +# +# 1948 Iton Rishmi (Official Gazette of the Provisional Government) +# # issue page dated start end +#11 2 7 1948-05-20 1948-05-22 1948-10-31* +# ^This moved timezone to +04, replaced by #12 from 1948-08-31 24:00 GMT. +#12 17 (Annex B) 84 1948-08-22 1948-08-31 1948-10-31 +# +# 1949-2000 Kovetz HaTakanot (Collection of Regulations) +# # issue page dated start end note +#13 6 133 1949-03-23 1949-04-30 1949-10-31 +#14 80 755 1950-03-17 1950-04-15 1950-09-14 +#15 164 782 1951-03-22 1951-03-31 1951-09-29* amended by #16 +#16 206 1940 1951-09-23 ---------- 1951-10-22* amended by #17 +#17 212 78 1951-10-19 ---------- 1951-11-10 +#18 254 652 1952-03-03 1952-04-19 1952-09-27* amended by #19 +#19 300 11 1952-09-15 ---------- 1952-10-18 +#20 348 817 1953-03-03 1953-04-11 1953-09-12 +#21 420 385 1954-02-17 1954-06-12 1954-09-11 +#22 497 548 1955-01-14 1955-06-11 1955-09-10 +#23 591 608 1956-03-12 1956-06-02 1956-09-29 +#24 680 957 1957-02-08 1957-04-27 1957-09-21 +#25 3192 1418 1974-06-28 1974-07-06 1974-10-12 +#26 3322 1389 1975-04-03 1975-04-19 1975-08-30 +#27 4146 2089 1980-07-15 1980-08-02 1980-09-13 +#28 4604 1081 1984-02-22 1984-05-05* 1984-08-25* revoked by #29 +#29 4619 1312 1984-04-06 1984-05-05 1984-08-25 +#30 4744 475 1984-12-23 1985-04-13 1985-09-14* amended by #31 +#31 4851 1848 1985-08-18 ---------- 1985-08-31 +#32 4932 899 1986-04-22 1986-05-17 1986-09-06 +#33 5013 580 1987-02-15 1987-04-18* 1987-08-22* revoked by #34 +#34 5021 744 1987-03-30 1987-04-14 1987-09-12 +#35 5096 659 1988-02-14 1988-04-09 1988-09-03 +#36 5167 514 1989-02-03 1989-04-29 1989-09-02 +#37 5248 375 1990-01-23 1990-03-24 1990-08-25 +#38 5335 612 1991-02-10 1991-03-09* 1991-08-31 amended by #39 +# 1992-03-28 1992-09-05 +#39 5339 709 1991-03-04 1991-03-23 ---------- +#40 5506 503 1993-02-18 1993-04-02 1993-09-05 +# 1994-04-01 1994-08-28 +# 1995-03-31 1995-09-03 +#41 5731 438 1996-01-01 1996-03-14 1996-09-15 +# 1997-03-13* 1997-09-18* overridden by 1997 Temp Prov +# 1998-03-19* 1998-09-17* revoked by #42 +#42 5853 1243 1997-09-18 1998-03-19 1998-09-05 +#43 5937 77 1998-10-18 1999-04-02 1999-09-03 +# 2000-04-14* 2000-09-15* revoked by #44 +# 2001-04-13* 2001-09-14* revoked by #44 +#44 6024 39 2000-03-14 2000-04-14 2000-10-22* overridden by 2000 Temp Prov +# 2001-04-06* 2001-10-10* overridden by 2000 Temp Prov +# 2002-03-29* 2002-10-29* overridden by 2000 Temp Prov +# +# These are laws enacted by the Knesset since the Minister could only alter the +# transition dates at least six months in advanced under the 1992 Law. +# dated start end +# 1997 Temporary Provisions 1997-03-06 1997-03-20 1997-09-13 +# 2000 Temporary Provisions 2000-07-28 ---------- 2000-10-06 +# 2001-04-09 2001-09-24 +# 2002-03-29 2002-10-07 +# 2003-03-28 2003-10-03 +# 2004-04-07 2004-09-22 +# Note: +# Transition times in 1940-1957 (#1-#24) were midnight GMT, +# in 1974-1998 (#25-#42 and the 1997 Temporary Provisions) were midnight, +# in 1999-April 2000 (#43,#44) were 02:00, +# in the 2000 Temporary Provisions were 01:00. +# +# ----------------------------------------------------------------------------- +# Links: +# 1 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=687 +# 2 https://findit.library.yale.edu/images_layout/view?parentoid=15537490&increment=716 +# 3 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=721 +# 4 https://findit.library.yale.edu/images_layout/view?parentoid=15537491&increment=958 +# 5 https://findit.library.yale.edu/images_layout/view?parentoid=15537502&increment=558 +# 6 https://findit.library.yale.edu/images_layout/view?parentoid=15537511&increment=105 +# 7 https://findit.library.yale.edu/images_layout/view?parentoid=15537516&increment=278 +# 8 https://findit.library.yale.edu/images_layout/view?parentoid=15537522&increment=248 +# 9 https://findit.library.yale.edu/images_layout/view?parentoid=15537530&increment=329 +#10 https://findit.library.yale.edu/images_layout/view?parentoid=15537537&increment=601 +#11 https://www.nevo.co.il/law_word/law12/er-002.pdf#page=3 +#12 https://www.nevo.co.il/law_word/law12/er-017-t2.pdf#page=4 +#13 https://www.nevo.co.il/law_word/law06/tak-0006.pdf#page=3 +#14 https://www.nevo.co.il/law_word/law06/tak-0080.pdf#page=7 +#15 https://www.nevo.co.il/law_word/law06/tak-0164.pdf#page=10 +#16 https://www.nevo.co.il/law_word/law06/tak-0206.pdf#page=4 +#17 https://www.nevo.co.il/law_word/law06/tak-0212.pdf#page=2 +#18 https://www.nevo.co.il/law_word/law06/tak-0254.pdf#page=4 +#19 https://www.nevo.co.il/law_word/law06/tak-0300.pdf#page=5 +#20 https://www.nevo.co.il/law_word/law06/tak-0348.pdf#page=3 +#21 https://www.nevo.co.il/law_word/law06/tak-0420.pdf#page=5 +#22 https://www.nevo.co.il/law_word/law06/tak-0497.pdf#page=10 +#23 https://www.nevo.co.il/law_word/law06/tak-0591.pdf#page=6 +#24 https://www.nevo.co.il/law_word/law06/tak-0680.pdf#page=3 +#25 https://www.nevo.co.il/law_word/law06/tak-3192.pdf#page=2 +#26 https://www.nevo.co.il/law_word/law06/tak-3322.pdf#page=5 +#27 https://www.nevo.co.il/law_word/law06/tak-4146.pdf#page=2 +#28 https://www.nevo.co.il/law_word/law06/tak-4604.pdf#page=7 +#29 https://www.nevo.co.il/law_word/law06/tak-4619.pdf#page=2 +#30 https://www.nevo.co.il/law_word/law06/tak-4744.pdf#page=11 +#31 https://www.nevo.co.il/law_word/law06/tak-4851.pdf#page=2 +#32 https://www.nevo.co.il/law_word/law06/tak-4932.pdf#page=19 +#33 https://www.nevo.co.il/law_word/law06/tak-5013.pdf#page=8 +#34 https://www.nevo.co.il/law_word/law06/tak-5021.pdf#page=8 +#35 https://www.nevo.co.il/law_word/law06/tak-5096.pdf#page=3 +#36 https://www.nevo.co.il/law_word/law06/tak-5167.pdf#page=2 +#37 https://www.nevo.co.il/law_word/law06/tak-5248.pdf#page=7 +#38 https://www.nevo.co.il/law_word/law06/tak-5335.pdf#page=6 +#39 https://www.nevo.co.il/law_word/law06/tak-5339.pdf#page=7 +#40 https://www.nevo.co.il/law_word/law06/tak-5506.pdf#page=19 +#41 https://www.nevo.co.il/law_word/law06/tak-5731.pdf#page=2 +#42 https://www.nevo.co.il/law_word/law06/tak-5853.pdf#page=3 +#43 https://www.nevo.co.il/law_word/law06/tak-5937.pdf#page=9 +#44 https://www.nevo.co.il/law_word/law06/tak-6024.pdf#page=4 +# +# Time Determination (Temporary Provisions) Law, 1997 +# https://www.nevo.co.il/law_html/law19/p201_003.htm +# +# Time Determination (Temporary Provisions) Law, 2000 +# https://www.nevo.co.il/law_html/law19/p201_004.htm +# +# Time Determination Law, 1992 and amendments +# https://www.nevo.co.il/law_html/law01/p201_002.htm +# https://main.knesset.gov.il/Activity/Legislation/Laws/Pages/LawPrimary.aspx?lawitemid=2001174 + +# From Paul Eggert (2020-10-27): +# Several of the midnight transitions mentioned above are ambiguous; +# are they 00:00, 00:00s, 24:00, or 24:00s? When resolving these ambiguities, +# try to minimize changes from previous tzdb versions, for lack of better info. +# Commentary from previous versions is included below, to help explain this. + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Zion 1940 only - Jun 1 0:00 1:00 D -Rule Zion 1942 1944 - Nov 1 0:00 0 S -Rule Zion 1943 only - Apr 1 2:00 1:00 D -Rule Zion 1944 only - Apr 1 0:00 1:00 D -Rule Zion 1945 only - Apr 16 0:00 1:00 D -Rule Zion 1945 only - Nov 1 2:00 0 S -Rule Zion 1946 only - Apr 16 2:00 1:00 D -Rule Zion 1946 only - Nov 1 0:00 0 S -Rule Zion 1948 only - May 23 0:00 2:00 DD -Rule Zion 1948 only - Sep 1 0:00 1:00 D -Rule Zion 1948 1949 - Nov 1 2:00 0 S -Rule Zion 1949 only - May 1 0:00 1:00 D -Rule Zion 1950 only - Apr 16 0:00 1:00 D -Rule Zion 1950 only - Sep 15 3:00 0 S -Rule Zion 1951 only - Apr 1 0:00 1:00 D -Rule Zion 1951 only - Nov 11 3:00 0 S -Rule Zion 1952 only - Apr 20 2:00 1:00 D -Rule Zion 1952 only - Oct 19 3:00 0 S -Rule Zion 1953 only - Apr 12 2:00 1:00 D -Rule Zion 1953 only - Sep 13 3:00 0 S -Rule Zion 1954 only - Jun 13 0:00 1:00 D -Rule Zion 1954 only - Sep 12 0:00 0 S -Rule Zion 1955 only - Jun 11 2:00 1:00 D -Rule Zion 1955 only - Sep 11 0:00 0 S -Rule Zion 1956 only - Jun 3 0:00 1:00 D -Rule Zion 1956 only - Sep 30 3:00 0 S -Rule Zion 1957 only - Apr 29 2:00 1:00 D -Rule Zion 1957 only - Sep 22 0:00 0 S -Rule Zion 1974 only - Jul 7 0:00 1:00 D -Rule Zion 1974 only - Oct 13 0:00 0 S -Rule Zion 1975 only - Apr 20 0:00 1:00 D -Rule Zion 1975 only - Aug 31 0:00 0 S +Rule Zion 1940 only - May 31 24:00u 1:00 D +Rule Zion 1940 only - Sep 30 24:00u 0 S +Rule Zion 1940 only - Nov 16 24:00u 1:00 D +Rule Zion 1942 1946 - Oct 31 24:00u 0 S +Rule Zion 1943 1944 - Mar 31 24:00u 1:00 D +Rule Zion 1945 1946 - Apr 15 24:00u 1:00 D +Rule Zion 1948 only - May 22 24:00u 2:00 DD +Rule Zion 1948 only - Aug 31 24:00u 1:00 D +Rule Zion 1948 1949 - Oct 31 24:00u 0 S +Rule Zion 1949 only - Apr 30 24:00u 1:00 D +Rule Zion 1950 only - Apr 15 24:00u 1:00 D +Rule Zion 1950 only - Sep 14 24:00u 0 S +Rule Zion 1951 only - Mar 31 24:00u 1:00 D +Rule Zion 1951 only - Nov 10 24:00u 0 S +Rule Zion 1952 only - Apr 19 24:00u 1:00 D +Rule Zion 1952 only - Oct 18 24:00u 0 S +Rule Zion 1953 only - Apr 11 24:00u 1:00 D +Rule Zion 1953 only - Sep 12 24:00u 0 S +Rule Zion 1954 only - Jun 12 24:00u 1:00 D +Rule Zion 1954 only - Sep 11 24:00u 0 S +Rule Zion 1955 only - Jun 11 24:00u 1:00 D +Rule Zion 1955 only - Sep 10 24:00u 0 S +Rule Zion 1956 only - Jun 2 24:00u 1:00 D +Rule Zion 1956 only - Sep 29 24:00u 0 S +Rule Zion 1957 only - Apr 27 24:00u 1:00 D +Rule Zion 1957 only - Sep 21 24:00u 0 S +Rule Zion 1974 only - Jul 6 24:00 1:00 D +Rule Zion 1974 only - Oct 12 24:00 0 S +Rule Zion 1975 only - Apr 19 24:00 1:00 D +Rule Zion 1975 only - Aug 30 24:00 0 S # From Alois Treindl (2019-03-06): # http://www.moin.gov.il/Documents/שעון%20קיץ/clock-50-years-7-2014.pdf @@ -1769,25 +1909,24 @@ Rule Zion 1975 only - Aug 31 0:00 0 S # From Paul Eggert (2019-03-06): # Also see this thread about the moin.gov.il URL: # https://mm.icann.org/pipermail/tz/2018-November/027194.html -Rule Zion 1980 only - Aug 2 0:00 1:00 D -Rule Zion 1980 only - Sep 13 1:00 0 S -Rule Zion 1984 only - May 5 0:00 1:00 D -Rule Zion 1984 only - Aug 25 1:00 0 S - -# From Shanks & Pottenger: -Rule Zion 1985 only - Apr 14 0:00 1:00 D -Rule Zion 1985 only - Sep 15 0:00 0 S -Rule Zion 1986 only - May 18 0:00 1:00 D -Rule Zion 1986 only - Sep 7 0:00 0 S -Rule Zion 1987 only - Apr 15 0:00 1:00 D -Rule Zion 1987 only - Sep 13 0:00 0 S +Rule Zion 1980 only - Aug 2 24:00s 1:00 D +Rule Zion 1980 only - Sep 13 24:00s 0 S +Rule Zion 1984 only - May 5 24:00s 1:00 D +Rule Zion 1984 only - Aug 25 24:00s 0 S + +Rule Zion 1985 only - Apr 13 24:00 1:00 D +Rule Zion 1985 only - Aug 31 24:00 0 S +Rule Zion 1986 only - May 17 24:00 1:00 D +Rule Zion 1986 only - Sep 6 24:00 0 S +Rule Zion 1987 only - Apr 14 24:00 1:00 D +Rule Zion 1987 only - Sep 12 24:00 0 S # From Avigdor Finkelstein (2014-03-05): # I check the Parliament (Knesset) records and there it's stated that the # [1988] transition should take place on Saturday night, when the Sabbath # ends and changes to Sunday. -Rule Zion 1988 only - Apr 10 0:00 1:00 D -Rule Zion 1988 only - Sep 4 0:00 0 S +Rule Zion 1988 only - Apr 9 24:00 1:00 D +Rule Zion 1988 only - Sep 3 24:00 0 S # From Ephraim Silverberg # (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17, 2000-07-25, 2004-12-22, @@ -1817,14 +1956,14 @@ Rule Zion 1988 only - Sep 4 0:00 0 S # (the eve of the 7th of Tishrei in the lunar Hebrew calendar). # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Zion 1989 only - Apr 30 0:00 1:00 D -Rule Zion 1989 only - Sep 3 0:00 0 S -Rule Zion 1990 only - Mar 25 0:00 1:00 D -Rule Zion 1990 only - Aug 26 0:00 0 S -Rule Zion 1991 only - Mar 24 0:00 1:00 D -Rule Zion 1991 only - Sep 1 0:00 0 S -Rule Zion 1992 only - Mar 29 0:00 1:00 D -Rule Zion 1992 only - Sep 6 0:00 0 S +Rule Zion 1989 only - Apr 29 24:00 1:00 D +Rule Zion 1989 only - Sep 2 24:00 0 S +Rule Zion 1990 only - Mar 24 24:00 1:00 D +Rule Zion 1990 only - Aug 25 24:00 0 S +Rule Zion 1991 only - Mar 23 24:00 1:00 D +Rule Zion 1991 only - Aug 31 24:00 0 S +Rule Zion 1992 only - Mar 28 24:00 1:00 D +Rule Zion 1992 only - Sep 5 24:00 0 S Rule Zion 1993 only - Apr 2 0:00 1:00 D Rule Zion 1993 only - Sep 5 0:00 0 S @@ -1853,10 +1992,10 @@ Rule Zion 1995 only - Sep 3 0:00 0 S # where YYYY is the relevant year. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Zion 1996 only - Mar 15 0:00 1:00 D -Rule Zion 1996 only - Sep 16 0:00 0 S -Rule Zion 1997 only - Mar 21 0:00 1:00 D -Rule Zion 1997 only - Sep 14 0:00 0 S +Rule Zion 1996 only - Mar 14 24:00 1:00 D +Rule Zion 1996 only - Sep 15 24:00 0 S +Rule Zion 1997 only - Mar 20 24:00 1:00 D +Rule Zion 1997 only - Sep 13 24:00 0 S Rule Zion 1998 only - Mar 20 0:00 1:00 D Rule Zion 1998 only - Sep 6 0:00 0 S Rule Zion 1999 only - Apr 2 2:00 1:00 D @@ -1908,14 +2047,15 @@ Rule Zion 2010 only - Sep 12 2:00 0 S Rule Zion 2011 only - Oct 2 2:00 0 S Rule Zion 2012 only - Sep 23 2:00 0 S -# From Ephraim Silverberg (2013-06-27): -# On June 23, 2013, the Israeli government approved changes to the -# Time Decree Law. The next day, the changes passed the First Reading -# in the Knesset. The law is expected to pass the Second and Third -# (final) Readings by the beginning of September 2013. -# -# As of 2013, DST starts at 02:00 on the Friday before the last Sunday -# in March. DST ends at 02:00 on the last Sunday of October. +# From Ephraim Silverberg (2020-10-26): +# The current time law (2013) from the State of Israel can be viewed +# (in Hebrew) at: +# ftp://ftp.cs.huji.ac.il/pub/tz/israel/announcements/2013+law.pdf +# It translates to: +# Every year, in the period from the Friday before the last Sunday in +# the month of March at 02:00 a.m. until the last Sunday of the month +# of October at 02:00 a.m., Israel Time will be advanced an additional +# hour such that it will be UTC+3. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia index aa7ab7f23a08..cf8a0638f831 100644 --- a/contrib/tzdata/australasia +++ b/contrib/tzdata/australasia @@ -14,16 +14,13 @@ # Please see the notes below for the controversy about "EST" versus "AEST" etc. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Aus 1917 only - Jan 1 0:01 1:00 D -Rule Aus 1917 only - Mar 25 2:00 0 S -Rule Aus 1942 only - Jan 1 2:00 1:00 D -Rule Aus 1942 only - Mar 29 2:00 0 S -Rule Aus 1942 only - Sep 27 2:00 1:00 D -Rule Aus 1943 1944 - Mar lastSun 2:00 0 S -Rule Aus 1943 only - Oct 3 2:00 1:00 D -# Go with Whitman and the Australian National Standards Commission, which -# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that -# 1944/1945 was just like 1943/1944. +Rule Aus 1917 only - Jan 1 2:00s 1:00 D +Rule Aus 1917 only - Mar lastSun 2:00s 0 S +Rule Aus 1942 only - Jan 1 2:00s 1:00 D +Rule Aus 1942 only - Mar lastSun 2:00s 0 S +Rule Aus 1942 only - Sep 27 2:00s 1:00 D +Rule Aus 1943 1944 - Mar lastSun 2:00s 0 S +Rule Aus 1943 only - Oct 3 2:00s 1:00 D # Zone NAME STDOFF RULES FORMAT [UNTIL] # Northern Territory @@ -115,8 +112,12 @@ Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb # says King Island didn't observe DST from WWII until late 1971. # # Rule NAME FROM TO - IN ON AT SAVE LETTER/S +Rule AT 1916 only - Oct Sun>=1 2:00s 1:00 D +Rule AT 1917 only - Mar lastSun 2:00s 0 S +Rule AT 1917 1918 - Oct Sun>=22 2:00s 1:00 D +Rule AT 1918 1919 - Mar Sun>=1 2:00s 0 S Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 D -Rule AT 1968 only - Mar lastSun 2:00s 0 S +Rule AT 1968 only - Mar Sun>=29 2:00s 0 S Rule AT 1968 1985 - Oct lastSun 2:00s 1:00 D Rule AT 1969 1971 - Mar Sun>=8 2:00s 0 S Rule AT 1972 only - Feb lastSun 2:00s 0 S @@ -136,15 +137,9 @@ Rule AT 2007 only - Mar lastSun 2:00s 0 S Rule AT 2008 max - Apr Sun>=1 2:00s 0 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Australia/Hobart 9:49:16 - LMT 1895 Sep - 10:00 - AEST 1916 Oct 1 2:00 - 10:00 1:00 AEDT 1917 Feb + 10:00 AT AE%sT 1919 Oct 24 10:00 Aus AE%sT 1967 10:00 AT AE%sT -Zone Australia/Currie 9:35:28 - LMT 1895 Sep - 10:00 - AEST 1916 Oct 1 2:00 - 10:00 1:00 AEDT 1917 Feb - 10:00 Aus AE%sT 1971 Jul - 10:00 AT AE%sT # Victoria # Rule NAME FROM TO - IN ON AT SAVE LETTER/S @@ -873,13 +868,36 @@ Zone Pacific/Wake 11:06:28 - LMT 1901 # Vanuatu + +# From P Chan (2020-11-27): +# Joint Daylight Saving Regulation No 59 of 1973 +# New Hebrides Condominium Gazette No 336. December 1973 +# http://www.paclii.org/vu/other/VUNHGovGaz//1973/11.pdf#page=15 +# +# Joint Daylight Saving (Repeal) Regulation No 10 of 1974 +# New Hebrides Condominium Gazette No 336. March 1974 +# http://www.paclii.org/vu/other/VUNHGovGaz//1974/3.pdf#page=11 +# +# Summer Time Act No. 35 of 1982 [commenced 1983-09-01] +# http://www.paclii.org/vu/other/VUGovGaz/1982/32.pdf#page=48 +# +# Summer Time Act (Cap 157) +# Laws of the Republic of Vanuatu Revised Edition 1988 +# http://www.paclii.org/cgi-bin/sinodisp/vu/legis/consol_act1988/sta147/sta147.html +# +# Summer Time (Amendment) Act No. 6 of 1991 [commenced 1991-11-11] +# http://www.paclii.org/vu/legis/num_act/sta1991227/ +# +# Summer Time (Repeal) Act No. 4 of 1993 [commenced 1993-05-03] +# http://www.paclii.org/vu/other/VUGovGaz/1993/15.pdf#page=59 + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S -Rule Vanuatu 1983 only - Sep 25 0:00 1:00 - -Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 - -Rule Vanuatu 1984 only - Oct 23 0:00 1:00 - -Rule Vanuatu 1985 1991 - Sep Sun>=23 0:00 1:00 - -Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 - -Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 - +Rule Vanuatu 1973 only - Dec 22 12:00u 1:00 - +Rule Vanuatu 1974 only - Mar 30 12:00u 0 - +Rule Vanuatu 1983 1991 - Sep Sat>=22 24:00 1:00 - +Rule Vanuatu 1984 1991 - Mar Sat>=22 24:00 0 - +Rule Vanuatu 1992 1993 - Jan Sat>=22 24:00 0 - +Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 - # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila 11:00 Vanuatu +11/+12 @@ -958,6 +976,25 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Electronic Journal of Australian and New Zealand History (1997-03-03) # http://www.jcu.edu.au/aff/history/reviews/davison.htm +# From P Chan (2020-11-20): +# Daylight Saving Act 1916 (No. 40 of 1916) [1916-12-21, commenced 1917-01-01] +# http://classic.austlii.edu.au/au/legis/cth/num_act/dsa1916401916192/ +# +# Daylight Saving Repeal Act 1917 (No. 35 of 1917) [1917-09-25] +# http://classic.austlii.edu.au/au/legis/cth/num_act/dsra1917351917243/ +# +# Statutory Rules 1941, No. 323 [1941-12-24] +# https://www.legislation.gov.au/Details/C1941L00323 +# +# Statutory Rules 1942, No. 392 [1942-09-10] +# https://www.legislation.gov.au/Details/C1942L00392 +# +# Statutory Rules 1943, No. 241 [1943-09-29] +# https://www.legislation.gov.au/Details/C1943L00241 +# +# All transition times should be 02:00 standard time. + + # From Paul Eggert (2005-12-08): # Implementation Dates of Daylight Saving Time within Australia # http://www.bom.gov.au/climate/averages/tables/dst_times.shtml @@ -1350,6 +1387,27 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Tasmania +# From P Chan (2020-11-20): +# Tasmania observed DST in 1916-1919. +# +# Daylight Saving Act, 1916 (7 Geo V, No 2) [1916-09-22] +# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsa19167gvn2267/ +# +# Daylight Saving Amendment Act, 1917 (8 Geo V, No 5) [1917-10-01] +# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsaa19178gvn5347/ +# +# Daylight Saving Act Repeal Act, 1919 (10 Geo V, No 9) [1919-10-24] +# http://classic.austlii.edu.au/au/legis/tas/num_act/tdsara191910gvn9339/ +# +# King Island is mentioned in the 1967 Act but not the 1968 Act. +# Therefore it possibly observed DST from 1968/69. +# +# Daylight Saving Act 1967 (No. 33 of 1967) [1967-09-22] +# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196733o1967211/ +# +# Daylight Saving Act 1968 (No. 42 of 1968) [1968-10-15] +# http://classic.austlii.edu.au/au/legis/tas/num_act/dsa196842o1968211/ + # The rules for 1967 through 1991 were reported by George Shepherd # via Simon Woodhead via Robert Elz (1991-03-06): # # The state of TASMANIA.. [Courtesy Tasmanian Dept of Premier + Cabinet ] diff --git a/contrib/tzdata/backward b/contrib/tzdata/backward index e13ae527a9e8..0c55be221df1 100644 --- a/contrib/tzdata/backward +++ b/contrib/tzdata/backward @@ -49,6 +49,7 @@ Link Atlantic/Faroe Atlantic/Faeroe Link Europe/Oslo Atlantic/Jan_Mayen Link Australia/Sydney Australia/ACT Link Australia/Sydney Australia/Canberra +Link Australia/Hobart Australia/Currie Link Australia/Lord_Howe Australia/LHI Link Australia/Sydney Australia/NSW Link Australia/Darwin Australia/North diff --git a/contrib/tzdata/backzone b/contrib/tzdata/backzone index 563aff606155..3ce7277314c0 100644 --- a/contrib/tzdata/backzone +++ b/contrib/tzdata/backzone @@ -623,6 +623,12 @@ Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown -0:22:48 - JMT 1951 # Jamestown Mean Time 0:00 - GMT +# King Island +Zone Australia/Currie 9:35:28 - LMT 1895 Sep + 10:00 AT AE%sT 1919 Oct 24 + 10:00 Aus AE%sT 1968 Oct 15 + 10:00 AT AE%sT + # Northern Ireland Zone Europe/Belfast -0:23:40 - LMT 1880 Aug 2 *** 468 LINES SKIPPED *** From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 15:52:06 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B70654C4EFA; Fri, 25 Dec 2020 15:52: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2WfG3p7sz3Mxr; Fri, 25 Dec 2020 15:52:06 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 75BEE2507A; Fri, 25 Dec 2020 15:52:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPFq65W029640; Fri, 25 Dec 2020 15:52:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPFq66N029639; Fri, 25 Dec 2020 15:52:06 GMT (envelope-from git) Date: Fri, 25 Dec 2020 15:52:06 GMT Message-Id: <202012251552.0BPFq66N029639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5e179af595cb - MFC r368775: Remove redundand redefinion, fixing build. 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 5e179af595cb206a4ded85b6290d8952f426f8a6 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 15:52:06 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5e179af595cb206a4ded85b6290d8952f426f8a6 commit 5e179af595cb206a4ded85b6290d8952f426f8a6 Author: Konstantin Belousov AuthorDate: 2020-12-19 01:46:47 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-25 15:51:29 +0000 MFC r368775: Remove redundand redefinion, fixing build. (cherry picked from commit 15575436693e953816a18acd4d9c0bf35d8ca39c) --- usr.sbin/pmc/cmd_pmc_summary.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr.sbin/pmc/cmd_pmc_summary.cc b/usr.sbin/pmc/cmd_pmc_summary.cc index 8eb53eccf0cf..d2ffa74552b6 100644 --- a/usr.sbin/pmc/cmd_pmc_summary.cc +++ b/usr.sbin/pmc/cmd_pmc_summary.cc @@ -81,8 +81,6 @@ typedef std::pair sampleid; typedef std::pair samplename; typedef unordered_map > eventcountmap; -#define P_KPROC 0x00004 /* Kernel process. */ - static void __dead2 usage(void) { From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 18:25:49 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4554C4C787F; Fri, 25 Dec 2020 18:25: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2b3d12skz3lLt; Fri, 25 Dec 2020 18:25:49 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 16B7426B65; Fri, 25 Dec 2020 18:25:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPIPn87091297; Fri, 25 Dec 2020 18:25:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPIPntO091296; Fri, 25 Dec 2020 18:25:49 GMT (envelope-from git) Date: Fri, 25 Dec 2020 18:25:49 GMT Message-Id: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 162b82dfa0cb - MFC r355876 (by cem): MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 162b82dfa0cbc4a744f13559ac0574ae7dc9f663 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 18:25:49 -0000 The branch stable/12 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=162b82dfa0cbc4a744f13559ac0574ae7dc9f663 commit 162b82dfa0cbc4a744f13559ac0574ae7dc9f663 Author: Conrad Meyer AuthorDate: 2019-12-18 06:22:28 +0000 Commit: Vladimir Kondratyev CommitDate: 2020-12-25 18:22:57 +0000 MFC r355876 (by cem): acpi(4): Add _CID to PNP info string While a given ACPI device may have 0-N compatibility IDs, in practice most seem to have 0 or 1. If one is present, emit it as part of the PNP info string associated with a device. This could enable MODULE_PNP_INFO-based automatic kldload for ACPI drivers associated with a given _CID (but without a good _HID or _UID identifier). Reviewed by: imp, jhb Differential Revision: https://reviews.freebsd.org/D22846 (cherry picked from commit 359a5f96a1685f6779e7ddbe5daafd67e73a066e) --- sys/dev/acpica/acpi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index a0b9a19f6090..6d7ed154c463 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -885,11 +885,14 @@ acpi_pnpinfo_str(ACPI_HANDLE handle, char *buf, size_t buflen) return (0); } - snprintf(buf, buflen, "_HID=%s _UID=%lu", + snprintf(buf, buflen, "_HID=%s _UID=%lu _CID=%s", (adinfo->Valid & ACPI_VALID_HID) ? adinfo->HardwareId.String : "none", (adinfo->Valid & ACPI_VALID_UID) ? - strtoul(adinfo->UniqueId.String, NULL, 10) : 0UL); + strtoul(adinfo->UniqueId.String, NULL, 10) : 0UL, + ((adinfo->Valid & ACPI_VALID_CID) && + adinfo->CompatibleIdList.Count > 0) ? + adinfo->CompatibleIdList.Ids[0].String : "none"); AcpiOsFree(adinfo); return (0); From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 20:39:16 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B64B94C9B89; Fri, 25 Dec 2020 20:39:16 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2f1c4mVYz3rpX; Fri, 25 Dec 2020 20:39:16 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 9723D9E2; Fri, 25 Dec 2020 20:39:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPKdGLO031485; Fri, 25 Dec 2020 20:39:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPKdGt9031484; Fri, 25 Dec 2020 20:39:16 GMT (envelope-from git) Date: Fri, 25 Dec 2020 20:39:16 GMT Message-Id: <202012252039.0BPKdGt9031484@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brandon Bergren Subject: git: 5c51ee529fd4 - MFC r361024: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bdragon X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 5c51ee529fd49ba9c54af691fc8f1228fa8f18eb Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 20:39:16 -0000 The branch stable/12 has been updated by bdragon: URL: https://cgit.FreeBSD.org/src/commit/?id=5c51ee529fd49ba9c54af691fc8f1228fa8f18eb commit 5c51ee529fd49ba9c54af691fc8f1228fa8f18eb Author: Brandon Bergren AuthorDate: 2020-05-14 04:00:35 +0000 Commit: Brandon Bergren CommitDate: 2020-12-25 20:33:55 +0000 MFC r361024: [PowerPC] Fix wrong instructions in _savegpr_X. We were accidentally using stfd instead of stw in our SAVEGPR macro. This has almost certainly been causing crashes when compiling with -Os. Reviewed by: jhibbits (in irc) Sponsored by: Tag1 Consulting, Inc. (cherry picked from commit 3dbb9df36bdb0a7e8e00f24f94fa06a802a3eeee) --- lib/csu/powerpc/crtsavres.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/csu/powerpc/crtsavres.S b/lib/csu/powerpc/crtsavres.S index 2341b611b4d9..582b69f2fe37 100644 --- a/lib/csu/powerpc/crtsavres.S +++ b/lib/csu/powerpc/crtsavres.S @@ -93,7 +93,7 @@ RESTFPR(31) blr #define SAVEGPR(r) _CRTENTRY(__CONCAT(_savegpr_,r)) \ - stfd r,(-128 + r*4)(11) + stw r,(-128 + r * 4)(11) SAVEGPR(14) SAVEGPR(15) @@ -165,7 +165,7 @@ RESTFPR_X(31) blr #define RESTGPR_X(r) _CRTENTRY(__CONCAT(__CONCAT(_restgpr_,r),_x)) \ - lwz r,(-128 + r*4)(11) + lwz r,(-128 + r * 4)(11) RESTGPR_X(14) RESTGPR_X(15) From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 20:47:19 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B4F134C9C1C; Fri, 25 Dec 2020 20:47: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2fBv4q2gz3s55; Fri, 25 Dec 2020 20:47:19 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 9832AD41; Fri, 25 Dec 2020 20:47:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPKlJbO042954; Fri, 25 Dec 2020 20:47:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPKlJZZ042953; Fri, 25 Dec 2020 20:47:19 GMT (envelope-from git) Date: Fri, 25 Dec 2020 20:47:19 GMT Message-Id: <202012252047.0BPKlJZZ042953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brandon Bergren Subject: git: efc7664f9ba1 - MFC r361703: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bdragon X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: efc7664f9ba1322ab5ba47a1a64e29fa661021ed Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 20:47:19 -0000 The branch stable/12 has been updated by bdragon: URL: https://cgit.FreeBSD.org/src/commit/?id=efc7664f9ba1322ab5ba47a1a64e29fa661021ed commit efc7664f9ba1322ab5ba47a1a64e29fa661021ed Author: Brandon Bergren AuthorDate: 2020-06-01 19:40:59 +0000 Commit: Brandon Bergren CommitDate: 2020-12-25 20:42:10 +0000 MFC r361703: [PowerPC] Fix build-id note on powerpc64 kernel Due to the ordering of the powerpc64 linker script, we were discarding all notes before emitting .note.gnu.build-id. This had the effect of generating an empty build id section and breaking the kern.build_id sysctl added in r348611. powerpc and powerpcspe are uneffected. PR: 246430 Sponsored by: Tag1 Consulting, Inc. (cherry picked from commit 30dc2aebd7e88d43d620bba765edd21fcd20f3be) --- sys/conf/ldscript.powerpc64 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/conf/ldscript.powerpc64 b/sys/conf/ldscript.powerpc64 index 6ee7697ce3f8..e7c78c9eb1df 100644 --- a/sys/conf/ldscript.powerpc64 +++ b/sys/conf/ldscript.powerpc64 @@ -32,9 +32,6 @@ SECTIONS .interpX : { *(.interp) } : NONE /DISCARD/ : { *(.interp) } - /* Also delete notes */ - /DISCARD/ : { *(.note.*) } - .hash : { *(.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } @@ -46,6 +43,10 @@ SECTIONS *(.note.gnu.build-id) PROVIDE (__build_id_end = .); } + + /* Do not emit any additional notes. */ + /DISCARD/ : { *(.note.*) } + .rela.text : { *(.rela.text) *(.rela.gnu.linkonce.t*) } .rela.data : From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 21:06:51 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BEAFE4C9AF5; Fri, 25 Dec 2020 21:06: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2fdR4MgLz3syX; Fri, 25 Dec 2020 21:06:51 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 842361191; Fri, 25 Dec 2020 21:06:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPL6prw064266; Fri, 25 Dec 2020 21:06:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPL6p4k064265; Fri, 25 Dec 2020 21:06:51 GMT (envelope-from git) Date: Fri, 25 Dec 2020 21:06:51 GMT Message-Id: <202012252106.0BPL6p4k064265@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brandon Bergren Subject: git: 2ca7f72fee3c - MFC r364447: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bdragon X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 2ca7f72fee3cffa0cc366c1db69199b436f2e908 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 21:06:51 -0000 The branch stable/12 has been updated by bdragon: URL: https://cgit.FreeBSD.org/src/commit/?id=2ca7f72fee3cffa0cc366c1db69199b436f2e908 commit 2ca7f72fee3cffa0cc366c1db69199b436f2e908 Author: Brandon Bergren AuthorDate: 2020-08-21 03:31:01 +0000 Commit: Brandon Bergren CommitDate: 2020-12-25 21:00:51 +0000 MFC r364447: [PowerPC] Fix translation-related crashes during startup After spending a lot of time trying to track down what was going on, I have isolated the "black screen" failures when using boot1 to boot a G4 machine. It turns out we were replacing the traps before installing the temporary BAT entry for the bottom of physical memory. That meant that until the MMU was bootstrapped, the cached translations were the only thing keeping us from losing. Throwing boot1 into the mix was affecting execution flow enough to cause us to hit an uncached page and crash. Fix this by properly setting up the initial BAT entry at the same time we are replacing the OpenFirmware traps, so we can continue executing in segment 0 until the rest of the DMAP has been set up. A second thing discovered while researching this is that we were entering a BAT region for segment 16. It turns out this range was a) considered part of KVA, and b) has firmware mappings with varying attributes. If we ever accessed an unmapped page in segment 16, it would cause a BAT entry to be installed for the whole segment, which would bypass the existing mappings until it was flushed out again. Instead, translate the OFW memory attributes into VM memory attributes and install the ranges into the kernel address space properly. Reviewed by: adalava MFC after: 3 weeks Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D25547 (cherry picked from commit f10baa404986adb5733fd5745d467a8f69409ce3) --- sys/powerpc/aim/aim_machdep.c | 19 ++++++++++++ sys/powerpc/aim/mmu_oea.c | 67 ++++++++++++++++++++++++------------------- 2 files changed, 57 insertions(+), 29 deletions(-) diff --git a/sys/powerpc/aim/aim_machdep.c b/sys/powerpc/aim/aim_machdep.c index 6d84798ee21d..aff409d3ccc5 100644 --- a/sys/powerpc/aim/aim_machdep.c +++ b/sys/powerpc/aim/aim_machdep.c @@ -361,6 +361,25 @@ aim_cpu_init(vm_offset_t toc) bcopy(&restorebridge, (void *)EXC_MCHK, trap_offset); bcopy(&restorebridge, (void *)EXC_TRC, trap_offset); bcopy(&restorebridge, (void *)EXC_BPT, trap_offset); + } else { + + /* + * Use an IBAT and a DBAT to map the bottom 256M segment. + * + * It is very important to do it *now* to avoid taking a + * fault in .text / .data before the MMU is bootstrapped, + * because until then, the translation data has not been + * copied over from OpenFirmware, so our DSI/ISI will fail + * to find a match. + */ + + battable[0x0].batl = BATL(0x00000000, BAT_M, BAT_PP_RW); + battable[0x0].batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs); + + __asm (".balign 32; \n" + "mtibatu 0,%0; mtibatl 0,%1; isync; \n" + "mtdbatu 0,%0; mtdbatl 0,%1; isync" + :: "r"(battable[0].batu), "r"(battable[0].batl)); } #else trapsize = (size_t)&hypertrapcodeend - (size_t)&hypertrapcode; diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index 187a96d4e90a..03e8218c187e 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -420,6 +420,32 @@ moea_calc_wimg(vm_paddr_t pa, vm_memattr_t ma) return pte_lo; } +/* + * Translate OFW translations into VM attributes. + */ +static __inline vm_memattr_t +moea_bootstrap_convert_wimg(uint32_t mode) +{ + + switch (mode) { + case (PTE_I | PTE_G): + /* PCI device memory */ + return VM_MEMATTR_UNCACHEABLE; + case (PTE_M): + /* Explicitly coherent */ + return VM_MEMATTR_CACHEABLE; + case 0: /* Default claim */ + case 2: /* Alternate PP bits set by OF for the original payload */ + /* "Normal" memory. */ + return VM_MEMATTR_DEFAULT; + + default: + /* Err on the side of caution for unknowns */ + /* XXX should we panic instead? */ + return VM_MEMATTR_UNCACHEABLE; + } +} + static void tlbie(vm_offset_t va) { @@ -670,13 +696,6 @@ moea_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) vm_size_t size, physsz, hwphyssz; vm_offset_t pa, va, off; void *dpcpu; - register_t msr; - - /* - * Set up BAT0 to map the lowest 256 MB area - */ - battable[0x0].batl = BATL(0x00000000, BAT_M, BAT_PP_RW); - battable[0x0].batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs); /* * Map PCI memory space. @@ -693,24 +712,7 @@ moea_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) battable[0xb].batl = BATL(0xb0000000, BAT_I|BAT_G, BAT_PP_RW); battable[0xb].batu = BATU(0xb0000000, BAT_BL_256M, BAT_Vs); - /* - * Map obio devices. - */ - battable[0xf].batl = BATL(0xf0000000, BAT_I|BAT_G, BAT_PP_RW); - battable[0xf].batu = BATU(0xf0000000, BAT_BL_256M, BAT_Vs); - - /* - * Use an IBAT and a DBAT to map the bottom segment of memory - * where we are. Turn off instruction relocation temporarily - * to prevent faults while reprogramming the IBAT. - */ - msr = mfmsr(); - mtmsr(msr & ~PSL_IR); - __asm (".balign 32; \n" - "mtibatu 0,%0; mtibatl 0,%1; isync; \n" - "mtdbatu 0,%0; mtdbatl 0,%1; isync" - :: "r"(battable[0].batu), "r"(battable[0].batl)); - mtmsr(msr); + powerpc_sync(); /* map pci space */ __asm __volatile("mtdbatu 1,%0" :: "r"(battable[8].batu)); @@ -910,15 +912,22 @@ moea_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) /* * If the mapping is 1:1, let the RAM and device * on-demand BAT tables take care of the translation. + * + * However, always enter mappings for segment 16, + * which is mixed-protection and therefore not + * compatible with a BAT entry. */ - if (translations[i].om_va == translations[i].om_pa) - continue; + if ((translations[i].om_va >> ADDR_SR_SHFT) != 0xf && + translations[i].om_va == translations[i].om_pa) + continue; /* Enter the pages */ for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) - moea_kenter(mmup, translations[i].om_va + off, - translations[i].om_pa + off); + moea_kenter_attr(mmup, + translations[i].om_va + off, + translations[i].om_pa + off, + moea_bootstrap_convert_wimg(translations[i].om_mode)); } } From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 21:07:17 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2B4194C9E6B; Fri, 25 Dec 2020 21:07:17 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2fdx0fL1z3skt; Fri, 25 Dec 2020 21:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 088E9120E; Fri, 25 Dec 2020 21:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BPL7GfJ064378; Fri, 25 Dec 2020 21:07:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BPL7GRu064377; Fri, 25 Dec 2020 21:07:16 GMT (envelope-from git) Date: Fri, 25 Dec 2020 21:07:16 GMT Message-Id: <202012252107.0BPL7GRu064377@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brandon Bergren Subject: git: a6922d706d52 - MFC r364447: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bdragon X-Git-Repository: src X-Git-Refname: refs/heads/stable/11 X-Git-Reftype: branch X-Git-Commit: a6922d706d5295177593b0cb4c1c2364b28ba1a8 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 21:07:17 -0000 The branch stable/11 has been updated by bdragon: URL: https://cgit.FreeBSD.org/src/commit/?id=a6922d706d5295177593b0cb4c1c2364b28ba1a8 commit a6922d706d5295177593b0cb4c1c2364b28ba1a8 Author: Brandon Bergren AuthorDate: 2020-08-21 03:31:01 +0000 Commit: Brandon Bergren CommitDate: 2020-12-25 21:04:54 +0000 MFC r364447: [PowerPC] Fix translation-related crashes during startup After spending a lot of time trying to track down what was going on, I have isolated the "black screen" failures when using boot1 to boot a G4 machine. It turns out we were replacing the traps before installing the temporary BAT entry for the bottom of physical memory. That meant that until the MMU was bootstrapped, the cached translations were the only thing keeping us from losing. Throwing boot1 into the mix was affecting execution flow enough to cause us to hit an uncached page and crash. Fix this by properly setting up the initial BAT entry at the same time we are replacing the OpenFirmware traps, so we can continue executing in segment 0 until the rest of the DMAP has been set up. A second thing discovered while researching this is that we were entering a BAT region for segment 16. It turns out this range was a) considered part of KVA, and b) has firmware mappings with varying attributes. If we ever accessed an unmapped page in segment 16, it would cause a BAT entry to be installed for the whole segment, which would bypass the existing mappings until it was flushed out again. Instead, translate the OFW memory attributes into VM memory attributes and install the ranges into the kernel address space properly. Reviewed by: adalava MFC after: 3 weeks Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D25547 (cherry picked from commit f10baa404986adb5733fd5745d467a8f69409ce3) --- sys/powerpc/aim/aim_machdep.c | 19 ++++++++++++ sys/powerpc/aim/mmu_oea.c | 67 ++++++++++++++++++++++++------------------- 2 files changed, 57 insertions(+), 29 deletions(-) diff --git a/sys/powerpc/aim/aim_machdep.c b/sys/powerpc/aim/aim_machdep.c index ab09ab6b5ad7..5bcf9e11dc54 100644 --- a/sys/powerpc/aim/aim_machdep.c +++ b/sys/powerpc/aim/aim_machdep.c @@ -307,6 +307,25 @@ aim_cpu_init(vm_offset_t toc) bcopy(&restorebridge, (void *)EXC_MCHK, trap_offset); bcopy(&restorebridge, (void *)EXC_TRC, trap_offset); bcopy(&restorebridge, (void *)EXC_BPT, trap_offset); + } else { + + /* + * Use an IBAT and a DBAT to map the bottom 256M segment. + * + * It is very important to do it *now* to avoid taking a + * fault in .text / .data before the MMU is bootstrapped, + * because until then, the translation data has not been + * copied over from OpenFirmware, so our DSI/ISI will fail + * to find a match. + */ + + battable[0x0].batl = BATL(0x00000000, BAT_M, BAT_PP_RW); + battable[0x0].batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs); + + __asm (".balign 32; \n" + "mtibatu 0,%0; mtibatl 0,%1; isync; \n" + "mtdbatu 0,%0; mtdbatl 0,%1; isync" + :: "r"(battable[0].batu), "r"(battable[0].batl)); } #endif diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index 827088ae34be..8804bdff46d4 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -413,6 +413,32 @@ moea_calc_wimg(vm_paddr_t pa, vm_memattr_t ma) return pte_lo; } +/* + * Translate OFW translations into VM attributes. + */ +static __inline vm_memattr_t +moea_bootstrap_convert_wimg(uint32_t mode) +{ + + switch (mode) { + case (PTE_I | PTE_G): + /* PCI device memory */ + return VM_MEMATTR_UNCACHEABLE; + case (PTE_M): + /* Explicitly coherent */ + return VM_MEMATTR_CACHEABLE; + case 0: /* Default claim */ + case 2: /* Alternate PP bits set by OF for the original payload */ + /* "Normal" memory. */ + return VM_MEMATTR_DEFAULT; + + default: + /* Err on the side of caution for unknowns */ + /* XXX should we panic instead? */ + return VM_MEMATTR_UNCACHEABLE; + } +} + static void tlbie(vm_offset_t va) { @@ -663,13 +689,6 @@ moea_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) vm_size_t size, physsz, hwphyssz; vm_offset_t pa, va, off; void *dpcpu; - register_t msr; - - /* - * Set up BAT0 to map the lowest 256 MB area - */ - battable[0x0].batl = BATL(0x00000000, BAT_M, BAT_PP_RW); - battable[0x0].batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs); /* * Map PCI memory space. @@ -686,24 +705,7 @@ moea_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) battable[0xb].batl = BATL(0xb0000000, BAT_I|BAT_G, BAT_PP_RW); battable[0xb].batu = BATU(0xb0000000, BAT_BL_256M, BAT_Vs); - /* - * Map obio devices. - */ - battable[0xf].batl = BATL(0xf0000000, BAT_I|BAT_G, BAT_PP_RW); - battable[0xf].batu = BATU(0xf0000000, BAT_BL_256M, BAT_Vs); - - /* - * Use an IBAT and a DBAT to map the bottom segment of memory - * where we are. Turn off instruction relocation temporarily - * to prevent faults while reprogramming the IBAT. - */ - msr = mfmsr(); - mtmsr(msr & ~PSL_IR); - __asm (".balign 32; \n" - "mtibatu 0,%0; mtibatl 0,%1; isync; \n" - "mtdbatu 0,%0; mtdbatl 0,%1; isync" - :: "r"(battable[0].batu), "r"(battable[0].batl)); - mtmsr(msr); + powerpc_sync(); /* map pci space */ __asm __volatile("mtdbatu 1,%0" :: "r"(battable[8].batu)); @@ -903,15 +905,22 @@ moea_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) /* * If the mapping is 1:1, let the RAM and device * on-demand BAT tables take care of the translation. + * + * However, always enter mappings for segment 16, + * which is mixed-protection and therefore not + * compatible with a BAT entry. */ - if (translations[i].om_va == translations[i].om_pa) - continue; + if ((translations[i].om_va >> ADDR_SR_SHFT) != 0xf && + translations[i].om_va == translations[i].om_pa) + continue; /* Enter the pages */ for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) - moea_kenter(mmup, translations[i].om_va + off, - translations[i].om_pa + off); + moea_kenter_attr(mmup, + translations[i].om_va + off, + translations[i].om_pa + off, + moea_bootstrap_convert_wimg(translations[i].om_mode)); } } From owner-dev-commits-src-branches@freebsd.org Fri Dec 25 22:32:06 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 49AF74CC0BF; Fri, 25 Dec 2020 22:32:06 +0000 (UTC) (envelope-from agapon@gmail.com) Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) (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 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2hWp1Y7fz4T0p; Fri, 25 Dec 2020 22:32:06 +0000 (UTC) (envelope-from agapon@gmail.com) Received: by mail-lf1-f48.google.com with SMTP id a12so11850474lfl.6; Fri, 25 Dec 2020 14:32:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=vVSleRGZ8aSwfB0XC5pAaEZMlSt6u/fz93XzxJEzvfA=; b=mbNV31toZdeQozKPUI6fvYRh1FyezVevDV59wAa30sUvXozDp8X+nCFM5s+qEKsF/R HdYERGzBRhBYF88FS3u0rTaGixT4iiFID8tdryBjP7U8bR4qlWHVWadqi/7kPam8SqgO BwaOxhkUIlYdINxI9faSC3S5jpYtlvR4owSsLMM1tUHodP5VPGhoQwaihWFoXum/GBn0 ZGmChQeJ5Kpe0rL9e9GsEuWZINfuLbgzsgtoi4+HwUylKpob/mWzKkQyOnfzdeIj2FCl JMDZhq9CFzgUakIYA3DmFQUEy874I9rftMz48py3Cg+7X2BOfa6qRcGg4U2L0AdJi8T3 lulw== X-Gm-Message-State: AOAM530RdmnB6v4DOOYlYelVYBstCPCDSLcI1mVZjSkdlTcUOyjnSQ9t N0od8EMxm3unHFVzyiwEuJNyXh//AR4= X-Google-Smtp-Source: ABdhPJybgekaSHlDdwaKrPnS5Mtek3aa0yUPWymNPG+vBX4pZwuK1vf4658wUyJjkXV2Niu+YLDz3Q== X-Received: by 2002:ac2:58f4:: with SMTP id v20mr14589959lfo.636.1608935524239; Fri, 25 Dec 2020 14:32:04 -0800 (PST) Received: from [192.168.0.24] ([195.64.148.76]) by smtp.googlemail.com with ESMTPSA id r8sm4805071ljd.140.2020.12.25.14.32.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 25 Dec 2020 14:32:03 -0800 (PST) Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): To: Vladimir Kondratyev , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> From: Andriy Gapon Message-ID: <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> Date: Sat, 26 Dec 2020 00:32:02 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4D2hWp1Y7fz4T0p X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Dec 2020 22:32:06 -0000 On 2020-12-25 20:25, Vladimir Kondratyev wrote: > MFC r355876 (by cem): > > acpi(4): Add _CID to PNP info string I think that it would be better to merge those two lines into one. >From the perspective of git log --oneline. -- Andriy Gapon From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 00:04:51 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DCF6C4CD479; Sat, 26 Dec 2020 00:04:51 +0000 (UTC) (envelope-from bdragon@imap.cc) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (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 4D2kZm5QYkz4XVj; Sat, 26 Dec 2020 00:04:48 +0000 (UTC) (envelope-from bdragon@imap.cc) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id D3AEF5C00B9; Fri, 25 Dec 2020 19:04:47 -0500 (EST) Received: from imap1 ([10.202.2.51]) by compute5.internal (MEProxy); Fri, 25 Dec 2020 19:04:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imap.cc; h= mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm2; bh=eo2pGbBSJInuh8JxedamiJz1dOHLZqD +00yl2LtNs5c=; b=harIzyUwnYa1eyvZIoTa2AvyGkixmlsWOOF7cXDAsOTvHv7 KNSjPCnrio1uvcza06aSR0DdTgxXEEXghqFcwxexbl8Ug/l8WLURERGQw9yeGdjf GhbJIcVbI7zp2X9P3tmM8cKlEJ2jlre8SLjD3eB4kX44V+FhsyPwXgs223I1Kh9Z tzBDBQ5zW0xHP+1UXKPWOMXz3h7ECG8kd9/0W6Jk6x7sai9djMYctZMdDKCqWke/ TELgsyKwb/yLGiReopEhPqkTyikA9DUnMqTAlFWPEVqD3aCMAtcj+7SktHumo0lK LkadzOM4DJuIugd4SkMGpZZID714uQhjYGzyv5Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=eo2pGb BSJInuh8JxedamiJz1dOHLZqD+00yl2LtNs5c=; b=jp5gnIN24d9TtDbK5r7Vik qt+wG1kVNkRyGCeB/nY8pD3JxPDH63vN3CvVoTERnGy1y3TGBxHQjYofycO/giq/ 0pExweJpOfRUeRP41ewPPeubGt4CkloO+ZD3xBmq82dGHzTdb3CvfdxUb98C12jg ArqPJmBNmV5yAAzKSCPouYepx4+4Ac3QLWPmxXcZERYMQSCcGSQB9f74Mg6bnODj qS0GDYcgI1iRdayflbKJHdmlWkurtaZTZ+jMR0CmZJDRnlYUAxxp7tJhswdSUNVL tc3FQSmSr8oi3HrWBtPpqHVilfi4kxZtKmFgBrS/M+S1lRvuQNZV/U+QSxM1NfKQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdduvddgudehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdluddtmdenucfjughrpefofg ggkfgjfhffhffvufgtsehttdertderreejnecuhfhrohhmpedfuehrrghnughonhcuuegv rhhgrhgvnhdfuceosggurhgrghhonhesihhmrghprdgttgeqnecuggftrfgrthhtvghrnh epgfffieeihedugfffhfehjeetfeekuedvgefgjefhhffhiefhfeejledtieejjeffnecu ffhomhgrihhnpehfrhgvvggsshgurdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepsggurhgrghhonhesihhmrghprdgttg X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id ED15DC200A5; Fri, 25 Dec 2020 19:04:47 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.1-61-gb52c239-fm-20201210.001-gb52c2396 Mime-Version: 1.0 Message-Id: <0daef1d3-4b70-430e-acfe-5c881a53341c@www.fastmail.com> In-Reply-To: <202012251347.0BPDlc8U082236@gitrepo.freebsd.org> References: <202012251347.0BPDlc8U082236@gitrepo.freebsd.org> Date: Fri, 25 Dec 2020 18:04:27 -0600 From: "Brandon Bergren" To: "Konstantin Belousov" , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: =?UTF-8?Q?Re:_git:_ed52452d6e52_-_MFC_r368772:_Add_ELF_flag_to_disable_A?= =?UTF-8?Q?SLR_stack_gap.?= Content-Type: text/plain X-Rspamd-Queue-Id: 4D2kZm5QYkz4XVj X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 00:04:51 -0000 Build broken on stable-12 i386 (detected by my local CI where I'm testing git CI): 17:26:24 --- kern_exec.o --- 17:26:24 /usr/src/sys/kern/kern_exec.c:1508:34: error: incompatible pointer types passing 'uintptr_t *' (aka 'unsigned int *') to parameter of type 'u_long *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] 17:26:24 imgp->sysent->sv_stackgap(imgp, dp); 17:26:24 ^~ On Fri, Dec 25, 2020, at 7:47 AM, Konstantin Belousov wrote: > The branch stable/12 has been updated by kib: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=ed52452d6e52a37409c15b13c0efca8d0b28c44e > > commit ed52452d6e52a37409c15b13c0efca8d0b28c44e > Author: Konstantin Belousov > AuthorDate: 2020-12-18 23:14:39 +0000 > Commit: Konstantin Belousov > CommitDate: 2020-12-25 13:44:33 +0000 > > MFC r368772: > Add ELF flag to disable ASLR stack gap. > > PR: 239873 > > (cherry picked from commit 673e2dd652156342009930cf1f7d15623e4a543a) > --- > sys/compat/freebsd32/freebsd32_misc.c | 3 +-- > sys/kern/imgact_elf.c | 2 -- > sys/kern/kern_exec.c | 14 ++++++++++++-- > sys/sys/elf_common.h | 1 + > sys/sys/imgact.h | 1 + > usr.bin/elfctl/elfctl.c | 1 + > 6 files changed, 16 insertions(+), 6 deletions(-) > > diff --git a/sys/compat/freebsd32/freebsd32_misc.c > b/sys/compat/freebsd32/freebsd32_misc.c > index 76054c8046a0..6c9ede34c1dc 100644 > --- a/sys/compat/freebsd32/freebsd32_misc.c > +++ b/sys/compat/freebsd32/freebsd32_misc.c > @@ -3224,9 +3224,8 @@ freebsd32_copyout_strings(struct image_params > *imgp) > destp -= ARG_MAX - imgp->args->stringspace; > destp = rounddown2(destp, sizeof(uint32_t)); > > + exec_stackgap(imgp, &destp); > vectp = (uint32_t *)destp; > - if (imgp->sysent->sv_stackgap != NULL) > - imgp->sysent->sv_stackgap(imgp, (u_long *)&vectp); > > if (imgp->auxargs) { > /* > diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c > index b1828591fc33..e436c34d1d1b 100644 > --- a/sys/kern/imgact_elf.c > +++ b/sys/kern/imgact_elf.c > @@ -2757,8 +2757,6 @@ __elfN(stackgap)(struct image_params *imgp, > u_long *stack_base) > u_long range, rbase, gap; > int pct; > > - if ((imgp->map_flags & MAP_ASLR) == 0) > - return; > pct = __elfN(aslr_stack_gap); > if (pct == 0) > return; > diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c > index cd6c231479bb..812d5e827093 100644 > --- a/sys/kern/kern_exec.c > +++ b/sys/kern/kern_exec.c > @@ -1497,6 +1497,17 @@ exec_free_args(struct image_args *args) > fdescfree_remapped(args->fdp); > } > > +void > +exec_stackgap(struct image_params *imgp, uintptr_t *dp) > +{ > + if (imgp->sysent->sv_stackgap == NULL || > + (imgp->proc->p_fctl0 & (NT_FREEBSD_FCTL_ASLR_DISABLE | > + NT_FREEBSD_FCTL_ASG_DISABLE)) != 0 || > + (imgp->map_flags & MAP_ASLR) == 0) > + return; > + imgp->sysent->sv_stackgap(imgp, dp); > +} > + > /* > * Copy strings out to the new process address space, constructing new arg > * and env vector tables. Return a pointer to the base so that it can be used > @@ -1574,9 +1585,8 @@ exec_copyout_strings(struct image_params *imgp) > destp -= ARG_MAX - imgp->args->stringspace; > destp = rounddown2(destp, sizeof(void *)); > > + exec_stackgap(imgp, &destp); > vectp = (char **)destp; > - if (imgp->sysent->sv_stackgap != NULL) > - imgp->sysent->sv_stackgap(imgp, (u_long *)&vectp); > > if (imgp->auxargs) { > /* > diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h > index b31ee6db7179..c469557a96e1 100644 > --- a/sys/sys/elf_common.h > +++ b/sys/sys/elf_common.h > @@ -791,6 +791,7 @@ typedef struct { > #define NT_FREEBSD_FCTL_STKGAP_DISABLE 0x00000004 > #define NT_FREEBSD_FCTL_WXNEEDED 0x00000008 > #define NT_FREEBSD_FCTL_LA48 0x00000010 > +#define NT_FREEBSD_FCTL_ASG_DISABLE 0x00000020 /* ASLR STACK GAP Disable */ > > /* Values for n_type. Used in core files. */ > #define NT_PRSTATUS 1 /* Process status. */ > diff --git a/sys/sys/imgact.h b/sys/sys/imgact.h > index a89907e7b60d..44bf8a1359c9 100644 > --- a/sys/sys/imgact.h > +++ b/sys/sys/imgact.h > @@ -110,6 +110,7 @@ int exec_copyin_args(struct image_args *, char *, > enum uio_seg, > char **, char **); > int exec_copyin_data_fds(struct thread *, struct image_args *, const > void *, > size_t, const int *, size_t); > +void exec_stackgap(struct image_params *imgp, uintptr_t *dp); > int pre_execve(struct thread *td, struct vmspace **oldvmspace); > void post_execve(struct thread *td, int error, struct vmspace > *oldvmspace); > #endif > diff --git a/usr.bin/elfctl/elfctl.c b/usr.bin/elfctl/elfctl.c > index ccc1c85007ce..d18d828e151c 100644 > --- a/usr.bin/elfctl/elfctl.c > +++ b/usr.bin/elfctl/elfctl.c > @@ -70,6 +70,7 @@ static struct ControlFeatures featurelist[] = { > #ifdef NT_FREEBSD_FCTL_LA48 > { "la48", NT_FREEBSD_FCTL_LA48, "amd64: Limit user VA to 48bit" }, > #endif > + { "aslrstkgap", NT_FREEBSD_FCTL_ASG_DISABLE, "Disable ASLR stack gap" > }, > }; > > static struct option long_opts[] = { > -- Brandon Bergren bdragon@imap.cc From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 00:19:39 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 694BA4CDF5B; Sat, 26 Dec 2020 00:19:39 +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 4D2kvt71y0z4Y49; Sat, 26 Dec 2020 00:19:38 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 0BQ0JOnQ074972 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sat, 26 Dec 2020 02:19:27 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 0BQ0JOnQ074972 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 0BQ0JO0G074971; Sat, 26 Dec 2020 02:19:24 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 26 Dec 2020 02:19:24 +0200 From: Konstantin Belousov To: Brandon Bergren Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: ed52452d6e52 - MFC r368772: Add ELF flag to disable ASLR stack gap. Message-ID: References: <202012251347.0BPDlc8U082236@gitrepo.freebsd.org> <0daef1d3-4b70-430e-acfe-5c881a53341c@www.fastmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0daef1d3-4b70-430e-acfe-5c881a53341c@www.fastmail.com> 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=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 4D2kvt71y0z4Y49 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 00:19:39 -0000 On Fri, Dec 25, 2020 at 06:04:27PM -0600, Brandon Bergren wrote: > Build broken on stable-12 i386 (detected by my local CI where I'm testing git CI): > > 17:26:24 --- kern_exec.o --- > 17:26:24 /usr/src/sys/kern/kern_exec.c:1508:34: error: incompatible pointer types passing 'uintptr_t *' (aka 'unsigned int *') to parameter of type 'u_long *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] > 17:26:24 imgp->sysent->sv_stackgap(imgp, dp); > 17:26:24 ^~ Thanks. Can you confirm that the following change is enough ? commit 77419219289fe0817fae255b48db69718d91f816 Author: Konstantin Belousov Date: Sat Dec 26 02:16:29 2020 +0200 Cast sv_stackgap argument to minimally intrusively handle difference between 12 and HEAD. On all supported architectures representation of longs and pointers is same. Reported by: bdragon diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 812d5e82709..64c9e84db07 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1505,7 +1505,7 @@ exec_stackgap(struct image_params *imgp, uintptr_t *dp) NT_FREEBSD_FCTL_ASG_DISABLE)) != 0 || (imgp->map_flags & MAP_ASLR) == 0) return; - imgp->sysent->sv_stackgap(imgp, dp); + imgp->sysent->sv_stackgap(imgp, (u_long *)dp); } /* From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 01:36:41 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 683AA4CFB1D; Sat, 26 Dec 2020 01:36: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2mcn2VhLz4ccB; Sat, 26 Dec 2020 01:36:41 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 4886F47CF; Sat, 26 Dec 2020 01:36:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQ1afOQ055827; Sat, 26 Dec 2020 01:36:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQ1afs4055826; Sat, 26 Dec 2020 01:36:41 GMT (envelope-from git) Date: Sat, 26 Dec 2020 01:36:41 GMT Message-Id: <202012260136.0BQ1afs4055826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: bc680a5ff383 - bin/stty: Remove unneeded headers. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: bc680a5ff383935fa1ebe8d90f98189e33b6c920 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 01:36:41 -0000 The branch stable/12 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=bc680a5ff383935fa1ebe8d90f98189e33b6c920 commit bc680a5ff383935fa1ebe8d90f98189e33b6c920 Author: Xin LI AuthorDate: 2020-12-12 02:24:33 +0000 Commit: Xin LI CommitDate: 2020-12-26 01:36:07 +0000 bin/stty: Remove unneeded headers. (cherry picked from commit 3601af4da2686fd29335abce8859205b64c312dd) --- bin/stty/cchar.c | 1 - bin/stty/key.c | 1 - bin/stty/modes.c | 1 - bin/stty/stty.c | 1 - bin/stty/util.c | 2 -- 5 files changed, 6 deletions(-) diff --git a/bin/stty/cchar.c b/bin/stty/cchar.c index 52c3219ac788..ecefbb2bc8f3 100644 --- a/bin/stty/cchar.c +++ b/bin/stty/cchar.c @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include diff --git a/bin/stty/key.c b/bin/stty/key.c index 632524305628..4514a0ea1c04 100644 --- a/bin/stty/key.c +++ b/bin/stty/key.c @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include diff --git a/bin/stty/modes.c b/bin/stty/modes.c index e34afb83ee38..af24fa018254 100644 --- a/bin/stty/modes.c +++ b/bin/stty/modes.c @@ -36,7 +36,6 @@ static char sccsid[] = "@(#)modes.c 8.3 (Berkeley) 4/2/94"; __FBSDID("$FreeBSD$"); #include -#include #include #include "stty.h" diff --git a/bin/stty/stty.c b/bin/stty/stty.c index 234008329c0a..9aa2f51aa81f 100644 --- a/bin/stty/stty.c +++ b/bin/stty/stty.c @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include diff --git a/bin/stty/util.c b/bin/stty/util.c index 8c2755820d8d..19898ba9805f 100644 --- a/bin/stty/util.c +++ b/bin/stty/util.c @@ -39,8 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include #include #include "stty.h" From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 01:37:29 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8E7E64CFD00; Sat, 26 Dec 2020 01:37: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2mdj3h6Sz4cZY; Sat, 26 Dec 2020 01:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 7151E4A3C; Sat, 26 Dec 2020 01:37:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQ1bTcr055934; Sat, 26 Dec 2020 01:37:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQ1bTWZ055933; Sat, 26 Dec 2020 01:37:29 GMT (envelope-from git) Date: Sat, 26 Dec 2020 01:37:29 GMT Message-Id: <202012260137.0BQ1bTWZ055933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: b26ad614434b - bin/setfacl: Remove unused headers. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: b26ad614434baac7a4b5e34710cf2eda534a9a01 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 01:37:29 -0000 The branch stable/12 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=b26ad614434baac7a4b5e34710cf2eda534a9a01 commit b26ad614434baac7a4b5e34710cf2eda534a9a01 Author: Xin LI AuthorDate: 2020-12-12 02:26:43 +0000 Commit: Xin LI CommitDate: 2020-12-26 01:37:16 +0000 bin/setfacl: Remove unused headers. (cherry picked from commit dd1ce6c7f19ad7ccd2eb9be78655238ae1b4ea5e) --- bin/setfacl/mask.c | 3 --- bin/setfacl/merge.c | 1 - bin/setfacl/remove.c | 2 -- bin/setfacl/util.c | 1 - 4 files changed, 7 deletions(-) diff --git a/bin/setfacl/mask.c b/bin/setfacl/mask.c index 69ca52a2f2db..4dd85f039d0f 100644 --- a/bin/setfacl/mask.c +++ b/bin/setfacl/mask.c @@ -32,9 +32,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include #include "setfacl.h" diff --git a/bin/setfacl/merge.c b/bin/setfacl/merge.c index fe519dd3bff0..604e6fb693c2 100644 --- a/bin/setfacl/merge.c +++ b/bin/setfacl/merge.c @@ -32,7 +32,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include "setfacl.h" diff --git a/bin/setfacl/remove.c b/bin/setfacl/remove.c index 545562ac007e..9c86096da41d 100644 --- a/bin/setfacl/remove.c +++ b/bin/setfacl/remove.c @@ -32,8 +32,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include #include "setfacl.h" diff --git a/bin/setfacl/util.c b/bin/setfacl/util.c index 969ce3286852..8a78259c1ae7 100644 --- a/bin/setfacl/util.c +++ b/bin/setfacl/util.c @@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include "setfacl.h" From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 05:31:02 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D24C74D7452; Sat, 26 Dec 2020 05:31:02 +0000 (UTC) (envelope-from yuripv@yuripv.dev) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (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 4D2sqB4fPrz4s82; Sat, 26 Dec 2020 05:31:02 +0000 (UTC) (envelope-from yuripv@yuripv.dev) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C2A005C00B3; Sat, 26 Dec 2020 00:31:01 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sat, 26 Dec 2020 00:31:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yuripv.dev; h= subject:to:references:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; s=fm1; bh=u d/bBiV/6lsZVo7fuxEOyGXPmlz0TktaYBBPKRsM0FA=; b=SUvx7+YCsG/erVUFw N/zMfCRbETRjZdEuCTS5m7K2zKkp6lmCz2bXJwvSVBPdLVwoYurtPNMrfox553Ea DyDRKKYQLi5GcFDnKSZa2aK6of0x9FWGlQnqQXOwv1g2gumrPLmKQfRqL3VvVTiL aKhwUQnum0344QzM9dgbo6GBj5ERwSPaeCh607iFpgqyCEqreM0m7DbeRSVJhJgW 71tw+5vu/czmctKAPDNgA+U0Q/9Z5anPB7wNkibDu+/LbSuChvujef1LCmB4EANy IqgCzcPjcRqMJI7nWV/jf88pVx/QDk2HEqpsPVrnpFZCYoRlpt+gRkBb0xIej4N6 mi4fw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=ud/bBiV/6lsZVo7fuxEOyGXPmlz0TktaYBBPKRsM0 FA=; b=rKc9qTmfwSoN0DujvXhRqzuUiFa/nqBSG6fgkE/Y5aUZ1AfS+hynYiBPv 8j9L6b3z9W8wmdtJBOwm01S+sBTHG0mS/vBMFKDBa05RvnUuO3MeV4gQ8uKCqbBx k7v2BKZavqOTaxOkZfwCXsSQNGF2Xa2HoNgd0jzx2I5DfddoovVNBPC9hEAXkQ9+ pPa5CKWjpaSJ6mAM69y2sdHaSd/tYdWqNBWqjI+fLKCGAfUs3WpLiW4ZSbHMwmF2 YX2lG2P7pgRUssYaDguQz4GCMlSopXn/i5rh6HQN3eFLHLND/cDho+MnafiIfcGc l8189sIKp1gSKB0Nv4GgHBbE+BVlA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdduvddgkeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefuvfhfhffkffgfgggjtgfgsehtje ertddtfeejnecuhfhrohhmpegjuhhrihcurfgrnhhkohhvuceohihurhhiphhvseihuhhr ihhpvhdruggvvheqnecuggftrfgrthhtvghrnhepffehvdekgeeijeevledvfffgveeuve fggfejhfelueeuveetvddvvdfgieetffetnecukfhppeeluddrvdegtddruddvgedrudeh keenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeihuh hrihhpvheshihurhhiphhvrdguvghv X-ME-Proxy: Received: from mercury.lan (unknown [91.240.124.158]) by mail.messagingengine.com (Postfix) with ESMTPA id 86E6E1080057; Sat, 26 Dec 2020 00:31:00 -0500 (EST) Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): To: Andriy Gapon , Vladimir Kondratyev , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> From: Yuri Pankov Message-ID: Date: Sat, 26 Dec 2020 08:30:58 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4D2sqB4fPrz4s82 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 05:31:02 -0000 Andriy Gapon wrote: > On 2020-12-25 20:25, Vladimir Kondratyev wrote: >> MFC r355876 (by cem): >> >> acpi(4): Add _CID to PNP info string > > > I think that it would be better to merge those two lines into one. > From the perspective of git log --oneline. Indeed, the MFC stuff does not make much sense anymore, I'd rather see real commit message, even if it's just git tooling showing first line of commit (--oneline, eh?). From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 05:33:49 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CB1654D7756 for ; Sat, 26 Dec 2020 05:33:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) (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 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2stP2HPmz4sKx for ; Sat, 26 Dec 2020 05:33:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x82d.google.com with SMTP id y15so3879881qtv.5 for ; Fri, 25 Dec 2020 21:33:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ic+N1e9FXmcA3kj/hTXwnyHuoi9TvXlXrLeRkpU+BCk=; b=ntkOZ+KZg8kqE2yeSS5qVZqVUX9k1fadTCTXr3QYvT3fHeT/MNK22FQbVbWDSpKVJs 2BgekdevZRasVmnuwB/ZFqxJnPI2w6PSlTzEqpwLiTkAD/ptbatoDdtOe4927zFYZzFX TcJu9Q1Haie5OotjWs9irnQYDKqVwNTOh7rNd2P+DdfBkyFjYgsBz8HTySVoz4KUm4NF LKXdin665TrB4CbvCF3Ovg2OMRhGqbdH1WUszJsuLdMYx7ODteuLVyLvlBySlDk2daKJ nBglbR1AzUTN+WGeoiVD4ZgIovGiyqxnlYnmgfwi8fERGdoqtbEZYYFH/zytwKU3oQZN AbSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ic+N1e9FXmcA3kj/hTXwnyHuoi9TvXlXrLeRkpU+BCk=; b=R1nYVMMF3dzrqVt6hqHpvwqVYAEaQNwp9Rnf6DgVYTdK1tilf2VdRXLYx6yMK0HvDJ zk5WgRMLJZLYwO9q5sGpM37SVMIoa/zu59FgDluTBkTE1xVtiON1c+jvqeh2Qx1JW3dK ySXvtBPEbsIZLFk/t0ly3xiTPev+L1ct98X4TuDwdfkFGPNUoJqnCLKIdPKdJKSaP+MY hGmHmID7RL2/dl0EVScpagNfkIBLO8hEy4R6YBrpF45ebL4YC+O4zjj8/dRRqyM7MEmO 3sSdqinerVOK1ovDQQCfODNSJqZNbpRyqmZMuy4wGXuy7LY6Dbupj4aNmZslMkERjV88 kGjw== X-Gm-Message-State: AOAM532Yoal4r0mf5bSaaz11Lx/KCwriqm16EIA5S5wVsYQ+CdDhcgcg X5GEGvDEpUNW2vpv8Ckpm8KXIbEtR5PVW//D9O0v+Q== X-Google-Smtp-Source: ABdhPJxfGwWJVJaL4/BTE9cJ2urK6prQcJHiUc0bTA3CRwJ7rQZeGp/Cq5EteTUWp9nFrQ78TVcNvK0cR+N8Ze4w+zU= X-Received: by 2002:ac8:58d2:: with SMTP id u18mr34766810qta.235.1608960828036; Fri, 25 Dec 2020 21:33:48 -0800 (PST) MIME-Version: 1.0 References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> In-Reply-To: From: Warner Losh Date: Fri, 25 Dec 2020 22:33:37 -0700 Message-ID: Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): To: Yuri Pankov Cc: Andriy Gapon , Vladimir Kondratyev , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org X-Rspamd-Queue-Id: 4D2stP2HPmz4sKx X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 05:33:49 -0000 On Fri, Dec 25, 2020 at 10:31 PM Yuri Pankov wrote: > Andriy Gapon wrote: > > On 2020-12-25 20:25, Vladimir Kondratyev wrote: > >> MFC r355876 (by cem): > >> > >> acpi(4): Add _CID to PNP info string > > > > > > I think that it would be better to merge those two lines into one. > > From the perspective of git log --oneline. > > Indeed, the MFC stuff does not make much sense anymore, I'd rather see > real commit message, even if it's just git tooling showing first line of > commit (--oneline, eh?). > I was rather hoping we'd land around using the old commit message, as is, and let the cherry-picked message at the end signify the MFC, at least for simple cherry-picks. For squashed ones, a sensible new summary line and an appropriate commit message would be good as well... Where appropriate is approximately what we do today, with all the hashes that we're merging mentioned. Warner From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 05:36:55 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 442994D7796; Sat, 26 Dec 2020 05:36:55 +0000 (UTC) (envelope-from yuripv@yuripv.dev) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (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 4D2sxz0wXkz4skg; Sat, 26 Dec 2020 05:36:54 +0000 (UTC) (envelope-from yuripv@yuripv.dev) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 995C65C0094; Sat, 26 Dec 2020 00:36:54 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sat, 26 Dec 2020 00:36:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yuripv.dev; h= subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; s=fm1; bh=o /qhCXzy/XJITnG9lAO+UHmDEL4s3vDiriK36dUnI1c=; b=RiB45vJ1TJGajEfUj LvBz2RFsUzWL50+aK0x7v6vRfeobWeq5wLcHfZWN0HuMKR+fJi/9vf3+A3Zl4OD0 QKQTa+LkY1UFkDpL5AtMbe/ToNFxQ1W86CeHZ2jKQggl+5KmOI0YV9IK0ZXBOCoG V0B5LWWbY7cVL4ZDaT9tbVjHvqaEcyZf6w9pvrnWkcjiPhckmBHJuXWVyH9/T6Av C06pp1Px4DGakjH0va2Hsi5udpCT/SiY7ZzAd2NuOWyBrlVXsVmNqosbFA0DWfVX pzI+obTkls7BcjIMMWDtLrKK/Uk+Iigv+0+yEVjXej1eDDg5v++yQCMm4fGEo5Gy Y2eIA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=o/qhCXzy/XJITnG9lAO+UHmDEL4s3vDiriK36dUnI 1c=; b=XZgv+tp4mw3Eox+g/KJQSslm5BVO9eDhp7B7HLxTWY5okJby7OtGT/AQK /L0C0O83PQGQSSJPH6wxAPMgjcQWvq9ZwAjNzLTSoH6IGYguHLo1gmrGff8xiQty ot0WDrEQdRwAjU5jQaTJXguSMSSCA5rRX0Ekxmi1ld1By/IUDYRwXmamQj0H0Qc+ QZ1x8I7vv6ikKnKvo+PzhCbL/SLtM0BIceMCfdFTAQNueg2mNJ3bBwLftOgd3FjY ltzA/ZpeGWi7Ihluc/vLcEsKqqPLCVMmv2sQ3kkojqZlxLMSZEc85FKhFzKzhtwo jXVKQ4qPiQ0mMaF1oO7iHkIhvKncw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdduvddgkeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefuvfhfhffkffgfgggjtgfgsehtke ertddtfeejnecuhfhrohhmpegjuhhrihcurfgrnhhkohhvuceohihurhhiphhvseihuhhr ihhpvhdruggvvheqnecuggftrfgrthhtvghrnhepudeuffegtdehffdtffefkefhgfelie eitefghfeugeelfeduffegtdeufeekgfdvnecukfhppeeluddrvdegtddruddvgedrudeh keenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeihuh hrihhpvheshihurhhiphhvrdguvghv X-ME-Proxy: Received: from mercury.lan (unknown [91.240.124.158]) by mail.messagingengine.com (Postfix) with ESMTPA id 4242C1080059; Sat, 26 Dec 2020 00:36:53 -0500 (EST) Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): To: Warner Losh Cc: Andriy Gapon , Vladimir Kondratyev , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> From: Yuri Pankov Message-ID: <20be96cf-1cda-d914-5759-aae90169d8c0@yuripv.dev> Date: Sat, 26 Dec 2020 08:36:52 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4D2sxz0wXkz4skg X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 05:36:55 -0000 Warner Losh wrote: > > > On Fri, Dec 25, 2020 at 10:31 PM Yuri Pankov > wrote: > > Andriy Gapon wrote: > > On 2020-12-25 20:25, Vladimir Kondratyev wrote: > >>     MFC r355876 (by cem): > >>      > >>     acpi(4): Add _CID to PNP info string > > > > > > I think that it would be better to merge those two lines into one. > > From the perspective of git log --oneline. > > Indeed, the MFC stuff does not make much sense anymore, I'd rather see > real commit message, even if it's just git tooling showing first line of > commit (--oneline, eh?). > > > I was rather hoping we'd land around using the old commit message, as > is, and let the cherry-picked message at the end signify the MFC, at > least for simple cherry-picks. > > For squashed ones, a sensible new summary line and an appropriate commit > message would be good as well... Where appropriate is approximately what > we do today, with all the hashes that we're merging mentioned. I am following the docs (and those make sense to me), `git cherry-pick -x` is just enough; if it's direct commit, I'd add a note. So yes, any commit to stable/* is MFC, unless stated otherwise. From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 07:52:01 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 760194B1B3F; Sat, 26 Dec 2020 07:52: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2wxs30SQz3FMw; Sat, 26 Dec 2020 07:52:01 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 5A54B11A75; Sat, 26 Dec 2020 07:52:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQ7q1MR065556; Sat, 26 Dec 2020 07:52:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQ7q1LY065555; Sat, 26 Dec 2020 07:52:01 GMT (envelope-from git) Date: Sat, 26 Dec 2020 07:52:01 GMT Message-Id: <202012260752.0BQ7q1LY065555@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Michal Meloun Subject: git: 9211df29150d - MFC r366192: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mmel X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 9211df29150df659ded5716c86ce3d9e78cc36e4 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 07:52:01 -0000 The branch stable/12 has been updated by mmel: URL: https://cgit.FreeBSD.org/src/commit/?id=9211df29150df659ded5716c86ce3d9e78cc36e4 commit 9211df29150df659ded5716c86ce3d9e78cc36e4 Author: Michal Meloun AuthorDate: 2020-09-27 09:12:36 +0000 Commit: Michal Meloun CommitDate: 2020-12-26 07:38:16 +0000 MFC r366192: Don't try to print EFI memeory map if it doesn't exist. (cherry picked from commit 0e417b55d56639a1e9bc4062dfe8020b621899c7) --- sys/arm64/arm64/machdep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index e78e998fd0a1..90a2659d9521 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -1119,7 +1119,8 @@ initarm(struct arm64_bootparams *abp) strlcpy(kernelname, env, sizeof(kernelname)); if (boothowto & RB_VERBOSE) { - print_efi_map_entries(efihdr); + if (efihdr != NULL) + print_efi_map_entries(efihdr); physmem_print_tables(); } From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 08:49:55 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2E4894B2AEE; Sat, 26 Dec 2020 08:49:55 +0000 (UTC) (envelope-from se@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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D2yDg0Rqwz3HBX; Sat, 26 Dec 2020 08:49:55 +0000 (UTC) (envelope-from se@freebsd.org) Received: from Stefans-MacBook-Pro-449.local (p200300cd5f2f8c000957c97ccecef08f.dip0.t-ipconnect.de [IPv6:2003:cd:5f2f:8c00:957:c97c:cece:f08f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 43264254CD; Sat, 26 Dec 2020 08:49:54 +0000 (UTC) (envelope-from se@freebsd.org) To: Yuri Pankov , Warner Losh Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> <20be96cf-1cda-d914-5759-aae90169d8c0@yuripv.dev> From: Stefan Esser Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): Message-ID: <12fd95e4-3a29-115c-72ff-b734baeffe5b@freebsd.org> Date: Sat, 26 Dec 2020 09:49:48 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20be96cf-1cda-d914-5759-aae90169d8c0@yuripv.dev> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="SkEQQL2fZPpUaJGzpVPCDrd9B7eLSnXOR" X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 08:49:55 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --SkEQQL2fZPpUaJGzpVPCDrd9B7eLSnXOR Content-Type: multipart/mixed; boundary="FnUNn6u6yGUIUEp23DZvT7Basfgk2mRol"; protected-headers="v1" From: Stefan Esser To: Yuri Pankov , Warner Losh Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Message-ID: <12fd95e4-3a29-115c-72ff-b734baeffe5b@freebsd.org> Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> <20be96cf-1cda-d914-5759-aae90169d8c0@yuripv.dev> In-Reply-To: <20be96cf-1cda-d914-5759-aae90169d8c0@yuripv.dev> --FnUNn6u6yGUIUEp23DZvT7Basfgk2mRol Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable Am 26.12.20 um 06:36 schrieb Yuri Pankov: > Warner Losh wrote: >> I was rather hoping we'd land around using the old commit message, as >> is, and let the cherry-picked message at the end signify the MFC, at >> least for simple cherry-picks. >> >> For squashed ones, a sensible new summary line and an appropriate comm= it >> message would be good as well... Where appropriate is approximately=C2= =A0what >> we do today, with all the hashes that we're merging mentioned. >=20 > I am following the docs (and those make sense to me), `git cherry-pick > -x` is just enough; if it's direct commit, I'd add a note. So yes, any= > commit to stable/* is MFC, unless stated otherwise. I'd like to get back the branch in the subject line, not only the first line of the commit message: It used to be: "svn commit: r368706 - in stable/12:", but now we only have the git hash in the subject line and "The branch ... has been updated ..." in the first line of the commit message. Filtering out commits to -STABLE/RELENG is possible via "X-Git-Refname" (I hope this header line will be kept in exactly the current form to not require later adjustment of the filter), but it is no longer easy to see whether a commit affects -CURRENT by just looking at the subject line of the commit message ... Regards, STefan --FnUNn6u6yGUIUEp23DZvT7Basfgk2mRol-- --SkEQQL2fZPpUaJGzpVPCDrd9B7eLSnXOR Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEo3HqZZwL7MgrcVMTR+u171r99UQFAl/m+SwFAwAAAAAACgkQR+u171r99USH fggAm8J/fhB3fmxAkk/IVcadefqqCoKYrABJpskTbM0lLpghw/kvW0znDgl23BICFnYDK7+3kAiq 9U5J9i4v9REoWyGAA23v40GoF+XB+B8FMve2u3Dp/P9Mi7en84Et7YRJVKsadgKTV5k04jwWFLvv ng3N+yZQO7kDM1EmX3r4KMVRsTfGNEMnWbG3aQr07d7khOsOUJFMDM9p6igMKKpfNzQw9LN0vQ8o ntsUwIA9t94/d4eFuSLJpzqWvxaNLzr4rsBGDSyes6GKmTxjHwz94G8xMb7lfscuEtTuGzZcs7Y+ UV28BBQ1sKughm21GkycCuGfxZqJ9FiiYnWVAVzaDQ== =DKP8 -----END PGP SIGNATURE----- --SkEQQL2fZPpUaJGzpVPCDrd9B7eLSnXOR-- From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 10:52:59 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 115214B543D for ; Sat, 26 Dec 2020 10:52:59 +0000 (UTC) (envelope-from uspoerlein@gmail.com) Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com [209.85.219.179]) (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 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D30yf715Wz3P6J for ; Sat, 26 Dec 2020 10:52:58 +0000 (UTC) (envelope-from uspoerlein@gmail.com) Received: by mail-yb1-f179.google.com with SMTP id x2so5760788ybt.11 for ; Sat, 26 Dec 2020 02:52:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bJ5JWajMeFv/fvxzPGrQLhv5sKAW2wx0HvfNjShVuws=; b=pNcDVDoNbc0AYuC6eE5dbGd0UERYoJaKX+qwimQbMEgftq/phd52EXm8S/vz0ewjth zyuyZhAyV7/JFyCp5OxJi5+50TDSmEV8uRW+ZoGpMcSWewfbHBiCnm1ybXezsG0mRObe rYZdyUCQYyVfDkHUOwjSMtYFmRZgZxYM6iitiWxyI3QaPVOtqvxGOyT9qefclYAPQExA BTsfdmlaC3WDoDVHjDy5ApBPmE6BZ1e9nDUzFN/Q1DkQKN/C+WJ7DTDqJjNmzk/6grqR 17rCh8UC0fDcpzizOfBSGlBNf8KF/o2HoZEtPJwlqSIFCV2Iv/lF3kpRRFGq60Lzk4yS 5h7w== X-Gm-Message-State: AOAM531N/Etdo+xmeVG+3lZyfCtR9qyM7Nv0R6S7o1jWa4/VSR9iwGn3 f3F44AHpQQdN5K/8ChpSqklrydB8X4mi1M1bivw= X-Google-Smtp-Source: ABdhPJx/k7ZN65yTD+s1Dx2CDAmIXUJLG1Xap0YT9aD+UtHD8KsU0hbhmFHpKoOZtTiIWzsC73l5XYWTdqQ22Xh311A= X-Received: by 2002:a05:6902:728:: with SMTP id l8mr52905400ybt.399.1608979977151; Sat, 26 Dec 2020 02:52:57 -0800 (PST) MIME-Version: 1.0 References: <202012251825.0BPIPntO091296@gitrepo.freebsd.org> <751dc337-b4dc-52de-f2ee-a843eb5e43c5@FreeBSD.org> <20be96cf-1cda-d914-5759-aae90169d8c0@yuripv.dev> <12fd95e4-3a29-115c-72ff-b734baeffe5b@freebsd.org> In-Reply-To: <12fd95e4-3a29-115c-72ff-b734baeffe5b@freebsd.org> From: =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= Date: Sat, 26 Dec 2020 11:52:45 +0100 Message-ID: Subject: Re: git: 162b82dfa0cb - MFC r355876 (by cem): To: Stefan Esser , lwhsu@freebsd.org, git@freebsd.org Cc: Yuri Pankov , Warner Losh X-Rspamd-Queue-Id: 4D30yf715Wz3P6J X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Mailman-Approved-At: Sat, 26 Dec 2020 10:59:37 +0000 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 10:52:59 -0000 On Sat, Dec 26, 2020 at 9:50 AM Stefan Esser wrote: > Am 26.12.20 um 06:36 schrieb Yuri Pankov: > > Warner Losh wrote: > >> I was rather hoping we'd land around using the old commit message, as > >> is, and let the cherry-picked message at the end signify the MFC, at > >> least for simple cherry-picks. > >> > >> For squashed ones, a sensible new summary line and an appropriate commit > >> message would be good as well... Where appropriate is approximately what > >> we do today, with all the hashes that we're merging mentioned. > > > > I am following the docs (and those make sense to me), `git cherry-pick > > -x` is just enough; if it's direct commit, I'd add a note. So yes, any > > commit to stable/* is MFC, unless stated otherwise. > > I'd like to get back the branch in the subject line, not only the first > line of the commit message: > > It used to be: "svn commit: r368706 - in stable/12:", but now we only > have the git hash in the subject line and "The branch ... has been > updated ..." in the first line of the commit message. > > Filtering out commits to -STABLE/RELENG is possible via "X-Git-Refname" > (I hope this header line will be kept in exactly the current form to > not require later adjustment of the filter), but it is no longer easy > to see whether a commit affects -CURRENT by just looking at the subject > line of the commit message ... > > Regards, STefan > > I agree. Especially since you cannot filter on X-Git-Refname in Gmail :( Having the subject be: git: hash - branch-name - one-line-subject would be ideal and mimic previous behaviour better. Cheers Uli From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 13:18:49 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F09DA4B9386; Sat, 26 Dec 2020 13:18: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D34Bx6G1Pz3mTp; Sat, 26 Dec 2020 13:18:49 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 C5505157B8; Sat, 26 Dec 2020 13:18:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQDInMx009265; Sat, 26 Dec 2020 13:18:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQDInR2009264; Sat, 26 Dec 2020 13:18:49 GMT (envelope-from git) Date: Sat, 26 Dec 2020 13:18:49 GMT Message-Id: <202012261318.0BQDInR2009264@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5011330da72f - Cast sv_stackgap argument 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 5011330da72f1bc35fac52ec02c0ef98eae3a846 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 13:18:50 -0000 The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5011330da72f1bc35fac52ec02c0ef98eae3a846 commit 5011330da72f1bc35fac52ec02c0ef98eae3a846 Author: Konstantin Belousov AuthorDate: 2020-12-26 00:16:29 +0000 Commit: Konstantin Belousov CommitDate: 2020-12-26 13:18:34 +0000 Cast sv_stackgap argument to minimally intrusively handle difference between 12 and HEAD. On all supported architectures representation of longs and pointers is same. Reported by: bdragon --- sys/kern/kern_exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 812d5e827093..64c9e84db07c 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1505,7 +1505,7 @@ exec_stackgap(struct image_params *imgp, uintptr_t *dp) NT_FREEBSD_FCTL_ASG_DISABLE)) != 0 || (imgp->map_flags & MAP_ASLR) == 0) return; - imgp->sysent->sv_stackgap(imgp, dp); + imgp->sysent->sv_stackgap(imgp, (u_long *)dp); } /* From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 17:25:54 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8083C4BE717; Sat, 26 Dec 2020 17:25: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D39h23BN1z4V3v; Sat, 26 Dec 2020 17:25:54 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 5FCF818B9A; Sat, 26 Dec 2020 17:25:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQHPsiQ079045; Sat, 26 Dec 2020 17:25:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQHPssG079044; Sat, 26 Dec 2020 17:25:54 GMT (envelope-from git) Date: Sat, 26 Dec 2020 17:25:54 GMT Message-Id: <202012261725.0BQHPssG079044@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 2be2474a198c - MFC kern: _umtx_op: compat32 refactoring 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 2be2474a198c1d66f999d14404335d69400c488b Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 17:25:54 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2be2474a198c1d66f999d14404335d69400c488b commit 2be2474a198c1d66f999d14404335d69400c488b Author: Kyle Evans AuthorDate: 2020-11-17 03:36:58 +0000 Commit: Kyle Evans CommitDate: 2020-12-26 17:10:35 +0000 MFC kern: _umtx_op: compat32 refactoring 63ecb272: umtx_op: reduce redundancy required for compat32 All of the compat32 variants are substantially the same, save for copyin/copyout (mostly). Apply the same kind of technique used with kevent here by having the syscall routines supply a umtx_copyops describing the operations needed. umtx_copyops carries the bare minimum needed- size of timespec and _umtx_time are used for determining if copyout is needed in the sem2_wait case. bd4bcd14: Fix !COMPAT_FREEBSD32 kernel build One of the last shifts inadvertently moved these static assertions out of a COMPAT_FREEBSD32 block, which the relevant definitions are limited to. Fix it. 27a9392d: _umtx_op: fix robust lists after r367744 A copy-pasto left us copying in 24-bytes at the address of the rb pointer instead of the intended target. 15eaec6a: _umtx_op: move compat32 definitions back in These are reasonably compact, and a future commit will blur the compat32 lines by supporting 32-bit operations with the native _umtx_op. 60e60e73: freebsd32: take the _umtx_op struct definitions back Providing these in freebsd32.h facilitates local testing/measuring of the structs rather than forcing one to locally recreate them. Sanity checking offsets/sizes remains in kern_umtx.c where these are typically used. (cherry picked from commit 63ecb272a00c6f084a33db1c6ad3e925d4dcf015) (cherry picked from commit bd4bcd14e3eae6f70790be65e862f89e2596b9af) (cherry picked from commit 27a9392d543933f1aaa4e4ddae2a1585a72db1b2) (cherry picked from commit 15eaec6a5c04b1cce7594cd1278600d7a57efc5a) (cherry picked from commit 60e60e73fd9d185d62c36a499e21c124629eb8ba) --- sys/compat/freebsd32/freebsd32.h | 21 ++ sys/compat/freebsd32/freebsd32_misc.c | 1 + sys/kern/kern_umtx.c | 669 ++++++++++++++-------------------- sys/sys/proc.h | 1 + sys/sys/umtx.h | 1 + 5 files changed, 302 insertions(+), 391 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32.h b/sys/compat/freebsd32/freebsd32.h index 46dd5e278a48..4227d9037afb 100644 --- a/sys/compat/freebsd32/freebsd32.h +++ b/sys/compat/freebsd32/freebsd32.h @@ -94,6 +94,27 @@ struct itimerval32 { struct timeval32 it_value; }; +struct umtx_time32 { + struct timespec32 _timeout; + uint32_t _flags; + uint32_t _clockid; +}; + +struct umtx_robust_lists_params_compat32 { + uint32_t robust_list_offset; + uint32_t robust_priv_list_offset; + uint32_t robust_inact_offset; +}; + +struct umutex32 { + volatile __lwpid_t m_owner; /* Owner of the mutex */ + __uint32_t m_flags; /* Flags of the mutex */ + __uint32_t m_ceilings[2]; /* Priority protect ceiling */ + __uint32_t m_rb_lnk; /* Robust linkage */ + __uint32_t m_pad; + __uint32_t m_spare[2]; +}; + #define FREEBSD4_MFSNAMELEN 16 #define FREEBSD4_MNAMELEN (88 - 2 * sizeof(int32_t)) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 6c9ede34c1dc..2643333c51c2 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index 9336cc3ed2b0..46eb147fdbd2 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -219,16 +219,20 @@ struct abs_timeout { struct timespec end; }; -#ifdef COMPAT_FREEBSD32 -struct umutex32 { - volatile __lwpid_t m_owner; /* Owner of the mutex */ - __uint32_t m_flags; /* Flags of the mutex */ - __uint32_t m_ceilings[2]; /* Priority protect ceiling */ - __uint32_t m_rb_lnk; /* Robust linkage */ - __uint32_t m_pad; - __uint32_t m_spare[2]; +struct umtx_copyops { + int (*copyin_timeout)(const void *uaddr, struct timespec *tsp); + int (*copyin_umtx_time)(const void *uaddr, size_t size, + struct _umtx_time *tp); + int (*copyin_robust_lists)(const void *uaddr, size_t size, + struct umtx_robust_lists_params *rbp); + int (*copyout_timeout)(void *uaddr, size_t size, + struct timespec *tsp); + const size_t timespec_sz; + const size_t umtx_time_sz; + const bool compat32; }; +#ifdef COMPAT_FREEBSD32 _Static_assert(sizeof(struct umutex) == sizeof(struct umutex32), "umutex32"); _Static_assert(__offsetof(struct umutex, m_spare[0]) == __offsetof(struct umutex32, m_spare[0]), "m_spare32"); @@ -3393,11 +3397,11 @@ do_sem2_wake(struct thread *td, struct _usem2 *sem) } inline int -umtx_copyin_timeout(const void *addr, struct timespec *tsp) +umtx_copyin_timeout(const void *uaddr, struct timespec *tsp) { int error; - error = copyin(addr, tsp, sizeof(struct timespec)); + error = copyin(uaddr, tsp, sizeof(*tsp)); if (error == 0) { if (tsp->tv_sec < 0 || tsp->tv_nsec >= 1000000000 || @@ -3408,16 +3412,16 @@ umtx_copyin_timeout(const void *addr, struct timespec *tsp) } static inline int -umtx_copyin_umtx_time(const void *addr, size_t size, struct _umtx_time *tp) +umtx_copyin_umtx_time(const void *uaddr, size_t size, struct _umtx_time *tp) { int error; - if (size <= sizeof(struct timespec)) { + if (size <= sizeof(tp->_timeout)) { tp->_clockid = CLOCK_REALTIME; tp->_flags = 0; - error = copyin(addr, &tp->_timeout, sizeof(struct timespec)); + error = copyin(uaddr, &tp->_timeout, sizeof(tp->_timeout)); } else - error = copyin(addr, tp, sizeof(struct _umtx_time)); + error = copyin(uaddr, tp, sizeof(*tp)); if (error != 0) return (error); if (tp->_timeout.tv_sec < 0 || @@ -3427,14 +3431,41 @@ umtx_copyin_umtx_time(const void *addr, size_t size, struct _umtx_time *tp) } static int -__umtx_op_unimpl(struct thread *td, struct _umtx_op_args *uap) +umtx_copyin_robust_lists(const void *uaddr, size_t size, + struct umtx_robust_lists_params *rb) +{ + + if (size > sizeof(*rb)) + return (EINVAL); + return (copyin(uaddr, rb, size)); +} + +static int +umtx_copyout_timeout(void *uaddr, size_t sz, struct timespec *tsp) +{ + + /* + * Should be guaranteed by the caller, sz == uaddr1 - sizeof(_umtx_time) + * and we're only called if sz >= sizeof(timespec) as supplied in the + * copyops. + */ + KASSERT(sz >= sizeof(*tsp), + ("umtx_copyops specifies incorrect sizes")); + + return (copyout(tsp, uaddr, sizeof(*tsp))); +} + +static int +__umtx_op_unimpl(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (EOPNOTSUPP); } static int -__umtx_op_wait(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wait(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time timeout, *tm_p; int error; @@ -3442,17 +3473,18 @@ __umtx_op_wait(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time( + error = ops->copyin_umtx_time( uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); tm_p = &timeout; } - return (do_wait(td, uap->obj, uap->val, tm_p, 0, 0)); + return (do_wait(td, uap->obj, uap->val, tm_p, ops->compat32, 0)); } static int -__umtx_op_wait_uint(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wait_uint(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time timeout, *tm_p; int error; @@ -3460,7 +3492,7 @@ __umtx_op_wait_uint(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time( + error = ops->copyin_umtx_time( uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3470,7 +3502,8 @@ __umtx_op_wait_uint(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_wait_uint_private(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wait_uint_private(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time *tm_p, timeout; int error; @@ -3478,7 +3511,7 @@ __umtx_op_wait_uint_private(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time( + error = ops->copyin_umtx_time( uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3488,7 +3521,8 @@ __umtx_op_wait_uint_private(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_wake(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wake(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (kern_umtx_wake(td, uap->obj, uap->val, 0)); @@ -3496,7 +3530,7 @@ __umtx_op_wake(struct thread *td, struct _umtx_op_args *uap) #define BATCH_SIZE 128 static int -__umtx_op_nwake_private(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_nwake_private_native(struct thread *td, struct _umtx_op_args *uap) { char *uaddrs[BATCH_SIZE], **upp; int count, error, i, pos, tocopy; @@ -3509,22 +3543,58 @@ __umtx_op_nwake_private(struct thread *td, struct _umtx_op_args *uap) error = copyin(upp + pos, uaddrs, tocopy * sizeof(char *)); if (error != 0) break; - for (i = 0; i < tocopy; ++i) + for (i = 0; i < tocopy; ++i) { kern_umtx_wake(td, uaddrs[i], INT_MAX, 1); + } + maybe_yield(); + } + return (error); +} + +static int +__umtx_op_nwake_private_compat32(struct thread *td, struct _umtx_op_args *uap) +{ + uint32_t uaddrs[BATCH_SIZE], *upp; + int count, error, i, pos, tocopy; + + upp = (uint32_t *)uap->obj; + error = 0; + for (count = uap->val, pos = 0; count > 0; count -= tocopy, + pos += tocopy) { + tocopy = MIN(count, BATCH_SIZE); + error = copyin(upp + pos, uaddrs, tocopy * sizeof(uint32_t)); + if (error != 0) + break; + for (i = 0; i < tocopy; ++i) { + kern_umtx_wake(td, (void *)(uintptr_t)uaddrs[i], + INT_MAX, 1); + } maybe_yield(); } return (error); } static int -__umtx_op_wake_private(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_nwake_private(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) +{ + + if (ops->compat32) + return (__umtx_op_nwake_private_compat32(td, uap)); + return (__umtx_op_nwake_private_native(td, uap)); +} + +static int +__umtx_op_wake_private(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (kern_umtx_wake(td, uap->obj, uap->val, 1)); } static int -__umtx_op_lock_umutex(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_lock_umutex(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time *tm_p, timeout; int error; @@ -3533,7 +3603,7 @@ __umtx_op_lock_umutex(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time( + error = ops->copyin_umtx_time( uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3543,14 +3613,16 @@ __umtx_op_lock_umutex(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_trylock_umutex(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_trylock_umutex(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_lock_umutex(td, uap->obj, NULL, _UMUTEX_TRY)); } static int -__umtx_op_wait_umutex(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wait_umutex(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time *tm_p, timeout; int error; @@ -3559,7 +3631,7 @@ __umtx_op_wait_umutex(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time( + error = ops->copyin_umtx_time( uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3569,28 +3641,32 @@ __umtx_op_wait_umutex(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_wake_umutex(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wake_umutex(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_wake_umutex(td, uap->obj)); } static int -__umtx_op_unlock_umutex(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_unlock_umutex(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_unlock_umutex(td, uap->obj, false)); } static int -__umtx_op_set_ceiling(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_set_ceiling(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_set_ceiling(td, uap->obj, uap->val, uap->uaddr1)); } static int -__umtx_op_cv_wait(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_cv_wait(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct timespec *ts, timeout; int error; @@ -3599,7 +3675,7 @@ __umtx_op_cv_wait(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) ts = NULL; else { - error = umtx_copyin_timeout(uap->uaddr2, &timeout); + error = ops->copyin_timeout(uap->uaddr2, &timeout); if (error != 0) return (error); ts = &timeout; @@ -3608,21 +3684,24 @@ __umtx_op_cv_wait(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_cv_signal(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_cv_signal(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_cv_signal(td, uap->obj)); } static int -__umtx_op_cv_broadcast(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_cv_broadcast(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_cv_broadcast(td, uap->obj)); } static int -__umtx_op_rw_rdlock(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_rw_rdlock(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time timeout; int error; @@ -3631,7 +3710,7 @@ __umtx_op_rw_rdlock(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) { error = do_rw_rdlock(td, uap->obj, uap->val, 0); } else { - error = umtx_copyin_umtx_time(uap->uaddr2, + error = ops->copyin_umtx_time(uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3641,7 +3720,8 @@ __umtx_op_rw_rdlock(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_rw_wrlock(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_rw_wrlock(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time timeout; int error; @@ -3650,7 +3730,7 @@ __umtx_op_rw_wrlock(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) { error = do_rw_wrlock(td, uap->obj, 0); } else { - error = umtx_copyin_umtx_time(uap->uaddr2, + error = ops->copyin_umtx_time(uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3661,7 +3741,8 @@ __umtx_op_rw_wrlock(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_rw_unlock(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_rw_unlock(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_rw_unlock(td, uap->obj)); @@ -3669,7 +3750,8 @@ __umtx_op_rw_unlock(struct thread *td, struct _umtx_op_args *uap) #if defined(COMPAT_FREEBSD9) || defined(COMPAT_FREEBSD10) static int -__umtx_op_sem_wait(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_sem_wait(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time *tm_p, timeout; int error; @@ -3678,7 +3760,7 @@ __umtx_op_sem_wait(struct thread *td, struct _umtx_op_args *uap) if (uap->uaddr2 == NULL) tm_p = NULL; else { - error = umtx_copyin_umtx_time( + error = ops->copyin_umtx_time( uap->uaddr2, (size_t)uap->uaddr1, &timeout); if (error != 0) return (error); @@ -3688,7 +3770,8 @@ __umtx_op_sem_wait(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_sem_wake(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_sem_wake(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_sem_wake(td, uap->obj)); @@ -3696,14 +3779,16 @@ __umtx_op_sem_wake(struct thread *td, struct _umtx_op_args *uap) #endif static int -__umtx_op_wake2_umutex(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_wake2_umutex(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_wake2_umutex(td, uap->obj, uap->val)); } static int -__umtx_op_sem2_wait(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_sem2_wait(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct _umtx_time *tm_p, timeout; size_t uasize; @@ -3715,7 +3800,7 @@ __umtx_op_sem2_wait(struct thread *td, struct _umtx_op_args *uap) tm_p = NULL; } else { uasize = (size_t)uap->uaddr1; - error = umtx_copyin_umtx_time(uap->uaddr2, uasize, &timeout); + error = ops->copyin_umtx_time(uap->uaddr2, uasize, &timeout); if (error != 0) return (error); tm_p = &timeout; @@ -3723,10 +3808,10 @@ __umtx_op_sem2_wait(struct thread *td, struct _umtx_op_args *uap) error = do_sem2_wait(td, uap->obj, tm_p); if (error == EINTR && uap->uaddr2 != NULL && (timeout._flags & UMTX_ABSTIME) == 0 && - uasize >= sizeof(struct _umtx_time) + sizeof(struct timespec)) { - error = copyout(&timeout._timeout, - (struct _umtx_time *)uap->uaddr2 + 1, - sizeof(struct timespec)); + uasize >= ops->umtx_time_sz + ops->timespec_sz) { + error = ops->copyout_timeout( + (void *)((uintptr_t)uap->uaddr2 + ops->umtx_time_sz), + uasize - ops->umtx_time_sz, &timeout._timeout); if (error == 0) { error = EINTR; } @@ -3736,7 +3821,8 @@ __umtx_op_sem2_wait(struct thread *td, struct _umtx_op_args *uap) } static int -__umtx_op_sem2_wake(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_sem2_wake(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (do_sem2_wake(td, uap->obj)); @@ -4040,415 +4126,210 @@ umtx_shm(struct thread *td, void *addr, u_int flags) } static int -__umtx_op_shm(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_shm(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops __unused) { return (umtx_shm(td, uap->uaddr1, uap->val)); } static int -umtx_robust_lists(struct thread *td, struct umtx_robust_lists_params *rbp) -{ - - td->td_rb_list = rbp->robust_list_offset; - td->td_rbp_list = rbp->robust_priv_list_offset; - td->td_rb_inact = rbp->robust_inact_offset; - return (0); -} - -static int -__umtx_op_robust_lists(struct thread *td, struct _umtx_op_args *uap) +__umtx_op_robust_lists(struct thread *td, struct _umtx_op_args *uap, + const struct umtx_copyops *ops) { struct umtx_robust_lists_params rb; int error; - if (uap->val > sizeof(rb)) - return (EINVAL); bzero(&rb, sizeof(rb)); - error = copyin(uap->uaddr1, &rb, uap->val); + error = ops->copyin_robust_lists(uap->uaddr1, uap->val, &rb); if (error != 0) return (error); - return (umtx_robust_lists(td, &rb)); -} - -typedef int (*_umtx_op_func)(struct thread *td, struct _umtx_op_args *uap); -static const _umtx_op_func op_table[] = { - [UMTX_OP_RESERVED0] = __umtx_op_unimpl, - [UMTX_OP_RESERVED1] = __umtx_op_unimpl, - [UMTX_OP_WAIT] = __umtx_op_wait, - [UMTX_OP_WAKE] = __umtx_op_wake, - [UMTX_OP_MUTEX_TRYLOCK] = __umtx_op_trylock_umutex, - [UMTX_OP_MUTEX_LOCK] = __umtx_op_lock_umutex, - [UMTX_OP_MUTEX_UNLOCK] = __umtx_op_unlock_umutex, - [UMTX_OP_SET_CEILING] = __umtx_op_set_ceiling, - [UMTX_OP_CV_WAIT] = __umtx_op_cv_wait, - [UMTX_OP_CV_SIGNAL] = __umtx_op_cv_signal, - [UMTX_OP_CV_BROADCAST] = __umtx_op_cv_broadcast, - [UMTX_OP_WAIT_UINT] = __umtx_op_wait_uint, - [UMTX_OP_RW_RDLOCK] = __umtx_op_rw_rdlock, - [UMTX_OP_RW_WRLOCK] = __umtx_op_rw_wrlock, - [UMTX_OP_RW_UNLOCK] = __umtx_op_rw_unlock, - [UMTX_OP_WAIT_UINT_PRIVATE] = __umtx_op_wait_uint_private, - [UMTX_OP_WAKE_PRIVATE] = __umtx_op_wake_private, - [UMTX_OP_MUTEX_WAIT] = __umtx_op_wait_umutex, - [UMTX_OP_MUTEX_WAKE] = __umtx_op_wake_umutex, -#if defined(COMPAT_FREEBSD9) || defined(COMPAT_FREEBSD10) - [UMTX_OP_SEM_WAIT] = __umtx_op_sem_wait, - [UMTX_OP_SEM_WAKE] = __umtx_op_sem_wake, -#else - [UMTX_OP_SEM_WAIT] = __umtx_op_unimpl, - [UMTX_OP_SEM_WAKE] = __umtx_op_unimpl, -#endif - [UMTX_OP_NWAKE_PRIVATE] = __umtx_op_nwake_private, - [UMTX_OP_MUTEX_WAKE2] = __umtx_op_wake2_umutex, - [UMTX_OP_SEM2_WAIT] = __umtx_op_sem2_wait, - [UMTX_OP_SEM2_WAKE] = __umtx_op_sem2_wake, - [UMTX_OP_SHM] = __umtx_op_shm, - [UMTX_OP_ROBUST_LISTS] = __umtx_op_robust_lists, -}; - -int -sys__umtx_op(struct thread *td, struct _umtx_op_args *uap) -{ + if (ops->compat32) + td->td_pflags2 |= TDP2_COMPAT32RB; + else if ((td->td_pflags2 & TDP2_COMPAT32RB) != 0) + return (EINVAL); - if ((unsigned)uap->op < nitems(op_table)) - return (*op_table[uap->op])(td, uap); - return (EINVAL); + td->td_rb_list = rb.robust_list_offset; + td->td_rbp_list = rb.robust_priv_list_offset; + td->td_rb_inact = rb.robust_inact_offset; + return (0); } #ifdef COMPAT_FREEBSD32 - -struct umtx_time32 { - struct timespec32 timeout; - uint32_t flags; - uint32_t clockid; -}; - static inline int -umtx_copyin_timeout32(void *addr, struct timespec *tsp) +umtx_copyin_timeout32(const void *uaddr, struct timespec *tsp) { struct timespec32 ts32; int error; - error = copyin(addr, &ts32, sizeof(struct timespec32)); + error = copyin(uaddr, &ts32, sizeof(ts32)); if (error == 0) { if (ts32.tv_sec < 0 || ts32.tv_nsec >= 1000000000 || ts32.tv_nsec < 0) error = EINVAL; else { - tsp->tv_sec = ts32.tv_sec; - tsp->tv_nsec = ts32.tv_nsec; + CP(ts32, *tsp, tv_sec); + CP(ts32, *tsp, tv_nsec); } } return (error); } static inline int -umtx_copyin_umtx_time32(const void *addr, size_t size, struct _umtx_time *tp) +umtx_copyin_umtx_time32(const void *uaddr, size_t size, struct _umtx_time *tp) { struct umtx_time32 t32; int error; - t32.clockid = CLOCK_REALTIME; - t32.flags = 0; - if (size <= sizeof(struct timespec32)) - error = copyin(addr, &t32.timeout, sizeof(struct timespec32)); + t32._clockid = CLOCK_REALTIME; + t32._flags = 0; + if (size <= sizeof(t32._timeout)) + error = copyin(uaddr, &t32._timeout, sizeof(t32._timeout)); else - error = copyin(addr, &t32, sizeof(struct umtx_time32)); + error = copyin(uaddr, &t32, sizeof(t32)); if (error != 0) return (error); - if (t32.timeout.tv_sec < 0 || - t32.timeout.tv_nsec >= 1000000000 || t32.timeout.tv_nsec < 0) + if (t32._timeout.tv_sec < 0 || + t32._timeout.tv_nsec >= 1000000000 || t32._timeout.tv_nsec < 0) return (EINVAL); - tp->_timeout.tv_sec = t32.timeout.tv_sec; - tp->_timeout.tv_nsec = t32.timeout.tv_nsec; - tp->_flags = t32.flags; - tp->_clockid = t32.clockid; + TS_CP(t32, *tp, _timeout); + CP(t32, *tp, _flags); + CP(t32, *tp, _clockid); return (0); } static int -__umtx_op_wait_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct _umtx_time *tm_p, timeout; - int error; - - if (uap->uaddr2 == NULL) - tm_p = NULL; - else { - error = umtx_copyin_umtx_time32(uap->uaddr2, - (size_t)uap->uaddr1, &timeout); - if (error != 0) - return (error); - tm_p = &timeout; - } - return (do_wait(td, uap->obj, uap->val, tm_p, 1, 0)); -} - -static int -__umtx_op_lock_umutex_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct _umtx_time *tm_p, timeout; - int error; - - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) - tm_p = NULL; - else { - error = umtx_copyin_umtx_time32(uap->uaddr2, - (size_t)uap->uaddr1, &timeout); - if (error != 0) - return (error); - tm_p = &timeout; - } - return (do_lock_umutex(td, uap->obj, tm_p, 0)); -} - -static int -__umtx_op_wait_umutex_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct _umtx_time *tm_p, timeout; - int error; - - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) - tm_p = NULL; - else { - error = umtx_copyin_umtx_time32(uap->uaddr2, - (size_t)uap->uaddr1, &timeout); - if (error != 0) - return (error); - tm_p = &timeout; - } - return (do_lock_umutex(td, uap->obj, tm_p, _UMUTEX_WAIT)); -} - -static int -__umtx_op_cv_wait_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct timespec *ts, timeout; - int error; - - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) - ts = NULL; - else { - error = umtx_copyin_timeout32(uap->uaddr2, &timeout); - if (error != 0) - return (error); - ts = &timeout; - } - return (do_cv_wait(td, uap->obj, uap->uaddr1, ts, uap->val)); -} - -static int -__umtx_op_rw_rdlock_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct _umtx_time timeout; - int error; - - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) { - error = do_rw_rdlock(td, uap->obj, uap->val, 0); - } else { - error = umtx_copyin_umtx_time32(uap->uaddr2, - (size_t)uap->uaddr1, &timeout); - if (error != 0) - return (error); - error = do_rw_rdlock(td, uap->obj, uap->val, &timeout); - } - return (error); -} - -static int -__umtx_op_rw_wrlock_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct _umtx_time timeout; - int error; - - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) { - error = do_rw_wrlock(td, uap->obj, 0); - } else { - error = umtx_copyin_umtx_time32(uap->uaddr2, - (size_t)uap->uaddr1, &timeout); - if (error != 0) - return (error); - error = do_rw_wrlock(td, uap->obj, &timeout); - } - return (error); -} - -static int -__umtx_op_wait_uint_private_compat32(struct thread *td, struct _umtx_op_args *uap) +umtx_copyin_robust_lists32(const void *uaddr, size_t size, + struct umtx_robust_lists_params *rbp) { - struct _umtx_time *tm_p, timeout; - int error; - - if (uap->uaddr2 == NULL) - tm_p = NULL; - else { - error = umtx_copyin_umtx_time32( - uap->uaddr2, (size_t)uap->uaddr1,&timeout); - if (error != 0) - return (error); - tm_p = &timeout; - } - return (do_wait(td, uap->obj, uap->val, tm_p, 1, 1)); -} - -#if defined(COMPAT_FREEBSD9) || defined(COMPAT_FREEBSD10) -static int -__umtx_op_sem_wait_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct _umtx_time *tm_p, timeout; + struct umtx_robust_lists_params_compat32 rb32; int error; - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) - tm_p = NULL; - else { - error = umtx_copyin_umtx_time32(uap->uaddr2, - (size_t)uap->uaddr1, &timeout); - if (error != 0) - return (error); - tm_p = &timeout; - } - return (do_sem_wait(td, uap->obj, tm_p)); + if (size > sizeof(rb32)) + return (EINVAL); + bzero(&rb32, sizeof(rb32)); + error = copyin(uaddr, &rb32, size); + if (error != 0) + return (error); + CP(rb32, *rbp, robust_list_offset); + CP(rb32, *rbp, robust_priv_list_offset); + CP(rb32, *rbp, robust_inact_offset); + return (0); } -#endif static int -__umtx_op_sem2_wait_compat32(struct thread *td, struct _umtx_op_args *uap) +umtx_copyout_timeout32(void *uaddr, size_t sz, struct timespec *tsp) { - struct _umtx_time *tm_p, timeout; - size_t uasize; - int error; + struct timespec32 remain32 = { + .tv_sec = tsp->tv_sec, + .tv_nsec = tsp->tv_nsec, + }; - /* Allow a null timespec (wait forever). */ - if (uap->uaddr2 == NULL) { - uasize = 0; - tm_p = NULL; - } else { - uasize = (size_t)uap->uaddr1; - error = umtx_copyin_umtx_time32(uap->uaddr2, uasize, &timeout); - if (error != 0) - return (error); - tm_p = &timeout; - } - error = do_sem2_wait(td, uap->obj, tm_p); - if (error == EINTR && uap->uaddr2 != NULL && - (timeout._flags & UMTX_ABSTIME) == 0 && - uasize >= sizeof(struct umtx_time32) + sizeof(struct timespec32)) { - struct timespec32 remain32 = { - .tv_sec = timeout._timeout.tv_sec, - .tv_nsec = timeout._timeout.tv_nsec - }; - error = copyout(&remain32, - (struct umtx_time32 *)uap->uaddr2 + 1, - sizeof(struct timespec32)); - if (error == 0) { - error = EINTR; - } - } + /* + * Should be guaranteed by the caller, sz == uaddr1 - sizeof(_umtx_time) + * and we're only called if sz >= sizeof(timespec) as supplied in the + * copyops. + */ + KASSERT(sz >= sizeof(remain32), + ("umtx_copyops specifies incorrect sizes")); - return (error); + return (copyout(&remain32, uaddr, sizeof(remain32))); } +#endif /* COMPAT_FREEBSD32 */ -static int -__umtx_op_nwake_private32(struct thread *td, struct _umtx_op_args *uap) -{ - uint32_t uaddrs[BATCH_SIZE], *upp; - int count, error, i, pos, tocopy; - - upp = (uint32_t *)uap->obj; - error = 0; - for (count = uap->val, pos = 0; count > 0; count -= tocopy, - pos += tocopy) { - tocopy = MIN(count, BATCH_SIZE); - error = copyin(upp + pos, uaddrs, tocopy * sizeof(uint32_t)); - if (error != 0) - break; - for (i = 0; i < tocopy; ++i) - kern_umtx_wake(td, (void *)(uintptr_t)uaddrs[i], - INT_MAX, 1); - maybe_yield(); - } - return (error); -} - -struct umtx_robust_lists_params_compat32 { - uint32_t robust_list_offset; - uint32_t robust_priv_list_offset; - uint32_t robust_inact_offset; -}; - -static int -__umtx_op_robust_lists_compat32(struct thread *td, struct _umtx_op_args *uap) -{ - struct umtx_robust_lists_params rb; - struct umtx_robust_lists_params_compat32 rb32; - int error; *** 259 LINES SKIPPED *** From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 19:06:47 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D29F4C0768; Sat, 26 Dec 2020 19:06: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3CwR0kqYz4bCG; Sat, 26 Dec 2020 19:06:47 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 0C36919B6D; Sat, 26 Dec 2020 19:06:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQJ6kWo087003; Sat, 26 Dec 2020 19:06:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQJ6kwV087002; Sat, 26 Dec 2020 19:06:46 GMT (envelope-from git) Date: Sat, 26 Dec 2020 19:06:46 GMT Message-Id: <202012261906.0BQJ6kwV087002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 40a10a0deb2f - MFC kern: _umtx_op: introduce 32-bit/i386 flags for operations 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 40a10a0deb2fbaba13f02cc94be518af65281d91 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 19:06:47 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=40a10a0deb2fbaba13f02cc94be518af65281d91 commit 40a10a0deb2fbaba13f02cc94be518af65281d91 Author: Kyle Evans AuthorDate: 2020-11-22 05:47:45 +0000 Commit: Kyle Evans CommitDate: 2020-12-26 19:05:08 +0000 MFC kern: _umtx_op: introduce 32-bit/i386 flags for operations This patch takes advantage of the consolidation that happened to provide two flags that can be used with the native _umtx_op(2): UMTX_OP___32BIT and UMTX_OP__I386. UMTX_OP__32BIT iindicates that we are being provided with 32-bit structures. Note that this flag alone indicates a 64bit time_t, since this is the majority case. UMTX_OP__I386 has been provided so that we can emulate i386 as well, regardless of whether the host is amd64 or not. Both imply a different set of copyops in sysumtx_op. freebsd32__umtx_op simply ignores the flags, since it's already doing a 32-bit operation and it's unlikely we'll be running an emulator under compat32. Future work could consider it, but the author sees little benefit. This will be used by qemu-bsd-user to pass on all _umtx_op calls to the native interface as long as the host/target endianness matches, effectively eliminating most if not all of the remaining unresolved deadlocks for most. This version changed a fair amount from what was under review, mostly in response to refactoring of the prereq reorganization and battle-testing it with qemu-bsd-user. The main changes are as follows: 1.) The i386 flag got renamed to omit '32BIT' since this is redundant. 2.) The flags are now properly handled on 32-bit platforms to emulate other 32-bit platforms. 3.) Robust list handling was fixed, and the 32-bit functionality that was previously gated by COMPAT_FREEBSD32 is now unconditional. 4.) Robust list handling was also improved, including the error reported when a process has already registered 32-bit ABI lists and also detecting if native robust lists have already been registered. Both scenarios now return EBUSY rather than EINVAL, because the input is technically valid but we're too busy with another ABI's lists. libsysdecode/kdump/truss support will go into review soon-ish, along with the associated manpage update. (cherry picked from commit e0cb5b2a776208d70b8463c063a126893fafa101) --- sys/kern/kern_umtx.c | 226 +++++++++++++++++++++++++++++++++++++++++---------- sys/sys/umtx.h | 7 ++ 2 files changed, 192 insertions(+), 41 deletions(-) diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index 46eb147fdbd2..be427c9b3b54 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -75,8 +75,8 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef COMPAT_FREEBSD32 #include +#ifdef COMPAT_FREEBSD32 #include #endif @@ -232,11 +232,9 @@ struct umtx_copyops { const bool compat32; }; -#ifdef COMPAT_FREEBSD32 _Static_assert(sizeof(struct umutex) == sizeof(struct umutex32), "umutex32"); _Static_assert(__offsetof(struct umutex, m_spare[0]) == __offsetof(struct umutex32, m_spare[0]), "m_spare32"); -#endif int umtx_shm_vnobj_persistent = 0; SYSCTL_INT(_kern_ipc, OID_AUTO, umtx_vnode_persistent, CTLFLAG_RWTUN, @@ -4140,6 +4138,15 @@ __umtx_op_robust_lists(struct thread *td, struct _umtx_op_args *uap, struct umtx_robust_lists_params rb; int error; + if (ops->compat32) { + if ((td->td_pflags2 & TDP2_COMPAT32RB) == 0 && + (td->td_rb_list != 0 || td->td_rbp_list != 0 || + td->td_rb_inact != 0)) + return (EBUSY); + } else if ((td->td_pflags2 & TDP2_COMPAT32RB) != 0) { + return (EBUSY); + } + bzero(&rb, sizeof(rb)); error = ops->copyin_robust_lists(uap->uaddr1, uap->val, &rb); if (error != 0) @@ -4147,8 +4154,6 @@ __umtx_op_robust_lists(struct thread *td, struct _umtx_op_args *uap, if (ops->compat32) td->td_pflags2 |= TDP2_COMPAT32RB; - else if ((td->td_pflags2 & TDP2_COMPAT32RB) != 0) - return (EINVAL); td->td_rb_list = rb.robust_list_offset; td->td_rbp_list = rb.robust_priv_list_offset; @@ -4156,11 +4161,70 @@ __umtx_op_robust_lists(struct thread *td, struct _umtx_op_args *uap, return (0); } -#ifdef COMPAT_FREEBSD32 +#if defined(__i386__) || defined(__amd64__) +/* + * Provide the standard 32-bit definitions for x86, since native/compat32 use a + * 32-bit time_t there. Other architectures just need the i386 definitions + * along with their standard compat32. + */ +struct timespecx32 { + int64_t tv_sec; + int32_t tv_nsec; +}; + +struct umtx_timex32 { + struct timespecx32 _timeout; + uint32_t _flags; + uint32_t _clockid; +}; + +#ifndef __i386__ +#define timespeci386 timespec32 +#define umtx_timei386 umtx_time32 +#endif +#else /* !__i386__ && !__amd64__ */ +/* 32-bit architectures can emulate i386, so define these almost everywhere. */ +struct timespeci386 { + int32_t tv_sec; + int32_t tv_nsec; +}; + +struct umtx_timei386 { + struct timespeci386 _timeout; + uint32_t _flags; + uint32_t _clockid; +}; + +#if defined(__LP64__) +#define timespecx32 timespec32 +#define umtx_timex32 umtx_time32 +#endif +#endif + +static int +umtx_copyin_robust_lists32(const void *uaddr, size_t size, + struct umtx_robust_lists_params *rbp) +{ + struct umtx_robust_lists_params_compat32 rb32; + int error; + + if (size > sizeof(rb32)) + return (EINVAL); + bzero(&rb32, sizeof(rb32)); + error = copyin(uaddr, &rb32, size); + if (error != 0) + return (error); + CP(rb32, *rbp, robust_list_offset); + CP(rb32, *rbp, robust_priv_list_offset); + CP(rb32, *rbp, robust_inact_offset); + return (0); +} + +#ifndef __i386__ static inline int -umtx_copyin_timeout32(const void *uaddr, struct timespec *tsp) +umtx_copyin_timeouti386(const void *uaddr, struct timespec *tsp) { - struct timespec32 ts32; + struct timespeci386 ts32; int error; error = copyin(uaddr, &ts32, sizeof(ts32)); @@ -4178,9 +4242,9 @@ umtx_copyin_timeout32(const void *uaddr, struct timespec *tsp) } static inline int -umtx_copyin_umtx_time32(const void *uaddr, size_t size, struct _umtx_time *tp) +umtx_copyin_umtx_timei386(const void *uaddr, size_t size, struct _umtx_time *tp) { - struct umtx_time32 t32; + struct umtx_timei386 t32; int error; t32._clockid = CLOCK_REALTIME; @@ -4201,28 +4265,73 @@ umtx_copyin_umtx_time32(const void *uaddr, size_t size, struct _umtx_time *tp) } static int -umtx_copyin_robust_lists32(const void *uaddr, size_t size, - struct umtx_robust_lists_params *rbp) +umtx_copyout_timeouti386(void *uaddr, size_t sz, struct timespec *tsp) { - struct umtx_robust_lists_params_compat32 rb32; + struct timespeci386 remain32 = { + .tv_sec = tsp->tv_sec, + .tv_nsec = tsp->tv_nsec, + }; + + /* + * Should be guaranteed by the caller, sz == uaddr1 - sizeof(_umtx_time) + * and we're only called if sz >= sizeof(timespec) as supplied in the + * copyops. + */ + KASSERT(sz >= sizeof(remain32), + ("umtx_copyops specifies incorrect sizes")); + + return (copyout(&remain32, uaddr, sizeof(remain32))); +} +#endif /* !__i386__ */ + +#if defined(__i386__) || defined(__LP64__) +static inline int +umtx_copyin_timeoutx32(const void *uaddr, struct timespec *tsp) +{ + struct timespecx32 ts32; int error; - if (size > sizeof(rb32)) - return (EINVAL); - bzero(&rb32, sizeof(rb32)); - error = copyin(uaddr, &rb32, size); + error = copyin(uaddr, &ts32, sizeof(ts32)); + if (error == 0) { + if (ts32.tv_sec < 0 || + ts32.tv_nsec >= 1000000000 || + ts32.tv_nsec < 0) + error = EINVAL; + else { + CP(ts32, *tsp, tv_sec); + CP(ts32, *tsp, tv_nsec); + } + } + return (error); +} + +static inline int +umtx_copyin_umtx_timex32(const void *uaddr, size_t size, struct _umtx_time *tp) +{ + struct umtx_timex32 t32; + int error; + + t32._clockid = CLOCK_REALTIME; + t32._flags = 0; + if (size <= sizeof(t32._timeout)) + error = copyin(uaddr, &t32._timeout, sizeof(t32._timeout)); + else + error = copyin(uaddr, &t32, sizeof(t32)); if (error != 0) return (error); - CP(rb32, *rbp, robust_list_offset); - CP(rb32, *rbp, robust_priv_list_offset); - CP(rb32, *rbp, robust_inact_offset); + if (t32._timeout.tv_sec < 0 || + t32._timeout.tv_nsec >= 1000000000 || t32._timeout.tv_nsec < 0) + return (EINVAL); + TS_CP(t32, *tp, _timeout); + CP(t32, *tp, _flags); + CP(t32, *tp, _clockid); return (0); } static int -umtx_copyout_timeout32(void *uaddr, size_t sz, struct timespec *tsp) +umtx_copyout_timeoutx32(void *uaddr, size_t sz, struct timespec *tsp) { - struct timespec32 remain32 = { + struct timespecx32 remain32 = { .tv_sec = tsp->tv_sec, .tv_nsec = tsp->tv_nsec, }; @@ -4237,7 +4346,7 @@ umtx_copyout_timeout32(void *uaddr, size_t sz, struct timespec *tsp) return (copyout(&remain32, uaddr, sizeof(remain32))); } -#endif /* COMPAT_FREEBSD32 */ +#endif /* __i386__ || __LP64__ */ typedef int (*_umtx_op_func)(struct thread *td, struct _umtx_op_args *uap, const struct umtx_copyops *umtx_ops); @@ -4286,17 +4395,40 @@ static const struct umtx_copyops umtx_native_ops = { .umtx_time_sz = sizeof(struct _umtx_time), }; -#ifdef COMPAT_FREEBSD32 -const struct umtx_copyops umtx_native_ops32 = { - .copyin_timeout = umtx_copyin_timeout32, - .copyin_umtx_time = umtx_copyin_umtx_time32, +#ifndef __i386__ +static const struct umtx_copyops umtx_native_opsi386 = { + .copyin_timeout = umtx_copyin_timeouti386, + .copyin_umtx_time = umtx_copyin_umtx_timei386, + .copyin_robust_lists = umtx_copyin_robust_lists32, + .copyout_timeout = umtx_copyout_timeouti386, + .timespec_sz = sizeof(struct timespeci386), + .umtx_time_sz = sizeof(struct umtx_timei386), + .compat32 = true, +}; +#endif + +#if defined(__i386__) || defined(__LP64__) +/* i386 can emulate other 32-bit archs, too! */ +static const struct umtx_copyops umtx_native_opsx32 = { + .copyin_timeout = umtx_copyin_timeoutx32, + .copyin_umtx_time = umtx_copyin_umtx_timex32, .copyin_robust_lists = umtx_copyin_robust_lists32, - .copyout_timeout = umtx_copyout_timeout32, - .timespec_sz = sizeof(struct timespec32), - .umtx_time_sz = sizeof(struct umtx_time32), + .copyout_timeout = umtx_copyout_timeoutx32, + .timespec_sz = sizeof(struct timespecx32), + .umtx_time_sz = sizeof(struct umtx_timex32), .compat32 = true, }; + +#ifdef COMPAT_FREEBSD32 +#ifdef __amd64__ +#define umtx_native_ops32 umtx_native_opsi386 +#else +#define umtx_native_ops32 umtx_native_opsx32 #endif +#endif /* COMPAT_FREEBSD32 */ +#endif /* __i386__ || __LP64__ */ + +#define UMTX_OP__FLAGS (UMTX_OP__32BIT | UMTX_OP__I386) static int kern__umtx_op(struct thread *td, void *obj, int op, unsigned long val, @@ -4304,7 +4436,7 @@ kern__umtx_op(struct thread *td, void *obj, int op, unsigned long val, { struct _umtx_op_args uap = { .obj = obj, - .op = op, + .op = op & ~UMTX_OP__FLAGS, .val = val, .uaddr1 = uaddr1, .uaddr2 = uaddr2 @@ -4318,9 +4450,27 @@ kern__umtx_op(struct thread *td, void *obj, int op, unsigned long val, int sys__umtx_op(struct thread *td, struct _umtx_op_args *uap) { + static const struct umtx_copyops *umtx_ops; + umtx_ops = &umtx_native_ops; +#ifdef __LP64__ + if ((uap->op & (UMTX_OP__32BIT | UMTX_OP__I386)) != 0) { + if ((uap->op & UMTX_OP__I386) != 0) + umtx_ops = &umtx_native_opsi386; + else + umtx_ops = &umtx_native_opsx32; + } +#elif !defined(__i386__) + /* We consider UMTX_OP__32BIT a nop on !i386 ILP32. */ + if ((uap->op & UMTX_OP__I386) != 0) + umtx_ops = &umtx_native_opsi386; +#else + /* Likewise, UMTX_OP__I386 is a nop on i386. */ + if ((uap->op & UMTX_OP__32BIT) != 0) + umtx_ops = &umtx_native_opsx32; +#endif return (kern__umtx_op(td, uap->obj, uap->op, uap->val, uap->uaddr1, - uap->uaddr2, &umtx_native_ops)); + uap->uaddr2, umtx_ops)); } #ifdef COMPAT_FREEBSD32 @@ -4408,19 +4558,14 @@ static int umtx_read_uptr(struct thread *td, uintptr_t ptr, uintptr_t *res, bool compat32) { u_long res1; -#ifdef COMPAT_FREEBSD32 uint32_t res32; -#endif int error; -#ifdef COMPAT_FREEBSD32 if (compat32) { error = fueword32((void *)ptr, &res32); if (error == 0) res1 = res32; - } else -#endif - { + } else { error = fueword((void *)ptr, &res1); } if (error == 0) @@ -4434,15 +4579,14 @@ static void umtx_read_rb_list(struct thread *td, struct umutex *m, uintptr_t *rb_list, bool compat32) { -#ifdef COMPAT_FREEBSD32 struct umutex32 m32; if (compat32) { memcpy(&m32, m, sizeof(m32)); *rb_list = m32.m_rb_lnk; - } else -#endif + } else { *rb_list = m->m_rb_lnk; + } } static int diff --git a/sys/sys/umtx.h b/sys/sys/umtx.h index f0a34e0aed67..6753a6217688 100644 --- a/sys/sys/umtx.h +++ b/sys/sys/umtx.h @@ -101,6 +101,13 @@ #define UMTX_OP_SHM 25 #define UMTX_OP_ROBUST_LISTS 26 +/* + * Flags for ops; the double-underbar convention must be maintained for future + * additions for the sake of libsysdecode. + */ +#define UMTX_OP__I386 0x40000000 +#define UMTX_OP__32BIT 0x80000000 + /* Flags for UMTX_OP_CV_WAIT */ #define CVWAIT_CHECK_UNPARKING 0x01 #define CVWAIT_ABSTIME 0x02 From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 21:02:47 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C37964C2B50; Sat, 26 Dec 2020 21:02: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3GVH53V9z4j4g; Sat, 26 Dec 2020 21:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 A09BC1B839; Sat, 26 Dec 2020 21:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQL2lkP016836; Sat, 26 Dec 2020 21:02:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQL2l32016835; Sat, 26 Dec 2020 21:02:47 GMT (envelope-from git) Date: Sat, 26 Dec 2020 21:02:47 GMT Message-Id: <202012262102.0BQL2l32016835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 7f0550463a40 - stable/12 - MFC r368676: jail: show symbolic jailparam flags 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 7f0550463a4098fac37d6abb37a124005cbed09f Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 21:02:47 -0000 The branch stable/12 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=7f0550463a4098fac37d6abb37a124005cbed09f commit 7f0550463a4098fac37d6abb37a124005cbed09f Author: Jamie Gritton AuthorDate: 2020-12-15 20:56:35 +0000 Commit: Jamie Gritton CommitDate: 2020-12-26 21:00:50 +0000 MFC r368676: jail: show symbolic jailparam flags Bugfix to not hide jailparam flags, which for example changes the output "vnet=2" to the less opaque "vnet=inherit" Reported by: kevans --- usr.sbin/jls/jls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/jls/jls.c b/usr.sbin/jls/jls.c index 4c968fdc76df..46c5a5c8b15e 100644 --- a/usr.sbin/jls/jls.c +++ b/usr.sbin/jls/jls.c @@ -323,7 +323,7 @@ add_param(const char *name, void *value, size_t valuelen, } xo_errx(1, "%s", jail_errmsg); } - param->jp_flags = flags; + param->jp_flags |= flags; return param - params; } From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 21:35:09 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7278B4C2FBC; Sat, 26 Dec 2020 21:35:09 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3HCd2rh4z4kLm; Sat, 26 Dec 2020 21:35:09 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 50ADA1BE0C; Sat, 26 Dec 2020 21:35:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQLZ9hH049429; Sat, 26 Dec 2020 21:35:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQLZ9H6049428; Sat, 26 Dec 2020 21:35:09 GMT (envelope-from git) Date: Sat, 26 Dec 2020 21:35:09 GMT Message-Id: <202012262135.0BQLZ9H6049428@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 32b85fbcf1f0 - stable/12 - Fix the ipfw service status output when ipfw.ko isn't loaded MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 32b85fbcf1f02041dbf827eda570447a3ac42597 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 21:35:09 -0000 The branch stable/12 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=32b85fbcf1f02041dbf827eda570447a3ac42597 commit 32b85fbcf1f02041dbf827eda570447a3ac42597 Author: Mark Johnston AuthorDate: 2020-12-18 16:02:28 +0000 Commit: Mark Johnston CommitDate: 2020-12-26 21:29:32 +0000 Fix the ipfw service status output when ipfw.ko isn't loaded (cherry picked from commit 5120612664fbc54d69ee1a21d0abcbab58712709) --- libexec/rc/rc.d/ipfw | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/ipfw b/libexec/rc/rc.d/ipfw index df14b7eaa0d4..ced473a5aac4 100755 --- a/libexec/rc/rc.d/ipfw +++ b/libexec/rc/rc.d/ipfw @@ -129,7 +129,9 @@ ipfw_status() status=$(sysctl -i -n net.inet.ip.fw.enable) : ${status:=0} if afexists inet6; then - status=$((${status} + $(sysctl -i -n net.inet6.ip6.fw.enable))) + status6=$(sysctl -i -n net.inet6.ip6.fw.enable) + : ${status6:=0} + status=$((${status} + ${status6})) fi if [ ${status} -eq 0 ]; then echo "ipfw is not enabled" From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 21:41:29 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 938534C3566; Sat, 26 Dec 2020 21:41: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3HLx3lbTz4kLH; Sat, 26 Dec 2020 21:41:29 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 73F4A1BAEF; Sat, 26 Dec 2020 21:41:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQLfTQJ060034; Sat, 26 Dec 2020 21:41:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQLfTr6060033; Sat, 26 Dec 2020 21:41:29 GMT (envelope-from git) Date: Sat, 26 Dec 2020 21:41:29 GMT Message-Id: <202012262141.0BQLfTr6060033@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: a822bf6354ee - stable/12 - iflib: Avoid leaking the freelist bitmaps upon driver detach MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: a822bf6354ee44c93ab64488e1970c2e7a79104a Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 21:41:29 -0000 The branch stable/12 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a822bf6354ee44c93ab64488e1970c2e7a79104a commit a822bf6354ee44c93ab64488e1970c2e7a79104a Author: Mark Johnston AuthorDate: 2020-12-07 14:53:14 +0000 Commit: Mark Johnston CommitDate: 2020-12-26 21:40:59 +0000 iflib: Avoid leaking the freelist bitmaps upon driver detach Submitted by: Sai Rajesh Tallamraju Sponsored by: NetApp, Inc. (cherry picked from commit c065d4e5e9f27743126dcdfcf6d1c7fa36a693c0) --- sys/net/iflib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index dc4a84fe12cc..24f23a338411 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2339,10 +2339,12 @@ iflib_rx_sds_free(iflib_rxq_t rxq) free(fl->ifl_sds.ifsd_cl, M_IFLIB); free(fl->ifl_sds.ifsd_ba, M_IFLIB); free(fl->ifl_sds.ifsd_map, M_IFLIB); + free(fl->ifl_rx_bitmap, M_IFLIB); fl->ifl_sds.ifsd_m = NULL; fl->ifl_sds.ifsd_cl = NULL; fl->ifl_sds.ifsd_ba = NULL; fl->ifl_sds.ifsd_map = NULL; + fl->ifl_rx_bitmap = NULL; } free(rxq->ifr_fl, M_IFLIB); rxq->ifr_fl = NULL; From owner-dev-commits-src-branches@freebsd.org Sat Dec 26 21:41:29 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A5FB34C358F; Sat, 26 Dec 2020 21:41: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3HLx4LPVz4kHd; Sat, 26 Dec 2020 21:41:29 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 87E4D1BBF6; Sat, 26 Dec 2020 21:41:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BQLfTdq060051; Sat, 26 Dec 2020 21:41:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BQLfTp0060050; Sat, 26 Dec 2020 21:41:29 GMT (envelope-from git) Date: Sat, 26 Dec 2020 21:41:29 GMT Message-Id: <202012262141.0BQLfTp0060050@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 1e1e15b3fbbb - stable/12 - iflib: Detach tasks upon device registration failure MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 1e1e15b3fbbb4694ccb2d6bf7edd7011ed510db9 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 21:41:29 -0000 The branch stable/12 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1e1e15b3fbbb4694ccb2d6bf7edd7011ed510db9 commit 1e1e15b3fbbb4694ccb2d6bf7edd7011ed510db9 Author: Mark Johnston AuthorDate: 2020-12-07 14:52:57 +0000 Commit: Mark Johnston CommitDate: 2020-12-26 21:40:24 +0000 iflib: Detach tasks upon device registration failure In some error paths we would fail to detach from the iflib taskqueue groups. Also move the detach code into its own subroutine instead of duplicating it. Submitted by: Sai Rajesh Tallamraju Sponsored by: NetApp, Inc. (cherry picked from commit 102540192c7195c99722869a11a48868e9116e91) --- sys/net/iflib.c | 89 ++++++++++++++++++++++----------------------------------- 1 file changed, 34 insertions(+), 55 deletions(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index fccf54300a23..dc4a84fe12cc 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -145,6 +145,7 @@ struct iflib_ctx; static void iru_init(if_rxd_update_t iru, iflib_rxq_t rxq, uint8_t flid); static void iflib_timer(void *arg); +static void iflib_tqg_detach(if_ctx_t ctx); typedef struct iflib_filter_info { driver_filter_t *ifi_filter; @@ -4842,7 +4843,7 @@ fail_intr_free: fail_queues: iflib_tx_structures_free(ctx); iflib_rx_structures_free(ctx); - taskqgroup_detach(qgroup_if_config_tqg, &ctx->ifc_admin_task); + iflib_tqg_detach(ctx); IFDI_DETACH(ctx); fail_unlock: CTX_UNLOCK(ctx); @@ -5044,6 +5045,7 @@ fail_detach: fail_queues: iflib_tx_structures_free(ctx); iflib_rx_structures_free(ctx); + iflib_tqg_detach(ctx); fail_iflib_detach: IFDI_DETACH(ctx); fail_unlock: @@ -5060,11 +5062,6 @@ iflib_pseudo_deregister(if_ctx_t ctx) { if_t ifp = ctx->ifc_ifp; if_shared_ctx_t sctx = ctx->ifc_sctx; - iflib_txq_t txq; - iflib_rxq_t rxq; - int i, j; - struct taskqgroup *tqg; - iflib_fl_t fl; /* Unregister VLAN event handlers early */ iflib_unregister_vlan_handlers(ctx); @@ -5076,30 +5073,8 @@ iflib_pseudo_deregister(if_ctx_t ctx) } else { ether_ifdetach(ifp); } - /* XXX drain any dependent tasks */ - tqg = qgroup_if_io_tqg; - for (txq = ctx->ifc_txqs, i = 0; i < NTXQSETS(ctx); i++, txq++) { - callout_drain(&txq->ift_timer); -#ifdef DEV_NETMAP - callout_drain(&txq->ift_netmap_timer); -#endif /* DEV_NETMAP */ - if (txq->ift_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &txq->ift_task); - } - for (i = 0, rxq = ctx->ifc_rxqs; i < NRXQSETS(ctx); i++, rxq++) { - callout_drain(&rxq->ifr_watchdog); - if (rxq->ifr_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &rxq->ifr_task); - - for (j = 0, fl = rxq->ifr_fl; j < rxq->ifr_nfl; j++, fl++) - free(fl->ifl_rx_bitmap, M_IFLIB); - } - tqg = qgroup_if_config_tqg; - if (ctx->ifc_admin_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &ctx->ifc_admin_task); - if (ctx->ifc_vflr_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &ctx->ifc_vflr_task); + iflib_tqg_detach(ctx); iflib_tx_structures_free(ctx); iflib_rx_structures_free(ctx); @@ -5129,12 +5104,7 @@ int iflib_device_deregister(if_ctx_t ctx) { if_t ifp = ctx->ifc_ifp; - iflib_txq_t txq; - iflib_rxq_t rxq; device_t dev = ctx->ifc_dev; - int i, j; - struct taskqgroup *tqg; - iflib_fl_t fl; /* Make sure VLANS are not using driver */ if (if_vlantrunkinuse(ifp)) { @@ -5164,28 +5134,8 @@ iflib_device_deregister(if_ctx_t ctx) if (ctx->ifc_led_dev != NULL) led_destroy(ctx->ifc_led_dev); - /* XXX drain any dependent tasks */ - tqg = qgroup_if_io_tqg; - for (txq = ctx->ifc_txqs, i = 0; i < NTXQSETS(ctx); i++, txq++) { - callout_drain(&txq->ift_timer); -#ifdef DEV_NETMAP - callout_drain(&txq->ift_netmap_timer); -#endif /* DEV_NETMAP */ - if (txq->ift_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &txq->ift_task); - } - for (i = 0, rxq = ctx->ifc_rxqs; i < NRXQSETS(ctx); i++, rxq++) { - if (rxq->ifr_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &rxq->ifr_task); - for (j = 0, fl = rxq->ifr_fl; j < rxq->ifr_nfl; j++, fl++) - free(fl->ifl_rx_bitmap, M_IFLIB); - } - tqg = qgroup_if_config_tqg; - if (ctx->ifc_admin_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &ctx->ifc_admin_task); - if (ctx->ifc_vflr_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &ctx->ifc_vflr_task); + iflib_tqg_detach(ctx); CTX_LOCK(ctx); IFDI_DETACH(ctx); CTX_UNLOCK(ctx); @@ -5208,6 +5158,35 @@ iflib_device_deregister(if_ctx_t ctx) return (0); } +static void +iflib_tqg_detach(if_ctx_t ctx) +{ + iflib_txq_t txq; + iflib_rxq_t rxq; + int i; + struct taskqgroup *tqg; + + /* XXX drain any dependent tasks */ + tqg = qgroup_if_io_tqg; + for (txq = ctx->ifc_txqs, i = 0; i < NTXQSETS(ctx); i++, txq++) { + callout_drain(&txq->ift_timer); +#ifdef DEV_NETMAP + callout_drain(&txq->ift_netmap_timer); +#endif /* DEV_NETMAP */ + if (txq->ift_task.gt_uniq != NULL) + taskqgroup_detach(tqg, &txq->ift_task); + } + for (i = 0, rxq = ctx->ifc_rxqs; i < NRXQSETS(ctx); i++, rxq++) { + if (rxq->ifr_task.gt_uniq != NULL) + taskqgroup_detach(tqg, &rxq->ifr_task); + } + tqg = qgroup_if_config_tqg; + if (ctx->ifc_admin_task.gt_uniq != NULL) + taskqgroup_detach(tqg, &ctx->ifc_admin_task); + if (ctx->ifc_vflr_task.gt_uniq != NULL) + taskqgroup_detach(tqg, &ctx->ifc_vflr_task); +} + static void iflib_free_intr_mem(if_ctx_t ctx) { From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 03:06:26 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D7D464CB4E9; Sun, 27 Dec 2020 03:06: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3QYt5jJvz3KcV; Sun, 27 Dec 2020 03:06:26 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 B6BFB1FB6D; Sun, 27 Dec 2020 03:06:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BR36Qkr005915; Sun, 27 Dec 2020 03:06:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BR36QeR005914; Sun, 27 Dec 2020 03:06:26 GMT (envelope-from git) Date: Sun, 27 Dec 2020 03:06:26 GMT Message-Id: <202012270306.0BR36QeR005914@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 906cd9a167b1 - stable/12 - MFC _umtx_op: documentation and libsysdecode/kdump/truss decoding (32-bit) 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 906cd9a167b154dabe7a916bb6749d22e2a5df1b Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 03:06:26 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=906cd9a167b154dabe7a916bb6749d22e2a5df1b commit 906cd9a167b154dabe7a916bb6749d22e2a5df1b Author: Kyle Evans AuthorDate: 2020-12-09 03:20:51 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 03:06:11 +0000 MFC _umtx_op: documentation and libsysdecode/kdump/truss decoding (32-bit) e04a83a3: _umtx_op(2): document recent addition of 32bit compat flags This was part of D27325. 3b27074b: libsysdecode: decode _UMTX_OP flags Assume that UMTX_OP with a double underbar following is a flag, while any underbar+alphanumeric combination immeiately following is an op. This was a part of D27325. c2679dd7: kdump/truss: decode new _umtx_op flags In both cases, print the flag bits first followed by the command. Output now looks something like this: (ktrace) _umtx_op(0x8605f7008,0xf,0,0,0) _umtx_op(0x9fffdce8,0x80000003,0x1,0,0) (truss) _umtx_op(0x7fffffffda50,UMTX_OP_WAKE,0x1,0x0,0x0) = 0 (0x0) _umtx_op(0x9fffdd08,UMTX_OP__32BIT|UMTX_OP_WAKE,0x1,0x0,0x0) = 0 (0x0) (cherry picked from commit e04a83a3e1b40fc7c41b5938d2e432ba01facd74) (cherry picked from commit 3b27074b252cae3c7aee8f05f0c968dd26fa055b) (cherry picked from commit c2679dd779bb75f51682cde5eb55a291b72d7900) --- lib/libc/sys/_umtx_op.2 | 75 +++++++++++++++++++++++++++++++++++++++++++- lib/libsysdecode/flags.c | 14 +++++++++ lib/libsysdecode/mktables | 3 +- lib/libsysdecode/sysdecode.h | 1 + usr.bin/kdump/kdump.c | 22 ++++++++++--- usr.bin/truss/syscalls.c | 20 ++++++++++-- 6 files changed, 126 insertions(+), 9 deletions(-) diff --git a/lib/libc/sys/_umtx_op.2 b/lib/libc/sys/_umtx_op.2 index 547ed313e4a3..8b10e4ec7e15 100644 --- a/lib/libc/sys/_umtx_op.2 +++ b/lib/libc/sys/_umtx_op.2 @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 16, 2020 +.Dd November 23, 2020 .Dt _UMTX_OP 2 .Os .Sh NAME @@ -1272,6 +1272,79 @@ See .Sx ROBUST UMUTEXES subsection for details. .El +.Pp +The +.Fa op +argument may be a bitwise OR of a single command from above with one or more of +the following flags: +.Bl -tag -width indent +.It Dv UMTX_OP__I386 +Request i386 ABI compatibility from the native +.Nm +system call. +Specifically, this implies that: +.Bl -hang -offset indent +.It +.Fa obj +arguments that point to a word, point to a 32-bit integer. +.It +The +.Dv UMTX_OP_NWAKE_PRIVATE +.Fa obj +argument is a pointer to an array of 32-bit pointers. +.It +The +.Dv m_rb_lnk +member of +.Vt struct umutex +is a 32-bit pointer. +.It +.Vt struct timespec +uses a 32-bit time_t. +.El +.Pp +.Dv UMTX_OP__32BIT +has no effect if this flag is set. +This flag is valid for all architectures, but it is ignored on i386. +.It Dv UMTX_OP__32BIT +Request non-i386, 32-bit ABI compatibility from the native +.Nm +system call. +Specifically, this implies that: +.Bl -hang -offset indent +.It +.Fa obj +arguments that point to a word, point to a 32-bit integer. +.It +The +.Dv UMTX_OP_NWAKE_PRIVATE +.Fa obj +argument is a pointer to an array of 32-bit pointers. +.It +The +.Dv m_rb_lnk +member of +.Vt struct umutex +is a 32-bit pointer. +.It +.Vt struct timespec +uses a 64-bit time_t. +.El +.Pp +This flag has no effect if +.Dv UMTX_OP__I386 +is set. +This flag is valid for all architectures. +.El +.Pp +Note that if any 32-bit ABI compatibility is being requested, then care must be +taken with robust lists. +A single thread may not mix 32-bit compatible robust lists with native +robust lists. +The first +.Dv UMTX_OP_ROBUST_LISTS +call in a given thread determines which ABI that thread will use for robust +lists going forward. .Sh RETURN VALUES If successful, all requests, except diff --git a/lib/libsysdecode/flags.c b/lib/libsysdecode/flags.c index ae2b5ff057e1..b9f66fb72f8c 100644 --- a/lib/libsysdecode/flags.c +++ b/lib/libsysdecode/flags.c @@ -931,6 +931,20 @@ sysdecode_umtx_op(int op) return (lookup_value(umtxop, op)); } +bool +sysdecode_umtx_op_flags(FILE *fp, int op, int *rem) +{ + uintmax_t val; + bool printed; + + printed = false; + val = (unsigned)op; + print_mask_part(fp, umtxopflags, &val, &printed); + if (rem != NULL) + *rem = val; + return (printed); +} + const char * sysdecode_vmresult(int result) { diff --git a/lib/libsysdecode/mktables b/lib/libsysdecode/mktables index 4765ca5d8beb..877a1024784a 100644 --- a/lib/libsysdecode/mktables +++ b/lib/libsysdecode/mktables @@ -145,7 +145,8 @@ gen_table "sockoptudp" "UDP_[[:alnum:]]+[[:space:]]+[0-9]+" "neti gen_table "sockoptudplite" "UDPLITE_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet/udplite.h" gen_table "socktype" "SOCK_[A-Z]+[[:space:]]+[1-9]+[0-9]*" "sys/socket.h" gen_table "thrcreateflags" "THR_[A-Z]+[[:space:]]+0x[0-9]+" "sys/thr.h" -gen_table "umtxop" "UMTX_OP_[[:alnum:]_]+[[:space:]]+[0-9]+" "sys/umtx.h" +gen_table "umtxop" "UMTX_OP_[[:alnum:]][[:alnum:]_]*[[:space:]]+[0-9]+" "sys/umtx.h" +gen_table "umtxopflags" "UMTX_OP__[[:alnum:]_]+[[:space:]]+[0-9]+" "sys/umtx.h" gen_table "vmprot" "VM_PROT_[A-Z]+[[:space:]]+\(\(vm_prot_t\)[[:space:]]+0x[0-9]+\)" "vm/vm.h" gen_table "vmresult" "KERN_[A-Z_]+[[:space:]]+[0-9]+" "vm/vm_param.h" gen_table "wait6opt" "W[A-Z]+[[:space:]]+[0-9]+" "sys/wait.h" diff --git a/lib/libsysdecode/sysdecode.h b/lib/libsysdecode/sysdecode.h index 218943245b66..30e861780efd 100644 --- a/lib/libsysdecode/sysdecode.h +++ b/lib/libsysdecode/sysdecode.h @@ -121,6 +121,7 @@ const char *sysdecode_sysarch_number(int _number); bool sysdecode_thr_create_flags(FILE *_fp, int _flags, int *_rem); bool sysdecode_umtx_cvwait_flags(FILE *_fp, u_long _flags, u_long *_rem); const char *sysdecode_umtx_op(int _op); +bool sysdecode_umtx_op_flags(FILE *_fp, int op, int *_rem); bool sysdecode_umtx_rwlock_flags(FILE *_fp, u_long _flags, u_long *_rem); int sysdecode_utrace(FILE *_fp, void *_buf, size_t _len); bool sysdecode_vmprot(FILE *_fp, int _type, int *_rem); diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index 704c7b5feef4..dbec2e820ccb 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -254,14 +254,21 @@ print_integer_arg_valid(const char *(*decoder)(int), int value) } } +static bool +print_mask_arg_part(bool (*decoder)(FILE *, int, int *), int value, int *rem) +{ + + printf("%#x<", value); + return (decoder(stdout, value, rem)); +} + static void print_mask_arg(bool (*decoder)(FILE *, int, int *), int value) { bool invalid; int rem; - printf("%#x<", value); - invalid = !decoder(stdout, value, &rem); + invalid = !print_mask_arg_part(decoder, value, &rem); printf(">"); if (invalid) printf("%u", rem); @@ -1437,10 +1444,16 @@ ktrsyscall(struct ktr_syscall *ktr, u_int sv_flags) ip++; narg--; break; - case SYS__umtx_op: + case SYS__umtx_op: { + int op; + print_number(ip, narg, c); putchar(','); - print_integer_arg(sysdecode_umtx_op, *ip); + if (print_mask_arg_part(sysdecode_umtx_op_flags, + *ip, &op)) + putchar('|'); + print_integer_arg(sysdecode_umtx_op, op); + putchar('>'); switch (*ip) { case UMTX_OP_CV_WAIT: ip++; @@ -1460,6 +1473,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int sv_flags) ip++; narg--; break; + } case SYS_ftruncate: case SYS_truncate: print_number(ip, narg, c); diff --git a/usr.bin/truss/syscalls.c b/usr.bin/truss/syscalls.c index 47fcce5aeee8..155f8187ca66 100644 --- a/usr.bin/truss/syscalls.c +++ b/usr.bin/truss/syscalls.c @@ -877,12 +877,20 @@ print_integer_arg(const char *(*decoder)(int), FILE *fp, int value) fprintf(fp, "%d", value); } +static bool +print_mask_arg_part(bool (*decoder)(FILE *, int, int *), FILE *fp, int value, + int *rem) +{ + + return (decoder(fp, value, rem)); +} + static void print_mask_arg(bool (*decoder)(FILE *, int, int *), FILE *fp, int value) { int rem; - if (!decoder(fp, value, &rem)) + if (!print_mask_arg_part(decoder, fp, value, &rem)) fprintf(fp, "0x%x", rem); else if (rem != 0) fprintf(fp, "|0x%x", rem); @@ -2282,9 +2290,15 @@ print_arg(struct syscall_args *sc, unsigned long *args, register_t *retval, case Procctl: print_integer_arg(sysdecode_procctl_cmd, fp, args[sc->offset]); break; - case Umtxop: - print_integer_arg(sysdecode_umtx_op, fp, args[sc->offset]); + case Umtxop: { + int rem; + + if (print_mask_arg_part(sysdecode_umtx_op_flags, fp, + args[sc->offset], &rem)) + fprintf(fp, "|"); + print_integer_arg(sysdecode_umtx_op, fp, rem); break; + } case Atfd: print_integer_arg(sysdecode_atfd, fp, args[sc->offset]); break; From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 08:29:55 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BCDF34B3510; Sun, 27 Dec 2020 08:29: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3Yl74yJQz3rcZ; Sun, 27 Dec 2020 08:29:55 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 98A0F23BEE; Sun, 27 Dec 2020 08:29:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BR8TtnS051854; Sun, 27 Dec 2020 08:29:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BR8TtRs051853; Sun, 27 Dec 2020 08:29:55 GMT (envelope-from git) Date: Sun, 27 Dec 2020 08:29:55 GMT Message-Id: <202012270829.0BR8TtRs051853@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 62845881eebf - stable/12 - MFC r368806: uname(1): Fix a typo in the man page date 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 62845881eebf0ec6a6db7e589614a25cf295ec28 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 08:29:55 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=62845881eebf0ec6a6db7e589614a25cf295ec28 commit 62845881eebf0ec6a6db7e589614a25cf295ec28 Author: Gordon Bergling AuthorDate: 2020-12-19 12:55:27 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 08:27:58 +0000 MFC r368806: uname(1): Fix a typo in the man page date (cherry picked from commit 3f6cdd59fecf4077256e37d7de7f9db3ac0e72e2) --- usr.bin/uname/uname.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/uname/uname.1 b/usr.bin/uname/uname.1 index 2a54b3bdc27c..fb238bc01004 100644 --- a/usr.bin/uname/uname.1 +++ b/usr.bin/uname/uname.1 @@ -28,7 +28,7 @@ .\" @(#)uname.1 8.3 (Berkeley) 4/8/94 .\" $FreeBSD$ .\" -.Dd Novermber 13, 2020 +.Dd November 13, 2020 .Dt UNAME 1 .Os .Sh NAME From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 08:34:04 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BAA024B352D; Sun, 27 Dec 2020 08:34: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3Yqw4q8Bz3rVJ; Sun, 27 Dec 2020 08:34:04 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 982802412B; Sun, 27 Dec 2020 08:34:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BR8Y4Pe063088; Sun, 27 Dec 2020 08:34:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BR8Y4vA063087; Sun, 27 Dec 2020 08:34:04 GMT (envelope-from git) Date: Sun, 27 Dec 2020 08:34:04 GMT Message-Id: <202012270834.0BR8Y4vA063087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: b1ef73a2be86 - stable/12 - MFC r368808: devctl(8): Correct "sections out of conventional order" error 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/stable/12 X-Git-Reftype: branch X-Git-Commit: b1ef73a2be86b382846fded7693c33a8d8b18ee8 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 08:34:04 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=b1ef73a2be86b382846fded7693c33a8d8b18ee8 commit b1ef73a2be86b382846fded7693c33a8d8b18ee8 Author: Gordon Bergling AuthorDate: 2020-12-19 13:05:54 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 08:33:23 +0000 MFC r368808: devctl(8): Correct "sections out of conventional order" error (cherry picked from commit 267d86e15dbc9156c35ea07a5d8063013758431c) --- usr.sbin/devctl/devctl.8 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/devctl/devctl.8 b/usr.sbin/devctl/devctl.8 index 9fc3e69b1183..17f480bd66ee 100644 --- a/usr.sbin/devctl/devctl.8 +++ b/usr.sbin/devctl/devctl.8 @@ -194,11 +194,6 @@ tried first; if failed or not implemented, power reset is tried. If you have detached or suspended a child device explicitly and then do a reset, the child device will end up attached. .El -.Sh BUGS -Currently there is no administrative flag to prevent re-attach or resume -of the manually detached or suspended devices after reset. -Similarly, there is no flag to prevent un-suspending of the the manually -suspended devices after system resume. .Sh SEE ALSO .Xr devctl 3 , .Xr devinfo 8 @@ -207,3 +202,8 @@ The .Nm utility first appeared in .Fx 10.3 . +.Sh BUGS +Currently there is no administrative flag to prevent re-attach or resume +of the manually detached or suspended devices after reset. +Similarly, there is no flag to prevent un-suspending of the the manually +suspended devices after system resume. From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 12:45:43 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C28E34BA93E; Sun, 27 Dec 2020 12:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gQH57ctz4ZXX; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 A30FF27504; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRCjhAG032792; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRCjhQL032791; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git) Date: Sun, 27 Dec 2020 12:45:43 GMT Message-Id: <202012271245.0BRCjhQL032791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: f34e0ea262d7 - stable/12 - MFC r368797: ofw_bus_status_okay(9): Fix a few mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: f34e0ea262d7750b8ffbbe83881bbf8cfa0cdbe7 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 12:45:43 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=f34e0ea262d7750b8ffbbe83881bbf8cfa0cdbe7 commit f34e0ea262d7750b8ffbbe83881bbf8cfa0cdbe7 Author: Gordon Bergling AuthorDate: 2020-12-19 10:26:40 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:45:04 +0000 MFC r368797: ofw_bus_status_okay(9): Fix a few mandoc related issues - missing comma before name: Nm ofw_bus_status_okay - missing comma before name: Nm ofw_bus_node_status_okay - skipping paragraph macro: Pp after Sh (cherry picked from commit 0492f4030d2bd657fe9831ddf2a1e4b6204e4840) --- share/man/man9/ofw_bus_status_okay.9 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/share/man/man9/ofw_bus_status_okay.9 b/share/man/man9/ofw_bus_status_okay.9 index d153b74f33cf..c8861c6df106 100644 --- a/share/man/man9/ofw_bus_status_okay.9 +++ b/share/man/man9/ofw_bus_status_okay.9 @@ -32,8 +32,8 @@ .Dt ofw_bus_status_okay 9 .Os .Sh NAME -.Nm ofw_bus_get_status -.Nm ofw_bus_status_okay +.Nm ofw_bus_get_status , +.Nm ofw_bus_status_okay , .Nm ofw_bus_node_status_okay .Nd check status of the device tree node .Sh SYNOPSIS @@ -47,7 +47,6 @@ .Ft int .Fn ofw_bus_node_status_okay "phandle_t node" .Sh DESCRIPTION -.Pp The "status" property of the device tree node indicates whether the device is enabled or not. Multiple hardware versions might be built using the same base System-on-Chip From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 12:45:44 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E22D4B9CDE; Sun, 27 Dec 2020 12:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gQH71Dlz4ZXY; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 E26C8271C8; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRCjhjE032843; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRCjh5P032842; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git) Date: Sun, 27 Dec 2020 12:45:43 GMT Message-Id: <202012271245.0BRCjh5P032842@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: da189e3dd356 - stable/12 - MFC r368792: bhnd(9): Fix a few mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: da189e3dd3565c26c15439474fa63a7dcdba9e00 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 12:45:44 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=da189e3dd3565c26c15439474fa63a7dcdba9e00 commit da189e3dd3565c26c15439474fa63a7dcdba9e00 Author: Gordon Bergling AuthorDate: 2020-12-19 10:11:37 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:41:20 +0000 MFC r368792: bhnd(9): Fix a few mandoc related issues - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp at the end of Ss - missing section argument: Xr device_set_desc - unusual Xr punctuation: none before bhnd_erom(9) (cherry picked from commit 05419da506c699f52d60cc7afe86263146778f87) --- share/man/man9/bhnd.9 | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/share/man/man9/bhnd.9 b/share/man/man9/bhnd.9 index 7200e7f7ef20..e2a91fb54df3 100644 --- a/share/man/man9/bhnd.9 +++ b/share/man/man9/bhnd.9 @@ -715,7 +715,6 @@ per-core management registers. When BHND hardware is used as a host-connected peripheral (e.g., in a PCI Wi-Fi card), the on-chip peripheral controller core is configured to operate as an endpoint device, bridging access to the SoC hardware: -.Pp .Bl -dash -offset indent .It Host access to SoC address space is provided via a set of register windows @@ -925,7 +924,6 @@ A pointer to the bus If true, the resource requires bus window remapping before it is MMIO accessible. .El -.Pp .\" .Ss "Bus Space Functions" The bhnd_bus_space functions wrap their equivalent @@ -1116,7 +1114,6 @@ bus of device The returned .Vt bhnd_chipid struct contains the following fields: -.Pp .Bl -tag -width "enum_addr" -offset indent .It Fa chip_id The chip identifier. @@ -1320,7 +1317,6 @@ on success. The .Vt bhnd_board_info structure contains the following fields: -.Pp .Bl -tag -width "board_srom_rev" -offset indent .It Fa board_vendor Vendor ID of the board manufacturer (PCI-SIG assigned). @@ -1362,7 +1358,6 @@ fields will be populated from device NVRAM. .Pp Symbolic constants for common board flags are defined in .In dev/bhnd/bhnd_ids.h . -.Pp .Ss "Device Matching Functions" The bhnd device matching functions are used to match against core, chip, and board-level device attributes. @@ -1481,7 +1476,6 @@ is returned. A .Vt bhnd_board_match match descriptor may be initialized using one or more of the following macros: -.Pp .Bl -tag -width "Fn BHND_MATCH_BOARD_VENDOR vendor" -offset indent .It Fn BHND_MATCH_BOARD_VENDOR "vendor" Match on boards with a vendor equal to @@ -1518,7 +1512,6 @@ struct bhnd_board_match board_desc = { A .Vt bhnd_chip_match match descriptor may be initialized using one or more of the following macros: -.Pp .Bl -tag -width "Fn BHND_MATCH_CHIP_IPR id pkg hwrev" -offset indent .It Fn BHND_MATCH_CHIP_ID "id" Match on chips with an ID equal to @@ -1565,7 +1558,6 @@ struct bhnd_chip_match chip_desc = { A .Vt bhnd_core_match match descriptor may be initialized using one or more of the following macros: -.Pp .Bl -tag -width "Fn BHND_MATCH_CORE_VENDOR vendor" -offset indent .It Fn BHND_MATCH_CORE_VENDOR "vendor" Match on cores with a vendor ID equal to @@ -1711,7 +1703,6 @@ bridged backplane. A .Vt bhnd_device table entry may be initialized using one of the following macros: -.Pp .Bl -ohang -offset indent .It Fn BHND_DEVICE "vendor" "device" "desc" "quirks" "flags" Match on devices with a vendor ID equal to @@ -2242,7 +2233,6 @@ will be discarded. .Pp The following clocks are supported, and may be combined using bitwise OR to request multiple clocks: -.Pp .Bl -tag -width ".Dv BHND_CLOCK_DYN" -offset indent .It BHND_CLOCK_DYN Dynamically select an appropriate clock source based on all outstanding clock @@ -2454,7 +2444,7 @@ device identification of overriding the core name with the specified .Fa dev_name , to populate the device's verbose description using -.Xr device_set_desc . +.Xr device_set_desc 9 . .Pp The .Fn bhnd_set_default_core_desc @@ -2463,7 +2453,7 @@ function uses the device identification of .Fa dev to populate the device's verbose description using -.Xr device_set_desc . +.Xr device_set_desc 9 . .Pp The .Fn bhnd_vendor_name @@ -2491,7 +2481,6 @@ functions return a pointer to on success, a null pointer otherwise. .\" .Ss "Device Configuration Functions" -.Pp The .Fn bhnd_read_config and @@ -2521,7 +2510,6 @@ and functions return 0 on success, otherwise an appropriate error code is returned. .\" .Ss "Device Information Functions" -.Pp The .Fn bhnd_read_board_info function returns 0 on success, otherwise an appropriate error code is returned. @@ -2542,7 +2530,6 @@ If fetching the requested DMA address translation otherwise fails, an appropriate error code will be returned. .\" .Ss "Interrupt Functions" -.Pp The .Fn bhnd_get_intr_ivec function returns @@ -2641,7 +2628,6 @@ The and .Fn bhnd_release_ext_rsrc functions return 0 on success, otherwise an appropriate error code is returned. -.Pp .\" .Ss "Service Provider Functions" The @@ -2664,14 +2650,13 @@ function returns a pointer to on success, a null pointer if the requested provider is not registered. .\" .Ss "Utility Functions" -.Pp The .Fn bhnd_format_chip_id function returns the total number of bytes written on success, or a negative integer on failure. .\" .Sh SEE ALSO -.Xr bhnd 4 +.Xr bhnd 4 , .Xr bhnd_erom 9 .Sh AUTHORS .An -nosplit From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 12:45:43 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E4AC64B9CDD; Sun, 27 Dec 2020 12:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gQH69p3z4Zhv; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 C59F926F7E; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRCjhRw032826; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRCjhJX032825; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git) Date: Sun, 27 Dec 2020 12:45:43 GMT Message-Id: <202012271245.0BRCjhJX032825@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 95c326ca08b6 - stable/12 - MFC r368795: fail(9): Fix a few mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 95c326ca08b6a985bffd46ea709a9cbfed62ca9b Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 12:45:44 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=95c326ca08b6a985bffd46ea709a9cbfed62ca9b commit 95c326ca08b6a985bffd46ea709a9cbfed62ca9b Author: Gordon Bergling AuthorDate: 2020-12-19 10:20:22 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:42:17 +0000 MFC r368795: fail(9): Fix a few mandoc related issues - function name without markup: return() - function name without markup: print() (cherry picked from commit 501de9c0c1a4f78cd4f5986eea809554f8490d66) --- share/man/man9/fail.9 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/share/man/man9/fail.9 b/share/man/man9/fail.9 index cf623650e0c5..06405cc6d63e 100644 --- a/share/man/man9/fail.9 +++ b/share/man/man9/fail.9 @@ -196,9 +196,15 @@ The operator -> can be used to express cascading terms. If you specify ->, it means that if does not .Ql execute , is evaluated. -For the purpose of this operator, the return() and print() operators -are the only types that cascade. -A return() term only cascades if the code executes, and a print() +For the purpose of this operator, the +.Fn return +and +.Fn print +operators are the only types that cascade. +A +.Fn return +term only cascades if the code executes, and a +.Fn print term only cascades when passed a non-zero argument. A pid can optionally be specified. The fail point term is only executed when invoked by a process with a From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 12:45:44 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D3254BA853; Sun, 27 Dec 2020 12:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gQJ0ql5z4ZS0; Sun, 27 Dec 2020 12:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 0AE58270E7; Sun, 27 Dec 2020 12:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRCjhVI032877; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRCjh8P032876; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git) Date: Sun, 27 Dec 2020 12:45:43 GMT Message-Id: <202012271245.0BRCjh8P032876@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 37341e1259e4 - stable/12 - MFC r368805: ident(1): Normalizing date format 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 37341e1259e44d78f1eea5fd291e2ba1d1c9b008 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 12:45:44 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=37341e1259e44d78f1eea5fd291e2ba1d1c9b008 commit 37341e1259e44d78f1eea5fd291e2ba1d1c9b008 Author: Gordon Bergling AuthorDate: 2020-12-19 12:54:00 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:38:46 +0000 MFC r368805: ident(1): Normalizing date format (cherry picked from commit a5b4dfcfbc707b2306f7a11fdc0d14af5c79081a) --- usr.bin/ident/ident.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/ident/ident.1 b/usr.bin/ident/ident.1 index 9524980112bb..a3b5cab923f7 100644 --- a/usr.bin/ident/ident.1 +++ b/usr.bin/ident/ident.1 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd Jul 25, 2015 +.Dd July 25, 2015 .Dt IDENT 1 .Os .Sh NAME From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 12:45:44 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1CF2D4BA946; Sun, 27 Dec 2020 12:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gQJ0Cgqz4ZXZ; Sun, 27 Dec 2020 12:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 ECCF2271C9; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRCjhgr032860; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRCjhYG032859; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git) Date: Sun, 27 Dec 2020 12:45:43 GMT Message-Id: <202012271245.0BRCjhYG032859@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: fccec952f9b2 - stable/12 - MFC r368807: patch(1): Fix a few mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: fccec952f9b295d8166510533762e0874df9bebf Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 12:45:44 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=fccec952f9b295d8166510533762e0874df9bebf commit fccec952f9b295d8166510533762e0874df9bebf Author: Gordon Bergling AuthorDate: 2020-12-19 13:00:17 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:39:57 +0000 MFC r368807: patch(1): Fix a few mandoc related issues - no blank before trailing delimiter (cherry picked from commit a2f1c81b286c528a8efedf224a13e476dba1de42) --- usr.bin/patch/patch.1 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/usr.bin/patch/patch.1 b/usr.bin/patch/patch.1 index 3ad5287dee36..775308cc7689 100644 --- a/usr.bin/patch/patch.1 +++ b/usr.bin/patch/patch.1 @@ -164,7 +164,7 @@ ask any questions. It assumes the following: skip patches for which a file to patch cannot be found; patch files even though they have the wrong version for the -.Qq Prereq: +.Qq Prereq : line in the patch; and assume that patches are not reversed even if they look like they are. This option does not suppress commentary; use @@ -288,7 +288,7 @@ in that it suppresses questions, but makes some different assumptions: skip patches for which a file to patch cannot be found (the same as .Fl f ) ; skip patches for which the file has the wrong version for the -.Qq Prereq: +.Qq Prereq : line in the patch; and assume that patches are reversed if they look like they are. .It Fl u , Fl Fl unified @@ -393,7 +393,7 @@ line of context. If that fails, and the maximum fuzz factor is set to 2 or more, the first two and last two lines of context are ignored, and another scan is made. -.Pq The default maximum fuzz factor is 2. +.Pq The default maximum fuzz factor is 2 . .Pp If .Nm @@ -450,7 +450,7 @@ and the file is specified in the line beginning with .Qq +++ . If there is an -.Qq Index: +.Qq Index : line in the leading garbage (regardless of the diff type), .Nm will use the file name from that line as the @@ -544,13 +544,13 @@ First, you can save people a lot of grief by keeping a file which is patched to increment the patch level as the first diff in the patch file you send out. If you put a -.Qq Prereq: +.Qq Prereq : line in with the patch, it will not let them apply patches out of order without some warning. .Pp Second, make sure you have specified the file names right, either in a context diff header, or with an -.Qq Index: +.Qq Index : line. If you are patching something in a subdirectory, be sure to tell the patch user to specify a From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 12:45:43 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D70004BA851; Sun, 27 Dec 2020 12:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gQH5kzNz4ZKP; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 B41DF270E6; Sun, 27 Dec 2020 12:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRCjhBK032809; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRCjh25032808; Sun, 27 Dec 2020 12:45:43 GMT (envelope-from git) Date: Sun, 27 Dec 2020 12:45:43 GMT Message-Id: <202012271245.0BRCjh25032808@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 7c0ded9818db - stable/12 - MFC r368793: bhnd_erom(9): Fix a few mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 7c0ded9818db0b70cd69af91cfafd4d6a95fa5e1 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 12:45:43 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=7c0ded9818db0b70cd69af91cfafd4d6a95fa5e1 commit 7c0ded9818db0b70cd69af91cfafd4d6a95fa5e1 Author: Gordon Bergling AuthorDate: 2020-12-19 10:15:58 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:43:50 +0000 MFC r368793: bhnd_erom(9): Fix a few mandoc related issues - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp after Ss - skipping paragraph macro: Pp at the end of Ss - unusual Xr punctuation: none before bhnd_driver_get_erom_class(9) - unusual Xr punctuation: none before bus_space(9) (cherry picked from commit a549eb675bcdf5e0a35b49baa6f3ef0856dcba41) --- share/man/man9/bhnd_erom.9 | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/share/man/man9/bhnd_erom.9 b/share/man/man9/bhnd_erom.9 index 32ffa17dfbd3..8afda55d4bf8 100644 --- a/share/man/man9/bhnd_erom.9 +++ b/share/man/man9/bhnd_erom.9 @@ -336,7 +336,6 @@ If the core information is not desired, set to .Dv NULL . .Ss Bus Space I/O -.Pp The .Vt bhnd_erom_io structure provides a set of I/O callbacks used by @@ -353,7 +352,6 @@ callbacks directly. The .Vt bhnd_erom_io structure contains these required fields: -.Pp .Bl -tag -width "read" -offset indent .It Fa map A function implementing @@ -424,7 +422,6 @@ relative to the bus address previously mapped using The .Fa width must be one of 1, 2, or 4 bytes. -.Pp .Sh RETURN VALUES The .Fn bhnd_erom_probe @@ -477,8 +474,8 @@ functions return 0 on success, otherwise an appropriate error code is returned. .Sh SEE ALSO .Xr bhnd 4 , .Xr bhnd 9 , -.Xr bhnd_alloc_resource 9 -.Xr bhnd_driver_get_erom_class 9 +.Xr bhnd_alloc_resource 9 , +.Xr bhnd_driver_get_erom_class 9 , .Xr bus_space 9 .Sh AUTHORS .An -nosplit From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 13:03:41 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D8B784BB09F; Sun, 27 Dec 2020 13:03: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gq15h5nz4cC7; Sun, 27 Dec 2020 13:03:41 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 B622E27570; Sun, 27 Dec 2020 13:03:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRD3f6B054794; Sun, 27 Dec 2020 13:03:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRD3f0M054793; Sun, 27 Dec 2020 13:03:41 GMT (envelope-from git) Date: Sun, 27 Dec 2020 13:03:41 GMT Message-Id: <202012271303.0BRD3f0M054793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 0584ccf61a23 - stable/12 - MFC r368813: bluetooth: Fix a mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 0584ccf61a2330532e96b59c3adefb984670e921 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 13:03:41 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=0584ccf61a2330532e96b59c3adefb984670e921 commit 0584ccf61a2330532e96b59c3adefb984670e921 Author: Gordon Bergling AuthorDate: 2020-12-19 13:36:59 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 12:54:32 +0000 MFC r368813: bluetooth: Fix a mandoc related issues - new sentence, new line - sections out of conventional order: Sh FILES - unusual Xr order: bthost(1) after bthidd(8) - no blank before trailing delimiter - whitespace at end of input line - sections out of conventional order: Sh EXIT STATUS (cherry picked from commit 60ee05db4b19763137c399a0d79509af14e7440a) --- .../bluetooth/bluetooth-config/bluetooth-config.8 | 18 ++++++++++-------- usr.sbin/bluetooth/hccontrol/hccontrol.8 | 9 ++++----- usr.sbin/bluetooth/hcseriald/hcseriald.8 | 2 +- usr.sbin/bluetooth/sdpd/sdpd.8 | 20 ++++++++++---------- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/usr.sbin/bluetooth/bluetooth-config/bluetooth-config.8 b/usr.sbin/bluetooth/bluetooth-config/bluetooth-config.8 index 525c0c5749b4..fe5785265ce8 100644 --- a/usr.sbin/bluetooth/bluetooth-config/bluetooth-config.8 +++ b/usr.sbin/bluetooth/bluetooth-config/bluetooth-config.8 @@ -45,7 +45,8 @@ The following options are available: .It Fl d Scan for a specific bluetooth device address. .It Fl n -Limit scan to a specific host controller. Hint: List all netgraph nodes with +Limit scan to a specific host controller. +Hint: List all netgraph nodes with .Ql /usr/sbin/ngctl list . .El .Pp @@ -62,11 +63,6 @@ keyboards, configure and restart .Nm can bring up any interface and daemon necessary for operation and, if a node is provided on command line, will do so automatically for that interface. -.Sh CAVEATS -.Nm -can not parse entries in -.Xr hcsecd 8 -config file and thus will ask the user to manually modify existing pairing PIN entries. .Sh FILES .Bl -tag -width ".Pa /etc/bluetooth/hosts" -compact .It Pa /etc/bluetooth/hosts @@ -79,7 +75,8 @@ scan -n ubt0 -a 00:26:bb:7a:58:95 .Bd -ragged -offset indent This will scan the bluetooth controller ubt0hci for a bluetooth device with the address 00:26:bb:7a:58:95, set up ubt0 if necessary and enter an interactive dialog to pair the -new device. Since in this example a mouse is paired, +new device. +Since in this example a mouse is paired, .Nm will interact with .Xr bthidd 8 , @@ -93,9 +90,9 @@ This will scan all bluetooth controllers on the systems for bluetooth devices, p to bring up controllers or daemons along the way. .Ed .Sh SEE ALSO +.Xr bthost 1 , .Xr bthidcontrol 8 , .Xr bthidd 8 , -.Xr bthost 1 , .Xr hccontrol 8 , .Xr hcsecd 8 , .Xr sdpcontrol 8 , @@ -107,5 +104,10 @@ utility first appeared in .Fx 12.1 . .Sh AUTHORS .An Dirk Engling Aq Mt erdgeist@erdgeist.org +.Sh CAVEATS +.Nm +can not parse entries in +.Xr hcsecd 8 +config file and thus will ask the user to manually modify existing pairing PIN entries. .Sh THANKS TO Lars Engels and Warren Block for suggestions, help, and testing. diff --git a/usr.sbin/bluetooth/hccontrol/hccontrol.8 b/usr.sbin/bluetooth/hccontrol/hccontrol.8 index a31118b66895..d38db6bb24b1 100644 --- a/usr.sbin/bluetooth/hccontrol/hccontrol.8 +++ b/usr.sbin/bluetooth/hccontrol/hccontrol.8 @@ -146,8 +146,8 @@ are: .It Cm Get_Link_Quality .It Cm Read_RSSI .It Cm LE_Read_Local_Supported_Features -.It Cm LE_Set_Advertising_Parameters -.It Cm LE_Read_Advertising_Physical_Channel_Tx_Power +.It Cm LE_Set_Advertising_Parameters +.It Cm LE_Read_Advertising_Physical_Channel_Tx_Power .It Cm LE_Set_Advertising_Data .It Cm LE_Set_Scan_Response_Data .It Cm LE_Set_Advertising_Enable @@ -181,10 +181,11 @@ are: .It Cm Write_Node_Role_Switch .It Cm Read_Node_List .El +.Sh EXIT STATUS +.Ex -std .Sh EXAMPLES Make the blutooth LE host, ubt0hci, scannable through .Xr hccontrol 8 commands: -.Pp .Bd -literal -offset indent hccontrol -n ubt0hci le_set_advertising_enable disable hccontrol -n ubt0hci le_set_advertising_param @@ -193,8 +194,6 @@ hccontrol -n ubt0hci le_set_advertising_data hccontrol -n ubt0hci le_set_scan_response -n FBSD_Host hccontrol -n ubt0hci le_set_advertising_enable enable .Ed -.Sh EXIT STATUS -.Ex -std .Sh SEE ALSO .Xr bluetooth 3 , .Xr netgraph 3 , diff --git a/usr.sbin/bluetooth/hcseriald/hcseriald.8 b/usr.sbin/bluetooth/hcseriald/hcseriald.8 index c2d94efd0744..15f08411f98d 100644 --- a/usr.sbin/bluetooth/hcseriald/hcseriald.8 +++ b/usr.sbin/bluetooth/hcseriald/hcseriald.8 @@ -69,7 +69,7 @@ Example: .El .Sh FILES .Bl -tag -width ".Pa /var/run/hcserial. Ns Ar * Ns Pa .pid" -compact -.It Pa /var/run/hcserial. Ns Ar * Ns Pa .pid +.It Pa /var/run/hcserial . Ns Ar * Ns Pa .pid Process ID of the currently running .Nm daemon. diff --git a/usr.sbin/bluetooth/sdpd/sdpd.8 b/usr.sbin/bluetooth/sdpd/sdpd.8 index 6a7b162a43a5..17040663a7ac 100644 --- a/usr.sbin/bluetooth/sdpd/sdpd.8 +++ b/usr.sbin/bluetooth/sdpd/sdpd.8 @@ -98,7 +98,16 @@ was started as root. The default user name is .Dq Li nobody . .El -.Sh CAVEAT +.Sh FILES +.Bl -tag -width ".Pa /var/run/sdp" -compact +.It Pa /var/run/sdp +.El +.Sh SEE ALSO +.Xr sdp 3 , +.Xr sdpcontrol 8 +.Sh AUTHORS +.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com +.Sh CAVEATS The .Nm daemon @@ -126,15 +135,6 @@ It only performs minimal checking on the service data sent in the Service Register request. It is assumed that application must obtain all required resources such as RFCOMM channels etc., before registering the service. -.Sh FILES -.Bl -tag -width ".Pa /var/run/sdp" -compact -.It Pa /var/run/sdp -.El -.Sh SEE ALSO -.Xr sdp 3 , -.Xr sdpcontrol 8 -.Sh AUTHORS -.An Maksim Yevmenkin Aq Mt m_evmenkin@yahoo.com .Sh BUGS Most likely. Please report if found. From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 13:03:41 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C4BFA4BADB6; Sun, 27 Dec 2020 13:03: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gq159Thz4bvp; Sun, 27 Dec 2020 13:03:41 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 A444827823; Sun, 27 Dec 2020 13:03:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRD3fjh054777; Sun, 27 Dec 2020 13:03:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRD3fol054776; Sun, 27 Dec 2020 13:03:41 GMT (envelope-from git) Date: Sun, 27 Dec 2020 13:03:41 GMT Message-Id: <202012271303.0BRD3fol054776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 1e8688e70531 - stable/12 - MFC r368812: mpsutil(8): Remove trailing whitespace 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 1e8688e70531cba09ffb087be11a2c397dea73e6 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 13:03:41 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=1e8688e70531cba09ffb087be11a2c397dea73e6 commit 1e8688e70531cba09ffb087be11a2c397dea73e6 Author: Gordon Bergling AuthorDate: 2020-12-19 13:23:26 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 13:02:41 +0000 MFC r368812: mpsutil(8): Remove trailing whitespace (cherry picked from commit 84572415b4b55354811282cbc184f4a46f6952a1) --- usr.sbin/mpsutil/mpsutil.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/mpsutil/mpsutil.8 b/usr.sbin/mpsutil/mpsutil.8 index 6634b3742c3a..e4f966355fdd 100644 --- a/usr.sbin/mpsutil/mpsutil.8 +++ b/usr.sbin/mpsutil/mpsutil.8 @@ -9,7 +9,7 @@ .\" 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 From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 13:10:37 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8513C4BAB68; Sun, 27 Dec 2020 13:10: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gz13Pgxz4cPp; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 67B8B27982; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRDAbkg062279; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRDAbgV062278; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git) Date: Sun, 27 Dec 2020 13:10:37 GMT Message-Id: <202012271310.0BRDAbgV062278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 8f4d46cbc782 - stable/12 - MFC r368816: trim(8): Fix a few issues reported by mandoc 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 8f4d46cbc782ec57f9ce8c9b18cefea505ad94ce Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 13:10:37 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=8f4d46cbc782ec57f9ce8c9b18cefea505ad94ce commit 8f4d46cbc782ec57f9ce8c9b18cefea505ad94ce Author: Gordon Bergling AuthorDate: 2020-12-19 13:56:19 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 13:08:02 +0000 MFC r368816: trim(8): Fix a few issues reported by mandoc - new sentence, new line - unusual Xr order: ioctl(2) after da(4) - unusual Xr order: sysexits(3) after nda(4) (cherry picked from commit a652079615ac3cb503e516e50246284bb4ad60eb) --- usr.sbin/trim/trim.8 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/usr.sbin/trim/trim.8 b/usr.sbin/trim/trim.8 index 22727181d882..abd306ab70af 100644 --- a/usr.sbin/trim/trim.8 +++ b/usr.sbin/trim/trim.8 @@ -60,10 +60,12 @@ The following options are available: Do not actually erase anything but show what it would do (dry run). Implies .Fl v . -This is the default. Overrides +This is the default. +Overrides .Fl f . .It Fl f -Perform the operation. Overrides +Perform the operation. +Overrides .Fl N . .It Fl l Xo .Sm off @@ -150,11 +152,11 @@ is special device file not supporting DIOCGMEDIASIZE (probably not a disk), so its size cannot be examined. .El .Sh SEE ALSO +.Xr ioctl 2 , +.Xr sysexits 3 , .Xr ada 4 , .Xr da 4 , -.Xr ioctl 2 , -.Xr nda 4 , -.Xr sysexits 3 +.Xr nda 4 .Sh HISTORY The .Nm From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 13:10:37 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AA04A4BAB69; Sun, 27 Dec 2020 13:10: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gz14T5Xz4cBb; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 8AC72275E1; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRDAb5f062313; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRDAbl4062312; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git) Date: Sun, 27 Dec 2020 13:10:37 GMT Message-Id: <202012271310.0BRDAbl4062312@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 97fcafc83915 - stable/12 - MFC r368796: ofw_bus_is_compatible(9): Fix a few mandoc related issues 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 97fcafc83915bd4453e8c7ddcc400405b49ec410 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 13:10:37 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=97fcafc83915bd4453e8c7ddcc400405b49ec410 commit 97fcafc83915bd4453e8c7ddcc400405b49ec410 Author: Gordon Bergling AuthorDate: 2020-12-19 10:24:36 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 13:04:58 +0000 MFC r368796: ofw_bus_is_compatible(9): Fix a few mandoc related issues - missing comma before name: Nm ofw_bus_is_compatible_strict - missing comma before name: Nm ofw_bus_node_is_compatible - missing comma before name: Nm ofw_bus_search_compatible - skipping paragraph macro: Pp after Sh (cherry picked from commit 8bf0ef84d9c1aef72ba64f4dcbebb2a38edcf183) --- share/man/man9/ofw_bus_is_compatible.9 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/share/man/man9/ofw_bus_is_compatible.9 b/share/man/man9/ofw_bus_is_compatible.9 index fe2805f0ef05..3f7dd0639716 100644 --- a/share/man/man9/ofw_bus_is_compatible.9 +++ b/share/man/man9/ofw_bus_is_compatible.9 @@ -32,9 +32,9 @@ .Dt ofw_bus_is_compatible 9 .Os .Sh NAME -.Nm ofw_bus_is_compatible -.Nm ofw_bus_is_compatible_strict -.Nm ofw_bus_node_is_compatible +.Nm ofw_bus_is_compatible , +.Nm ofw_bus_is_compatible_strict , +.Nm ofw_bus_node_is_compatible , .Nm ofw_bus_search_compatible .Nd check device tree nodes for compatibility with drivers .Sh SYNOPSIS @@ -50,7 +50,6 @@ .Ft const struct ofw_compat_data * .Fn ofw_bus_search_compatible "device_t dev" "const struct ofw_compat_data *compat" .Sh DESCRIPTION -.Pp The "compatible" property of the device tree node is used to identify the type of the device the node represents. The property is a list of one or more strings that represent From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 13:10:37 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C95C44BB1AD; Sun, 27 Dec 2020 13:10: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gz15Grvz4cDy; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 A5D0A275E2; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRDAbpw062330; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRDAbem062329; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git) Date: Sun, 27 Dec 2020 13:10:37 GMT Message-Id: <202012271310.0BRDAbem062329@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 096589c1e1db - stable/12 - MFC r368814: nfsv4(4): Fix a few issues reported by mandoc 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 096589c1e1db4c06e2f304682f9335f60da46324 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 13:10:37 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=096589c1e1db4c06e2f304682f9335f60da46324 commit 096589c1e1db4c06e2f304682f9335f60da46324 Author: Gordon Bergling AuthorDate: 2020-12-19 13:45:39 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 13:03:59 +0000 MFC r368814: nfsv4(4): Fix a few issues reported by mandoc - new sentence, new line - function name without markup: rtalloc() - function name without markup: VOP_RECLAIM() (cherry picked from commit 749ddf491b4370300a2edbd47aed9ee1b5d71178) --- usr.sbin/nfsd/nfsv4.4 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/usr.sbin/nfsd/nfsv4.4 b/usr.sbin/nfsd/nfsv4.4 index 82b25a2982b3..af1876463247 100644 --- a/usr.sbin/nfsd/nfsv4.4 +++ b/usr.sbin/nfsd/nfsv4.4 @@ -57,8 +57,8 @@ To provide for correct recovery semantics, a small file described by is used by the server during the recovery phase. If this file is missing or empty, there is a backup copy maintained by .Xr nfsd 8 -that will be used. If either file is missing, they will be -created by the +that will be used. +If either file is missing, they will be created by the .Xr nfsd 8 . If both the file and the backup copy are empty, it will result in the server starting without providing a grace period @@ -290,7 +290,8 @@ Without a functioning callback path, a server will never issue Delegations to a client. .sp For NFSv4.0, by default, the callback address will be set to the IP address acquired via -rtalloc() in the kernel and port# 7745. +.Fn rtalloc +in the kernel and port# 7745. To override the default port#, a command line option for .Xr nfscbd 8 can be used. @@ -332,8 +333,9 @@ variables. .Pp NFSv4 mount(s) against exported volume(s) on the same host are not recommended, since this can result in a hung NFS server. -It occurs when an nfsd thread tries to do an NFSv4 VOP_RECLAIM()/Close RPC -as part of acquiring a new vnode. +It occurs when an nfsd thread tries to do an NFSv4 +.Fn VOP_RECLAIM +/ Close RPC as part of acquiring a new vnode. If all other nfsd threads are blocked waiting for lock(s) held by this nfsd thread, then there isn't an nfsd thread to service the Close RPC. .Sh FILES From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 13:10:37 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A25964BB132; Sun, 27 Dec 2020 13:10: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3gz14Clnz4c8W; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 78FF6274C2; Sun, 27 Dec 2020 13:10:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRDAbR8062296; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRDAbhv062295; Sun, 27 Dec 2020 13:10:37 GMT (envelope-from git) Date: Sun, 27 Dec 2020 13:10:37 GMT Message-Id: <202012271310.0BRDAbhv062295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 2a69e0b98663 - stable/12 - MFC r368815: zonectl(8): Fix a few issues reported by mandoc 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 2a69e0b9866321db0afb98bf5087f8a6d17ef53e Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 13:10:37 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=2a69e0b9866321db0afb98bf5087f8a6d17ef53e commit 2a69e0b9866321db0afb98bf5087f8a6d17ef53e Author: Gordon Bergling AuthorDate: 2020-12-19 13:51:46 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 13:06:59 +0000 MFC r368815: zonectl(8): Fix a few issues reported by mandoc - Add missing quotation mark for a comment above the .Dd - inserting missing end of block: Sh breaks Bd - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp before Bd - empty block: Bd (cherry picked from commit 8ef235787bcf90735e76bd476084f1ff016b7619) --- usr.sbin/zonectl/zonectl.8 | 6 ------ 1 file changed, 6 deletions(-) diff --git a/usr.sbin/zonectl/zonectl.8 b/usr.sbin/zonectl/zonectl.8 index 5e2f313603c7..64331917fb62 100644 --- a/usr.sbin/zonectl/zonectl.8 +++ b/usr.sbin/zonectl/zonectl.8 @@ -104,7 +104,6 @@ These zones must be written sequentially. If they are not written sequentially, starting at the write pointer, the command will fail. .El -.Pp .Bl -tag -width 12n .It Fl c Ar cmd Specify the zone subcommand: @@ -208,14 +207,12 @@ zonectl -d /dev/da5 -c params .Ed .Pp Display basic zoning information for disk da5. -.Pp .Bd -literal -offset indent zonectl -d /dev/da5 -c rz .Ed .Pp Issue the Report Zones command to disk da5, and print out all zones on the drive in the default format. -.Pp .Bd -literal -offset indent zonectl -d /dev/da5 -c rz -o reset -P script .Ed @@ -223,14 +220,11 @@ zonectl -d /dev/da5 -c rz -o reset -P script Issue the Report Zones command to disk da5, and print out all of the zones that have the Reset Write Pointer Recommended bit set to true. Print the zones in a script friendly form. -.Pp .Bd -literal -offset indent zonectl -d /dev/da5 -c rwp -l 0x2c80000 .Ed .Pp Issue the Reset Write Pointer command to disk da5 for the zone that starts at LBA 0x2c80000. -.Pp -.Bd -literal -offset indent .Sh AUTHORS .An Kenneth Merry Aq ken@FreeBSD.org From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 15:22:51 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A01924BE134; Sun, 27 Dec 2020 15:22: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3kvb45NHz4kRD; Sun, 27 Dec 2020 15:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 7E853EF5; Sun, 27 Dec 2020 15:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRFMp33005686; Sun, 27 Dec 2020 15:22:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRFMpTL005685; Sun, 27 Dec 2020 15:22:51 GMT (envelope-from git) Date: Sun, 27 Dec 2020 15:22:51 GMT Message-Id: <202012271522.0BRFMpTL005685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 59bacfdb5dd3 - stable/12 - MFC r368800: devd.conf(5): Fix a mandoc related issue 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 59bacfdb5dd3a84db9181b5e13261a9aebafa566 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 15:22:51 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=59bacfdb5dd3a84db9181b5e13261a9aebafa566 commit 59bacfdb5dd3a84db9181b5e13261a9aebafa566 Author: Gordon Bergling AuthorDate: 2020-12-19 11:03:04 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 15:22:01 +0000 MFC r368800: devd.conf(5): Fix a mandoc related issue - sections out of conventional order: Sh SEE ALSO (cherry picked from commit 226f43e757ff7a0f945f9deb0fb1481a752274bc) --- sbin/devd/devd.conf.5 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sbin/devd/devd.conf.5 b/sbin/devd/devd.conf.5 index 450bec71cf58..13cd5bd65a22 100644 --- a/sbin/devd/devd.conf.5 +++ b/sbin/devd/devd.conf.5 @@ -716,3 +716,6 @@ has many additional examples. .Xr devfs 5 , .Xr re_format 7 , .Xr devd 8 +.Sh BUGS +The variable expansion's interaction with single quotes is +suboptimal and surprising. From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 15:24:49 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4C8174BE340; Sun, 27 Dec 2020 15:24: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3kxs1gx4z4kjL; Sun, 27 Dec 2020 15:24:49 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 2CC4E12B9; Sun, 27 Dec 2020 15:24:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRFOn4U005828; Sun, 27 Dec 2020 15:24:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRFOnR0005827; Sun, 27 Dec 2020 15:24:49 GMT (envelope-from git) Date: Sun, 27 Dec 2020 15:24:49 GMT Message-Id: <202012271524.0BRFOnR0005827@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 0104423d2844 - stable/12 - MFC r368794: driver(9): Fix a mandoc related issue 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 0104423d2844502d904294da65c434d68a9504d1 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 15:24:49 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=0104423d2844502d904294da65c434d68a9504d1 commit 0104423d2844502d904294da65c434d68a9504d1 Author: Gordon Bergling AuthorDate: 2020-12-19 10:18:21 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 15:24:25 +0000 MFC r368794: driver(9): Fix a mandoc related issue - sections out of conventional order: Sh SEE ALSO (cherry picked from commit f37f378d35710da29463f0346deafe6eeb7648ea) --- share/man/man9/driver.9 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/share/man/man9/driver.9 b/share/man/man9/driver.9 index 93ab992ce741..a23b1ac41543 100644 --- a/share/man/man9/driver.9 +++ b/share/man/man9/driver.9 @@ -111,6 +111,11 @@ arguments. .Xr DEVICE_PROBE 9 , .Xr DEVICE_SHUTDOWN 9 , .Xr DRIVER_MODULE 9 +.Sh HISTORY +The +.Nm +framework first appeared in +.Fx 2.2.7 . .Sh AUTHORS This manual page was written by .An Doug Rabson . From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 15:24:49 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 528C24BDE44; Sun, 27 Dec 2020 15:24: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3kxs1wVTz4kr8; Sun, 27 Dec 2020 15:24:49 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 3508C13A7; Sun, 27 Dec 2020 15:24:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRFOngE005845; Sun, 27 Dec 2020 15:24:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRFOnaS005844; Sun, 27 Dec 2020 15:24:49 GMT (envelope-from git) Date: Sun, 27 Dec 2020 15:24:49 GMT Message-Id: <202012271524.0BRFOnaS005844@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 513bf9b43344 - stable/12 - MFC r368809: config: Fix a few mandoc related errors 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 513bf9b4334469cb6c94f75728212e1d40902cda Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 15:24:49 -0000 The branch stable/12 has been updated by gbe (doc committer): URL: https://cgit.FreeBSD.org/src/commit/?id=513bf9b4334469cb6c94f75728212e1d40902cda commit 513bf9b4334469cb6c94f75728212e1d40902cda Author: Gordon Bergling AuthorDate: 2020-12-19 13:11:44 +0000 Commit: Gordon Bergling CommitDate: 2020-12-27 15:23:27 +0000 MFC r368809: config: Fix a few mandoc related errors - new sentence, new line - no blank before trailing delimiter (cherry picked from commit aeb0c721f5ce785d954c35d2609748e9cb8dd2d0) --- usr.sbin/config/config.5 | 14 +++++++------- usr.sbin/config/config.8 | 7 ++++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/usr.sbin/config/config.5 b/usr.sbin/config/config.5 index 4b854542fc6b..6d820b4d1dd4 100644 --- a/usr.sbin/config/config.5 +++ b/usr.sbin/config/config.5 @@ -96,7 +96,7 @@ There can be more than one directive in a configuration file. The allowed list of CPU names is architecture specific and is defined in the file -.Pa sys/conf/options. Ns Aq Ar arch . +.Pa sys/conf/options . Ns Aq Ar arch . .\" -------- DEVICE -------- .Pp .It Ic device Ar name Op , Ar name Op ... @@ -109,7 +109,7 @@ defined in the file Devices that are specific to architecture .Ar arch are defined in the file -.Pa sys/conf/files. Ns Aq Ar arch . +.Pa sys/conf/files . Ns Aq Ar arch . .\" -------- ENV -------- .Pp .It Ic env Ar filename @@ -182,7 +182,7 @@ specified variables. .It Ic files Ar filename Specifies a file containing a list of files specific to that kernel configuration file (a la -.Pa files. Ns Aq Ar arch ) . +.Pa files . Ns Aq Ar arch ) . .\" -------- HINTS -------- .Pp .It Ic hints Ar filename @@ -399,7 +399,7 @@ the file Options specific to architecture .Ar arch are specified in the file -.Pa sys/conf/options. Ns Aq Ar arch . +.Pa sys/conf/options . Ns Aq Ar arch . .\" -------- PROFILE -------- .Pp .It Ic profile Ar number @@ -431,18 +431,18 @@ onwards, this information is passed to a booting kernel by .Bl -tag -width ".Pa sys/conf/Makefile. Ns Ar arch" -compact .It Pa sys/compile/ Ns Ar NAME Compile directory created from a kernel configuration. -.It Pa sys/conf/Makefile. Ns Ar arch +.It Pa sys/conf/Makefile . Ns Ar arch .Pa Makefile fragments for architecture .Ar arch . .It Pa sys/conf/files Devices common to all architectures. -.It Pa sys/conf/files. Ns Ar arch +.It Pa sys/conf/files . Ns Ar arch Devices for architecture .Ar arch . .It Pa sys/conf/options Options common to all architectures. -.It Pa sys/conf/options. Ns Ar arch +.It Pa sys/conf/options . Ns Ar arch Options for architecture .Ar arch . .El diff --git a/usr.sbin/config/config.8 b/usr.sbin/config/config.8 index 4865fd0ae57a..c8c92b5eddab 100644 --- a/usr.sbin/config/config.8 +++ b/usr.sbin/config/config.8 @@ -76,7 +76,8 @@ Search in .Ar path for any file included by the .Ic include -directive. This option may be specified more than once. +directive. +This option may be specified more than once. .It Fl d Ar destdir Use .Ar destdir @@ -238,10 +239,10 @@ in the root file system. .Bl -tag -width "/sys/ARCH/compile/SYSTEM_NAME" -compact .It Pa /sys/conf/files list of common files system is built from -.It Pa /sys/conf/Makefile. Ns Va ARCH +.It Pa /sys/conf/Makefile . Ns Va ARCH generic makefile for the .Va ARCH -.It Pa /sys/conf/files. Ns Va ARCH +.It Pa /sys/conf/files . Ns Va ARCH list of .Va ARCH specific files From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 20:51:25 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 583994C5CFB; Sun, 27 Dec 2020 20:51: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3tBh6tm3z3NW5; Sun, 27 Dec 2020 20:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 680185A1B; Sun, 27 Dec 2020 20:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRKpOps065542; Sun, 27 Dec 2020 20:51:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRKpOfY065541; Sun, 27 Dec 2020 20:51:24 GMT (envelope-from git) Date: Sun, 27 Dec 2020 20:51:24 GMT Message-Id: <202012272051.0BRKpOfY065541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 5cf1ba21eeba - stable/12 - MFC freebsd-update: unconditionally regenerate passwd/login.conf files 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 5cf1ba21eebaf89cf4d8639a18345dc49116d1d5 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 20:51:25 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=5cf1ba21eebaf89cf4d8639a18345dc49116d1d5 commit 5cf1ba21eebaf89cf4d8639a18345dc49116d1d5 Author: Kyle Evans AuthorDate: 2020-12-17 03:42:54 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 20:50:53 +0000 MFC freebsd-update: unconditionally regenerate passwd/login.conf files The existing logic is nice in theory, but in practice freebsd-update will not preserve the timestamps on these files. When doing a major upgrade, e.g. from 12.1-RELEASE -> 12.2-RELEASE, pwd.mkdb et al. appear in the INDEX and we clobber the timestamp several times in the process of packaging up the existing system into /var/db/freebsd-update/files and extracting for comparisons. This leads to these files not getting regenerated when they're most likely to be needed. Measures could be taken to preserve timestamps, but it's unclear whether the complexity and overhead of doing so is really outweighed by the marginal benefit. I observed this issue when pkg subsequently failed to install a package that wanted to add a user, claiming that the user was removed in the process. bapt@ pointed to this pre-existing bug with freebsd-update as the cause. PR: 234014, 232921 (cherry picked from commit ebebc41e4cfe44b8e8fd881badf2fa2c4be65aa4) --- usr.sbin/freebsd-update/freebsd-update.sh | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index ea85bb7c6831..004515bb8bf8 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -2949,17 +2949,9 @@ Kernel updates have been installed. Please reboot and run env DESTDIR=${BASEDIR} certctl rehash fi - # Rebuild generated pwd files. - if [ ${BASEDIR}/etc/master.passwd -nt ${BASEDIR}/etc/spwd.db ] || - [ ${BASEDIR}/etc/master.passwd -nt ${BASEDIR}/etc/pwd.db ] || - [ ${BASEDIR}/etc/master.passwd -nt ${BASEDIR}/etc/passwd ]; then - pwd_mkdb -d ${BASEDIR}/etc -p ${BASEDIR}/etc/master.passwd - fi - - # Rebuild /etc/login.conf.db if necessary. - if [ ${BASEDIR}/etc/login.conf -nt ${BASEDIR}/etc/login.conf.db ]; then - cap_mkdb ${BASEDIR}/etc/login.conf - fi + # Rebuild generated pwd files and /etc/login.conf.db. + pwd_mkdb -d ${BASEDIR}/etc -p ${BASEDIR}/etc/master.passwd + cap_mkdb ${BASEDIR}/etc/login.conf # Rebuild man page databases, if necessary. for D in /usr/share/man /usr/share/openssl/man; do From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 20:53:09 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D587D4C604D; Sun, 27 Dec 2020 20:53:09 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3tDj5l3zz3Nd7; Sun, 27 Dec 2020 20:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 AD7655C1E; Sun, 27 Dec 2020 20:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRKr9Mh065657; Sun, 27 Dec 2020 20:53:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRKr9I8065656; Sun, 27 Dec 2020 20:53:09 GMT (envelope-from git) Date: Sun, 27 Dec 2020 20:53:09 GMT Message-Id: <202012272053.0BRKr9I8065656@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: cd7da1deb581 - stable/11 - MFC freebsd-update: unconditionally regenerate passwd/login.conf files 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/stable/11 X-Git-Reftype: branch X-Git-Commit: cd7da1deb581122c94c3735b78fafdd04ce77b67 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 20:53:09 -0000 The branch stable/11 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cd7da1deb581122c94c3735b78fafdd04ce77b67 commit cd7da1deb581122c94c3735b78fafdd04ce77b67 Author: Kyle Evans AuthorDate: 2020-12-17 03:42:54 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 20:52:37 +0000 MFC freebsd-update: unconditionally regenerate passwd/login.conf files The existing logic is nice in theory, but in practice freebsd-update will not preserve the timestamps on these files. When doing a major upgrade, e.g. from 12.1-RELEASE -> 12.2-RELEASE, pwd.mkdb et al. appear in the INDEX and we clobber the timestamp several times in the process of packaging up the existing system into /var/db/freebsd-update/files and extracting for comparisons. This leads to these files not getting regenerated when they're most likely to be needed. Measures could be taken to preserve timestamps, but it's unclear whether the complexity and overhead of doing so is really outweighed by the marginal benefit. I observed this issue when pkg subsequently failed to install a package that wanted to add a user, claiming that the user was removed in the process. bapt@ pointed to this pre-existing bug with freebsd-update as the cause. PR: 234014, 232921 (cherry picked from commit ebebc41e4cfe44b8e8fd881badf2fa2c4be65aa4) --- usr.sbin/freebsd-update/freebsd-update.sh | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 9f8f00082491..97df3e274925 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -2949,17 +2949,9 @@ Kernel updates have been installed. Please reboot and run env DESTDIR=${BASEDIR} certctl rehash fi - # Rebuild generated pwd files. - if [ ${BASEDIR}/etc/master.passwd -nt ${BASEDIR}/etc/spwd.db ] || - [ ${BASEDIR}/etc/master.passwd -nt ${BASEDIR}/etc/pwd.db ] || - [ ${BASEDIR}/etc/master.passwd -nt ${BASEDIR}/etc/passwd ]; then - pwd_mkdb -d ${BASEDIR}/etc -p ${BASEDIR}/etc/master.passwd - fi - - # Rebuild /etc/login.conf.db if necessary. - if [ ${BASEDIR}/etc/login.conf -nt ${BASEDIR}/etc/login.conf.db ]; then - cap_mkdb ${BASEDIR}/etc/login.conf - fi + # Rebuild generated pwd files and /etc/login.conf.db. + pwd_mkdb -d ${BASEDIR}/etc -p ${BASEDIR}/etc/master.passwd + cap_mkdb ${BASEDIR}/etc/login.conf # Rebuild man page databases, if necessary. for D in /usr/share/man /usr/share/openssl/man; do From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 20:54:25 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2BFCB4C5D7D; Sun, 27 Dec 2020 20:54: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3tG90hjmz3Ngs; Sun, 27 Dec 2020 20:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 F3E315C1F; Sun, 27 Dec 2020 20:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRKsOBT065774; Sun, 27 Dec 2020 20:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRKsOhk065773; Sun, 27 Dec 2020 20:54:24 GMT (envelope-from git) Date: Sun, 27 Dec 2020 20:54:24 GMT Message-Id: <202012272054.0BRKsOhk065773@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 24a8ea4df342 - stable/12 - MFC kern: cpuset: allow jails to modify child jails' roots 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 24a8ea4df3426dfce2896e265eb3e0206aa33a21 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 20:54:25 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=24a8ea4df3426dfce2896e265eb3e0206aa33a21 commit 24a8ea4df3426dfce2896e265eb3e0206aa33a21 Author: Kyle Evans AuthorDate: 2020-12-19 03:30:06 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 20:53:46 +0000 MFC kern: cpuset: allow jails to modify child jails' roots This partially lifts a restriction imposed by r191639 ("Prevent a superuser inside a jail from modifying the dedicated root cpuset of that jail") that's perhaps beneficial after r192895 ("Add hierarchical jails."). Jails still cannot modify their own cpuset, but they can modify child jails' roots to further restrict them or widen them back to the modifying jails' own mask. As a side effect of this, the system root may once again widen the mask of jails as long as they're still using a subset of the parent jails' mask. This was previously prevented by the fact that cpuset_getroot of a root set will return that root, rather than the root's parent -- cpuset_modify uses cpuset_getroot since it was introduced in r327895, previously it was just validating against set->cs_parent which allowed the system root to widen jail masks. PR: 240687 (cherry picked from commit 54a837c8cca109ad0d7ecb4b93379086f6f49275) --- sys/kern/kern_cpuset.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index 27440aea5cc5..7695f07983ac 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -688,19 +688,34 @@ cpuset_modify(struct cpuset *set, cpuset_t *mask) if (error) return (error); /* - * In case we are called from within the jail + * In case we are called from within the jail, * we do not allow modifying the dedicated root * cpuset of the jail but may still allow to - * change child sets. + * change child sets, including subordinate jails' + * roots. */ - if (jailed(curthread->td_ucred) && - set->cs_flags & CPU_SET_ROOT) + if ((set->cs_flags & CPU_SET_ROOT) != 0 && + jailed(curthread->td_ucred) && + set == curthread->td_ucred->cr_prison->pr_cpuset) return (EPERM); /* * Verify that we have access to this set of * cpus. */ - root = cpuset_getroot(set); + if ((set->cs_flags & (CPU_SET_ROOT | CPU_SET_RDONLY)) == CPU_SET_ROOT) { + KASSERT(set->cs_parent != NULL, + ("jail.cpuset=%d is not a proper child of parent jail's root.", + set->cs_id)); + + /* + * cpuset_getroot() cannot work here due to how top-level jail + * roots are constructed. Top-level jails are parented to + * thread0's cpuset (i.e. cpuset 1) rather than the system root. + */ + root = set->cs_parent; + } else { + root = cpuset_getroot(set); + } mtx_lock_spin(&cpuset_lock); if (root && !CPU_SUBSET(&root->cs_mask, mask)) { error = EINVAL; From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 21:38:58 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B3CCD4C82C7; Sun, 27 Dec 2020 21:38: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3vFZ4j4dz3lld; Sun, 27 Dec 2020 21:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 946A96602; Sun, 27 Dec 2020 21:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRLcw67010808; Sun, 27 Dec 2020 21:38:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRLcwYG010807; Sun, 27 Dec 2020 21:38:58 GMT (envelope-from git) Date: Sun, 27 Dec 2020 21:38:58 GMT Message-Id: <202012272138.0BRLcwYG010807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 4fd8afa474da - stable/12 - MFC: stand: liblua: add a pager module 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 4fd8afa474dab1d2389f8b54f7ba1b45bcf62823 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 21:38:58 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=4fd8afa474dab1d2389f8b54f7ba1b45bcf62823 commit 4fd8afa474dab1d2389f8b54f7ba1b45bcf62823 Author: Kyle Evans AuthorDate: 2020-12-12 21:25:38 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 20:55:03 +0000 MFC: stand: liblua: add a pager module This is nearly a 1:1 mapping of the pager API from libsa. The only real difference is that pager.output() will accept any number of arguments and coerce all of them to strings for output using luaL_tolstring (i.e. the __tostring metamethod will be used). The only consumer planned at this time is the upcoming "show-module-options" implementation. (cherry picked from commit 0a0d522b368b31ec51611b798047a75b52855f39) --- stand/common/interp_lua.c | 1 + stand/liblua/Makefile | 2 +- stand/liblua/lpager.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++ stand/liblua/lutils.h | 1 + 4 files changed, 92 insertions(+), 1 deletion(-) diff --git a/stand/common/interp_lua.c b/stand/common/interp_lua.c index 0a6035e7bb28..94001918e151 100644 --- a/stand/common/interp_lua.c +++ b/stand/common/interp_lua.c @@ -95,6 +95,7 @@ static const luaL_Reg loadedlibs[] = { {"io", luaopen_io}, {"lfs", luaopen_lfs}, {"loader", luaopen_loader}, + {"pager", luaopen_pager}, {NULL, NULL} }; diff --git a/stand/liblua/Makefile b/stand/liblua/Makefile index 0f4047769b77..434268063158 100644 --- a/stand/liblua/Makefile +++ b/stand/liblua/Makefile @@ -23,7 +23,7 @@ SRCS+= lauxlib.c lbaselib.c lstrlib.c loadlib.c #SRCS+= lbitlib.c liolib.c lmathlib.c loslib.c ltablib.c # Our utilities. -SRCS+= lerrno.c lstd.c lutils.c +SRCS+= lerrno.c lpager.c lstd.c lutils.c .PATH: ${FLUASRC}/modules SRCS+= lfs.c diff --git a/stand/liblua/lpager.c b/stand/liblua/lpager.c new file mode 100644 index 000000000000..910931e11d58 --- /dev/null +++ b/stand/liblua/lpager.c @@ -0,0 +1,89 @@ +/*- + * Copyright (c) 2020 Kyle Evans + * + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include "lauxlib.h" + +/* Open the pager. No arguments, no return value. */ +static int +lpager_open(lua_State *L) +{ + + pager_open(); + return (0); +} + +/* + * Output to the pager. All arguments are interpreted as strings and passed to + * pager_output(). No return value. + */ +static int +lpager_output(lua_State *L) +{ + const char *outstr; + int i; + + for (i = 1; i <= lua_gettop(L); i++) { + outstr = luaL_tolstring(L, i, NULL); + pager_output(outstr); + lua_pop(L, -1); + } + + return (0); +} + +/* Output to the pager from a file. Takes a filename, no return value. */ +static int +lpager_file(lua_State *L) +{ + + return (pager_file(luaL_checkstring(L, 1))); +} + +static int +lpager_close(lua_State *L) +{ + + pager_close(); + return (0); +} + +static const struct luaL_Reg pagerlib[] = { + { "open", lpager_open }, + { "output", lpager_output }, + { "file", lpager_file }, + { "close", lpager_close }, + { NULL, NULL }, +}; + +int +luaopen_pager(lua_State *L) +{ + luaL_newlib(L, pagerlib); + return 1; +} diff --git a/stand/liblua/lutils.h b/stand/liblua/lutils.h index 6d14807160e4..d7d968b705bb 100644 --- a/stand/liblua/lutils.h +++ b/stand/liblua/lutils.h @@ -30,3 +30,4 @@ int luaopen_loader(lua_State *); int luaopen_io(lua_State *); +int luaopen_pager(lua_State *); From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 21:43:17 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 31D6A4C817B; Sun, 27 Dec 2020 21:43:17 +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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3vLY0tkhz3m62; Sun, 27 Dec 2020 21:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 06C9A67E6; Sun, 27 Dec 2020 21:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRLhGfe022097; Sun, 27 Dec 2020 21:43:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRLhGPA022096; Sun, 27 Dec 2020 21:43:16 GMT (envelope-from git) Date: Sun, 27 Dec 2020 21:43:16 GMT Message-Id: <202012272143.0BRLhGPA022096@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 2b78b1ef093e - stable/12 - MFC lualoader: module-manipulation commands 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 2b78b1ef093e430196eb43c67682207de989a1d5 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 21:43:17 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2b78b1ef093e430196eb43c67682207de989a1d5 commit 2b78b1ef093e430196eb43c67682207de989a1d5 Author: Kyle Evans AuthorDate: 2020-12-12 05:57:42 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 21:42:02 +0000 MFC lualoader: module-manipulation commands 4634bb1f: lualoader: provide module-manipulation commands Specifically, we have: - enable-module - disable-module - toggle-module These can be used to add/remove modules to be loaded or force modules to be loaded in spite of modules_blacklist. In the typical case, a user is expected to use them to recover an issue happening due to a module directive they've added to their loader.conf or because they discover that they've under-specified what to load. 10aeb6cd: lualoader: config: fix module enabled check A last minute rewrite left this logically wrong; if it's present in modules_blacklist, then we do not load it. 7ed84fa1: lualoader: cli: provide a show-module-options loader command This effectively dumps everything lualoader knows about to the console using the libsa pager; that particular lua interface was added in r368591. A pager stub implementation has been added that just dumps the output as-is as a compat shim for older loader binaries that do not have lpager. This stub should be moved into a more appropriate .lua file if we add anything else that needs the pager. (cherry picked from commit 4634bb1f4052ff5f1c0a423fd8cce11396ca7fd2) (cherry picked from commit 10aeb6cdab8fb09e2cc3ee2d8b2c68c395481c23) (cherry picked from commit 7ed84fa14b00cdacfe9b43019cba7a14b33af352) --- stand/lua/cli.lua | 106 +++++++++++++++++++++++++++++++++++++++++++++++++ stand/lua/cli.lua.8 | 44 ++++++++++++++++---- stand/lua/config.lua | 48 +++++++++++++++++++++- stand/lua/config.lua.8 | 30 +++++++++++++- 4 files changed, 218 insertions(+), 10 deletions(-) diff --git a/stand/lua/cli.lua b/stand/lua/cli.lua index 188292191448..d1947ca1021d 100644 --- a/stand/lua/cli.lua +++ b/stand/lua/cli.lua @@ -32,6 +32,18 @@ local core = require("core") local cli = {} +if not pager then + -- shim for the pager module that just doesn't do it. + -- XXX Remove after 12.2 goes EoL. + pager = { + open = function() end, + close = function() end, + output = function(str) + printc(str) + end, + } +end + -- Internal function -- Parses arguments to boot and returns two values: kernel_name, argstr -- Defaults to nil and "" respectively. @@ -65,6 +77,14 @@ local function parseBootArgs(argv, with_kernel) end end +local function setModule(module, loading) + if loading and config.enableModule(module) then + print(module .. " will be loaded") + elseif not loading and config.disableModule(module) then + print(module .. " will not be loaded") + end +end + -- Declares a global function cli_execute that attempts to dispatch the -- arguments passed as a lua function. This gives lua a chance to intercept -- builtin CLI commands like "boot" @@ -134,6 +154,92 @@ cli['reload-conf'] = function(...) config.reload() end +cli["enable-module"] = function(...) + local _, argv = cli.arguments(...) + if #argv == 0 then + print("usage error: enable-module module") + return + end + + setModule(argv[1], true) +end + +cli["disable-module"] = function(...) + local _, argv = cli.arguments(...) + if #argv == 0 then + print("usage error: disable-module module") + return + end + + setModule(argv[1], false) +end + +cli["toggle-module"] = function(...) + local _, argv = cli.arguments(...) + if #argv == 0 then + print("usage error: toggle-module module") + return + end + + local module = argv[1] + setModule(module, not config.isModuleEnabled(module)) +end + +cli["show-module-options"] = function() + local module_info = config.getModuleInfo() + local modules = module_info['modules'] + local blacklist = module_info['blacklist'] + local lines = {} + + for module, info in pairs(modules) do + if #lines > 0 then + lines[#lines + 1] = "" + end + + lines[#lines + 1] = "Name: " .. module + if info.name then + lines[#lines + 1] = "Path: " .. info.name + end + + if info.type then + lines[#lines + 1] = "Type: " .. info.type + end + + if info.flags then + lines[#lines + 1] = "Flags: " .. info.flags + end + + if info.before then + lines[#lines + 1] = "Before load: " .. info.before + end + + if info.after then + lines[#lines + 1] = "After load: " .. info.after + end + + if info.error then + lines[#lines + 1] = "Error: " .. info.error + end + + local status + if blacklist[module] and not info.force then + status = "Blacklisted" + elseif info.load == "YES" then + status = "Load" + else + status = "Don't load" + end + + lines[#lines + 1] = "Status: " .. status + end + + pager.open() + for i, v in ipairs(lines) do + pager.output(v .. "\n") + end + pager.close() +end + -- Used for splitting cli varargs into cmd_name and the rest of argv function cli.arguments(...) local argv = {...} diff --git a/stand/lua/cli.lua.8 b/stand/lua/cli.lua.8 index ac9ed3580448..390831d21452 100644 --- a/stand/lua/cli.lua.8 +++ b/stand/lua/cli.lua.8 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 13, 2019 +.Dd December 17, 2020 .Dt CLI.LUA 8 .Os .Sh NAME @@ -77,14 +77,28 @@ This function may be invoked by a user at the loader prompt by simply typing .Ic foo . Arguments may be passed to it as usual, space-delimited. .Ss Default Commands -As of present, the +The .Nm -module by default provides commands for -.Ic autoboot , -.Ic boot , -.Ic boot-conf , -and -.Ic reload-conf . +module provides the following default commands: +.Bl -bullet +.\"-width toggle-module -offset indent +.It +.Ic autoboot +.It +.Ic boot +.It +.Ic boot-conf +.It +.Ic reload-conf +.It +.Ic enable-module +.It +.Ic disable-module +.It +.Ic toggle-module +.It +.Ic show-module-options +.El .Pp For .Ic autoboot , @@ -103,6 +117,20 @@ The command will reload the configuration from disk. This is useful if you have manually changed currdev and would like to easily reload the configuration from the new device. +.Pp +The +.Ic enable-module , +.Ic disable-module , +and +.Ic toggle-module +commands manipulate the list of modules to be loaded along with the kernel. +Modules blacklisted are considered disabled by +.Ic toggle-module . +These commands will override any such restriction as needed. +The +.Ic show-module-options +command will dump the list of modules that loader has been made aware of and +any applicable options using paged output. .Ss Exported Functions The following functions are exported from .Nm : diff --git a/stand/lua/config.lua b/stand/lua/config.lua index 0d9e78aa02dc..5b554806fc9f 100644 --- a/stand/lua/config.lua +++ b/stand/lua/config.lua @@ -312,7 +312,7 @@ local function loadModule(mod, silent) for k, v in pairs(mod) do if v.load ~= nil and v.load:lower() == "yes" then local module_name = v.name or k - if blacklist[module_name] ~= nil then + if not v.force and blacklist[module_name] ~= nil then if not silent then print(MSG_MODBLACKLIST:format(module_name)) end @@ -673,6 +673,52 @@ function config.loadelf() return status end +function config.enableModule(modname) + if modules[modname] == nil then + modules[modname] = {} + elseif modules[modname].load == "YES" then + modules[modname].force = true + return true + end + + modules[modname].load = "YES" + modules[modname].force = true + return true +end + +function config.disableModule(modname) + if modules[modname] == nil then + return false + elseif modules[modname].load ~= "YES" then + return true + end + + modules[modname].load = "NO" + modules[modname].force = nil + return true +end + +function config.isModuleEnabled(modname) + local mod = modules[modname] + if not mod or mod.load ~= "YES" then + return false + end + + if mod.force then + return true + end + + local blacklist = getBlacklist() + return not blacklist[modname] +end + +function config.getModuleInfo() + return { + modules = modules, + blacklist = getBlacklist() + } +end + hook.registerType("config.loaded") hook.registerType("config.reloaded") hook.registerType("kernel.loaded") diff --git a/stand/lua/config.lua.8 b/stand/lua/config.lua.8 index 098b607271f7..4fc51c90045f 100644 --- a/stand/lua/config.lua.8 +++ b/stand/lua/config.lua.8 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 30, 2020 +.Dd December 17, 2020 .Dt CONFIG.LUA 8 .Os .Sh NAME @@ -184,6 +184,34 @@ This will be called by the Lua intercepted and .Ic boot commands. +.It Fn config.enableModule modname +Marks a module named +.Fa modname +to be loaded during +.Fn config.loadelf . +If the module was previously blacklisted, then it will be forcefully allowed to +load. +.It Fn config.disableModule modname +Marks a module named +.Fa modname +to not be loaded during +.Fn config.loadelf . +.It Fn config.isModuleEnabled modname +Checks if the module named +.Fa modname +will be loaded during +.Fn config.loadelf . +It checks both that the module is marked for loading and that it is either +forced or not blacklisted. +.It Fn config.getModuleInfo +Returns a table with +.Dq modules +and +.Dq blacklist +tables describing the modules that the config module has been made aware of via +.Xr loader.conf 5 +as well as a representation of +.Ar module_blacklist . .El .Ss Defined Hooks The following hooks are defined in From owner-dev-commits-src-branches@freebsd.org Sun Dec 27 22:45:37 2020 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0C0EA4C9F55; Sun, 27 Dec 2020 22:45: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 "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3wkS6zFbz3qpR; Sun, 27 Dec 2020 22:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 E238E732C; Sun, 27 Dec 2020 22:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 0BRMja0K087171; Sun, 27 Dec 2020 22:45:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 0BRMjasG087170; Sun, 27 Dec 2020 22:45:36 GMT (envelope-from git) Date: Sun, 27 Dec 2020 22:45:36 GMT Message-Id: <202012272245.0BRMjasG087170@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 7bb960ce6447 - stable/12 - MFC kern: cpuset: properly rebase when attaching to a jail 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 7bb960ce6447bd535e0fbb648e4d9edbb1dc067f Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Commit messages for the stable branches of the src repository." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2020 22:45:37 -0000 The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7bb960ce6447bd535e0fbb648e4d9edbb1dc067f commit 7bb960ce6447bd535e0fbb648e4d9edbb1dc067f Author: Kyle Evans AuthorDate: 2020-11-25 03:14:25 +0000 Commit: Kyle Evans CommitDate: 2020-12-27 21:44:23 +0000 MFC kern: cpuset: properly rebase when attaching to a jail The current logic is a fine choice for a system administrator modifying process cpusets or a process creating a new cpuset(2), but not ideal for processes attaching to a jail. Currently, when a process attaches to a jail, it does exactly what any other process does and loses any mask it might have applied in the process of doing so because cpuset_setproc() is entirely based around the assumption that non-anonymous cpusets in the process can be replaced with the new parent set. This approach slightly improves the jail attach integration by modifying cpuset_setproc() callers to indicate if they should rebase their cpuset to the indicated set or not (i.e. cpuset_setproc_update_set). If we're rebasing and the process currently has a cpuset assigned that is not the containing jail's root set, then we will now create a new base set for it hanging off the jail's root with the existing mask applied instead of using the jail's root set as the new base set. Note that the common case will be that the process doesn't have a cpuset within the jail root, but the system root can freely assign a cpuset from a jail to a process outside of the jail with no restriction. We assume that that may have happened or that it could happen due to a race when we drop the proc lock, so we must recheck both within the loop to gather up sufficient freed cpusets and after the loop. To recap, here's how it worked before in all cases: 0 4 <-- jail 0 4 <-- jail / process | | 1 -> 1 | 3 <-- process Here's how it works now: 0 4 <-- jail 0 4 <-- jail | | | 1 -> 1 5 <-- process | 3 <-- process or 0 4 <-- jail 0 4 <-- jail / process | | 1 <-- process -> 1 More importantly, in both cases, the attaching process still retains the mask it had prior to attaching or the attach fails with EDEADLK if it's left with no CPUs to run on or the domain policy is incompatible. The author of this patch considers this almost a security feature, because a MAC policy could grant PRIV_JAIL_ATTACH to an unprivileged user that's restricted to some subset of available CPUs the ability to attach to a jail, which might lift the user's restrictions if they attach to a jail with a wider mask. In most cases, it's anticipated that admins will use this to be able to, for example, `cpuset -c -l 1 jail -c path=/ command=/long/running/cmd`, and avoid the need for contortions to spawn a command inside a jail with a more limited cpuset than the jail. (cherry picked from commit d431dea5ac2aaab012f90182cf7ca13cc6dde5ea) --- sys/kern/kern_cpuset.c | 121 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 100 insertions(+), 21 deletions(-) diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index 7695f07983ac..288349633614 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -1138,14 +1138,63 @@ cpuset_setproc_setthread(struct cpuset *tdset, struct cpuset *set, domainlist); } +static int +cpuset_setproc_newbase(struct thread *td, struct cpuset *set, + struct cpuset *nroot, struct cpuset **nsetp, + struct setlist *cpusets, struct domainlist *domainlist) +{ + struct domainset ndomain; + cpuset_t nmask; + struct cpuset *pbase; + int error; + + pbase = cpuset_getbase(td->td_cpuset); + + /* Copy process mask, then further apply the new root mask. */ + CPU_COPY(&pbase->cs_mask, &nmask); + CPU_AND(&nmask, &nroot->cs_mask); + + domainset_copy(pbase->cs_domain, &ndomain); + DOMAINSET_AND(&ndomain.ds_mask, &set->cs_domain->ds_mask); + + /* Policy is too restrictive, will not work. */ + if (CPU_EMPTY(&nmask) || DOMAINSET_EMPTY(&ndomain.ds_mask)) + return (EDEADLK); + + /* + * Remove pbase from the freelist in advance, it'll be pushed to + * cpuset_ids on success. We assume here that cpuset_create() will not + * touch pbase on failure, and we just enqueue it back to the freelist + * to remain in a consistent state. + */ + pbase = LIST_FIRST(cpusets); + LIST_REMOVE(pbase, cs_link); + error = cpuset_create(&pbase, set, &nmask); + if (error != 0) { + LIST_INSERT_HEAD(cpusets, pbase, cs_link); + return (error); + } + + /* Duplicates some work from above... oh well. */ + pbase->cs_domain = domainset_shadow(set->cs_domain, &ndomain, + domainlist); + *nsetp = pbase; + return (0); +} + /* - * Handle three cases for updating an entire process. + * Handle four cases for updating an entire process. * - * 1) Set is non-null. This reparents all anonymous sets to the provided - * set and replaces all non-anonymous td_cpusets with the provided set. - * 2) Mask is non-null. This replaces or creates anonymous sets for every + * 1) Set is non-null and the process is not rebasing onto a new root. This + * reparents all anonymous sets to the provided set and replaces all + * non-anonymous td_cpusets with the provided set. + * 2) Set is non-null and the process is rebasing onto a new root. This + * creates a new base set if the process previously had its own base set, + * then reparents all anonymous sets either to that set or the provided set + * if one was not created. Non-anonymous sets are similarly replaced. + * 3) Mask is non-null. This replaces or creates anonymous sets for every * thread with the existing base as a parent. - * 3) domain is non-null. This creates anonymous sets for every thread + * 4) domain is non-null. This creates anonymous sets for every thread * and replaces the domain set. * * This is overly complicated because we can't allocate while holding a @@ -1154,15 +1203,15 @@ cpuset_setproc_setthread(struct cpuset *tdset, struct cpuset *set, */ static int cpuset_setproc(pid_t pid, struct cpuset *set, cpuset_t *mask, - struct domainset *domain) + struct domainset *domain, bool rebase) { struct setlist freelist; struct setlist droplist; struct domainlist domainlist; - struct cpuset *nset; + struct cpuset *base, *nset, *nroot, *tdroot; struct thread *td; struct proc *p; - int threads; + int needed; int nfree; int error; @@ -1178,21 +1227,49 @@ cpuset_setproc(pid_t pid, struct cpuset *set, cpuset_t *mask, nfree = 1; LIST_INIT(&droplist); nfree = 0; + base = set; + nroot = NULL; + if (set != NULL) + nroot = cpuset_getroot(set); for (;;) { error = cpuset_which(CPU_WHICH_PID, pid, &p, &td, &nset); if (error) goto out; - if (nfree >= p->p_numthreads) + tdroot = cpuset_getroot(td->td_cpuset); + needed = p->p_numthreads; + if (set != NULL && rebase && tdroot != nroot) + needed++; + if (nfree >= needed) break; - threads = p->p_numthreads; PROC_UNLOCK(p); - if (nfree < threads) { - cpuset_freelist_add(&freelist, threads - nfree); - domainset_freelist_add(&domainlist, threads - nfree); - nfree = threads; + if (nfree < needed) { + cpuset_freelist_add(&freelist, needed - nfree); + domainset_freelist_add(&domainlist, needed - nfree); + nfree = needed; } } PROC_LOCK_ASSERT(p, MA_OWNED); + + /* + * If we're changing roots and the root set is what has been specified + * as the parent, then we'll check if the process was previously using + * the root set and, if it wasn't, create a new base with the process's + * mask applied to it. + */ + if (set != NULL && rebase && nroot != tdroot) { + cpusetid_t base_id, root_id; + + root_id = td->td_ucred->cr_prison->pr_cpuset->cs_id; + base_id = cpuset_getbase(td->td_cpuset)->cs_id; + + if (base_id != root_id) { + error = cpuset_setproc_newbase(td, set, nroot, &base, + &freelist, &domainlist); + if (error != 0) + goto unlock_out; + } + } + /* * Now that the appropriate locks are held and we have enough cpusets, * make sure the operation will succeed before applying changes. The @@ -1203,7 +1280,7 @@ cpuset_setproc(pid_t pid, struct cpuset *set, cpuset_t *mask, thread_lock(td); if (set != NULL) error = cpuset_setproc_test_setthread(td->td_cpuset, - set); + base); else error = cpuset_setproc_test_maskthread(td->td_cpuset, mask, domain); @@ -1219,7 +1296,7 @@ cpuset_setproc(pid_t pid, struct cpuset *set, cpuset_t *mask, FOREACH_THREAD_IN_PROC(p, td) { thread_lock(td); if (set != NULL) - error = cpuset_setproc_setthread(td->td_cpuset, set, + error = cpuset_setproc_setthread(td->td_cpuset, base, &nset, &freelist, &domainlist); else error = cpuset_setproc_maskthread(td->td_cpuset, mask, @@ -1234,6 +1311,8 @@ cpuset_setproc(pid_t pid, struct cpuset *set, cpuset_t *mask, unlock_out: PROC_UNLOCK(p); out: + if (base != NULL && base != set) + cpuset_rel(base); while ((nset = LIST_FIRST(&droplist)) != NULL) cpuset_rel_complete(nset); cpuset_freelist_free(&freelist); @@ -1618,7 +1697,7 @@ cpuset_setproc_update_set(struct proc *p, struct cpuset *set) KASSERT(set != NULL, ("[%s:%d] invalid set", __func__, __LINE__)); cpuset_ref(set); - error = cpuset_setproc(p->p_pid, set, NULL, NULL); + error = cpuset_setproc(p->p_pid, set, NULL, NULL, true); if (error) return (error); cpuset_rel(set); @@ -1668,7 +1747,7 @@ sys_cpuset(struct thread *td, struct cpuset_args *uap) return (error); error = copyout(&set->cs_id, uap->setid, sizeof(set->cs_id)); if (error == 0) - error = cpuset_setproc(-1, set, NULL, NULL); + error = cpuset_setproc(-1, set, NULL, NULL, false); cpuset_rel(set); return (error); } @@ -1702,7 +1781,7 @@ kern_cpuset_setid(struct thread *td, cpuwhich_t which, set = cpuset_lookup(setid, td); if (set == NULL) return (ESRCH); - error = cpuset_setproc(id, set, NULL, NULL); + error = cpuset_setproc(id, set, NULL, NULL, false); cpuset_rel(set); return (error); } @@ -1981,7 +2060,7 @@ kern_cpuset_setaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which, error = cpuset_setthread(id, mask); break; case CPU_WHICH_PID: - error = cpuset_setproc(id, NULL, mask, NULL); + error = cpuset_setproc(id, NULL, mask, NULL, false); break; case CPU_WHICH_CPUSET: case CPU_WHICH_JAIL: @@ -2270,7 +2349,7 @@ kern_cpuset_setdomain(struct thread *td, cpulevel_t level, cpuwhich_t which, error = _cpuset_setthread(id, NULL, &domain); break; case CPU_WHICH_PID: - error = cpuset_setproc(id, NULL, NULL, &domain); + error = cpuset_setproc(id, NULL, NULL, &domain, false); break; case CPU_WHICH_CPUSET: case CPU_WHICH_JAIL: